Найти наименьший нечетный элемент в одномерном массиве - Turbo Pascal
Формулировка задачи:
Вот что у меня получилось
Где ошибка?Или она совсем не правильная?
Решение задачи: «Найти наименьший нечетный элемент в одномерном массиве»
textual
Листинг программы
var a:array [1..100] of integer;
min,i,n,s:integer;
begin
write('Введите размер массива от 1 до 100 n=');
readln(n);
writeln('Введите элементы массива, целые числа');
for i:=1 to n do readln(a[i]);
min:=0;
for i:=1 to n do
if odd(a[i])then
begin
if min=0 then min:=a[i]
else if a[i]<min then min:=a[i];
end;
if min=0 then write('Нечетных элементов нет')
else write('Минимальный нечетный=',min);
end.
Объяснение кода листинга программы
- Создается переменная
aтипаarrayс диапазоном от 1 до 100 и 100 элементами типаinteger. - Задаются четыре переменные:
min,i,n,sтипаinteger. - Выводится сообщение для ввода размера массива от 1 до 100.
- Считывается размер массива от пользователя.
- Выводится сообщение для ввода элементов массива, целых чисел.
- В цикле от 1 до n считываются элементы массива от пользователя.
- Переменная
minинициализируется значением 0. - В цикле от 1 до n проверяется каждый элемент массива
a[i]. - Если элемент
a[i]нечетный, то проверяется условие: еслиminравно 0, то присваивается значениеa[i]переменнойmin, иначе еслиa[i]меньшеmin, то присваивается значениеa[i]переменнойmin. - Если
minравно 0, выводится сообщениеНечетных элементов нет. - Иначе выводится сообщение
Минимальный нечетный=, значение переменнойmin. - Цикл завершается.