1) Программа ищет определенное число в массиве, определяет, сколько раз это число встречается в нём и выводит индекс (читай - номер) самой первой ячейки, в которой оно было обнаружено.
2) Для ввода значений с клавиатуры используется функция readln, замкнутая в цикл с счетчиком for. Она последовательно вводит каждое значение в массив с переходом на новую строку.
3) Для вывода информации о количестве повторяющихся элементов используется функция writeln, выводящая все вложенные значения и переходящая на новую строку.
4) Размерность массива = 10, т.к. инициализируется он строкой
a: array [1..count] of integer
где count - константа, заданная в начале программы. Она = 10, следовательно, номер самого высшего элемента тоже будет равен 10.
Неправильно написан поиск минимального и максимального элементов:
Program j;
uses crt;
const n=10;
var a: array [1..n] of integer;
i,min,max:integer;
begin
min:=1; max:=1;
Writeln ('Введите элементы массива');
For i:=1 to n do
Begin
Write ('a[',i: 2,']=');
Readln(a[i]);
End;
Writeln ('Контрольный вывод массива: ');
For i:=1 to n do
Writeln('a[',i:2,']=',a[i]:4);
for i:=1 to n do
begin
if a[i]>a[max] then max:=i;
if a[i]<a[min] then min:=i;
end;
writeln('Максимальный элемент массива ',a[max],' под номером ',max);
writeln('Минимальный элемент массива ',a[min],' под номером ',min);
end.
Выделенное жирным шрифтом - исправленный вариант.
Теперь программа корректно ищет и минимальный и максимальный элементы, при том проходя массив полностью, а не до первого совпадения, как было в исходной версии.
1) Программа ищет определенное число в массиве, определяет, сколько раз это число встречается в нём и выводит индекс (читай - номер) самой первой ячейки, в которой оно было обнаружено.
2) Для ввода значений с клавиатуры используется функция readln, замкнутая в цикл с счетчиком for. Она последовательно вводит каждое значение в массив с переходом на новую строку.
3) Для вывода информации о количестве повторяющихся элементов используется функция writeln, выводящая все вложенные значения и переходящая на новую строку.
4) Размерность массива = 10, т.к. инициализируется он строкой
a: array [1..count] of integer
где count - константа, заданная в начале программы. Она = 10, следовательно, номер самого высшего элемента тоже будет равен 10.
Неправильно написан поиск минимального и максимального элементов:
Program j;
uses crt;
const n=10;
var a: array [1..n] of integer;
i,min,max:integer;
begin
min:=1; max:=1;
Writeln ('Введите элементы массива');
For i:=1 to n do
Begin
Write ('a[',i: 2,']=');
Readln(a[i]);
End;
Writeln ('Контрольный вывод массива: ');
For i:=1 to n do
Writeln('a[',i:2,']=',a[i]:4);
for i:=1 to n do
begin
if a[i]>a[max] then max:=i;
if a[i]<a[min] then min:=i;
end;
writeln('Максимальный элемент массива ',a[max],' под номером ',max);
writeln('Минимальный элемент массива ',a[min],' под номером ',min);
end.
Выделенное жирным шрифтом - исправленный вариант.
Теперь программа корректно ищет и минимальный и максимальный элементы, при том проходя массив полностью, а не до первого совпадения, как было в исходной версии.