Ввести число с. определить, есть ли в массиве элемент, равный с. найти • номер первого такого элемента • номер последнего такого элемента вот моя программа. я не могу понять ошибку. она не показывает номер первого такого элемента. обнуляет его почему-то. var a: array[1..10] of integer; i, b, e, f, d, c: integer; begin d: = 1; f: = 1; write ('введите число c: '); readln (c); writeln; for i: = 1 to 10 do begin write('a[',i,'] = '); readln(a[i]); end; for i: = 1 to 10 do if a[i] = c then e: = e+1; writeln; if e > 0 then writeln ('в массиве нашлось число, равное с'); writeln; for i: = 1 to 10 do begin if (a[i] = c) then b: = i; if f > b then f: = b; end; writeln ('первое такое число a[',f,']'); for i: = 1 to 10 do begin if (a[i] = c) then b: = i; if d < b then d: = b; end; writeln ('последнее такое число a[',d,']'); end.
i, Count, C, tmpLast, tmpFirst: integer;
begin
write('Введите число C: ');
readln(C);
writeln;
for i := 1 to 10 do
begin
write('a[', i, '] = ');
readln(a[i]);
if a[i] = C then
begin
Count := Count + 1;
tmpLast := i;
end;
end;
writeln;
if (Count = 0) then writeln('В массиве нет числа равное С')
else
begin
writeln('В массиве нашлось число, равное С');
if (Count = 1) then
writeln('Первое и единственное число в позиции a[', tmpLast, ']')
else
begin
i := 0;
repeat
i := i + 1;
tmpFirst := i;
until (a[i] = C);
writeln('Первое такое число a[', tmpFirst, ']');
writeln('Последнее такое число a[', tmpLast, ']');
end;
end;
readln;
end.