Предмет: Информатика,
автор: haidar40
найдите сдесь ошибку и напишите в исправном виде пожалуйста учитель сказал что там ошибка есть var j,i,min,k,t:integer;
a:array [1..100] of integer;
begin a[1]:=5;a[2]:=4;a[3]:=7;a[4]:=2;a[5]:=9;a[6]:=6;
for j:=1 to 6 do
begin
min:=a[j];
for i:=j to 6 do
if min>a[i] then begin
min:=a[i];t:=i
end;
k:=a[j];a[j]:=min ;a[t]:=k;
write(j,')');
for i:=1 to 6 do
write(a[i],';');
writeln;
end;
end.
Ответы
Автор ответа:
0
Во первых, второй из вложенных циклов for i:=j to 6 заменить на for i:=j+1 to 6; во вторых, переменная t не инициализируется перед входом в цикл по i , и берется ее предыдущее значение
если на месте j уже стоит наименьшее число, поэтому, в строках for j:=1 to 6 do
begin
min:=a[j]; добавить после min:=a[j]; t:=j; после этого будет массив сортироваться по возрастанию.
если на месте j уже стоит наименьшее число, поэтому, в строках for j:=1 to 6 do
begin
min:=a[j]; добавить после min:=a[j]; t:=j; после этого будет массив сортироваться по возрастанию.
Похожие вопросы
Предмет: Математика,
автор: belgozaevdauren
Предмет: Информатика,
автор: tatyhdifh020
Предмет: Русский язык,
автор: elizaabdurakhimova
Предмет: Химия,
автор: EkaterinaBus7