Поиск элементов в массиве(Pascal)
Всем привет! есть задание Найти в массиве элементы, равные числу, заданному пользователем. Подсчитать их количество и вывести номер первого найденного элемента. Массив задается при помощи ввода с клавиатуры.
const count=10;
var a,b,
i: integer;
m: array [1..count] of integer;
begin
writeln ('Ввод исходного массива: ');
for i:=1 to count do
begin
write('Значение#', i, ':');
readln(m[i]);
end;
a:=0; b:=0
write('Введите число для поиска > ');
readln(n);
for i:=1 to count do {Поиск элемента, равного n}
if m[i]=n then
begin
if b=0 then a:=i;{Запоним номер первого эелемнта, равного n}
b:=b+1;{Увеличим число найденных элементов на 1}
end;
if b=0 then writeln('Нет таких элементов в массиве?'}
else
begin
writeln('Кол-во элементов массива, имеющих значение',n,'=',b:3);
writeln('Первый элемент имеет номер',a:3);
end
end.
Но все равно почему-то выдает ошибку, что надо исправить?
Ответы (1 шт):
Автор решения: Павел Ериков
→ Ссылка
Ниже пример рабочего кода. Если хотите узнать в чем были ошибки, сравните коды.
const count=10;
var
a,b,i,n: integer;
m: array [1..count] of integer;
begin
writeln ('Ввод исходного массива: ');
for i:=1 to count do
begin
writeln('Значение# ', i, ': ');
readln(m[i]);
end;
a:=0; b:=0;
writeln('Введите число для поиска > ');
readln(n);
for i:=1 to count do {Поиск элемента, равного n}
if m[i]=n then
begin
if b=0 then a:=i;{Запоним номер первого эелемнта, равного n}
b:=b+1;{Увеличим число найденных элементов на 1}
end;
if b=0 then
writeln('Нет таких элементов в массиве')
else
begin
writeln('Кол-во элементов массива, имеющих значение',n,'=',b:3);
writeln('Первый элемент имеет номер',a:3);
end
end.
Весь прикол в том, что я человек, который ниразу не кодил на паскале, просто открыл онлайн компилятор, который сказал где ошибки). Добавил пару табуляций для понимая и нашел еще одну ошибку.