Найдите сдесь ошибку и напишите в исправном виде пожалуйста учитель сказал что там ошибка есть 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 ...

Найдите сдесь ошибку и напишите в исправном виде пожалуйста учитель сказал что там ошибка есть 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.
Гость
Ответ(ы) на вопрос:
Гость
Во первых, второй из вложенных циклов 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;  после этого будет массив сортироваться по возрастанию.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы