Предмет: Информатика,
автор: IrinaAway
Ввести число С. Определить, есть ли в массиве элемент, равный С. Найти
• номер первого такого элемента
• номер последнего такого элемента
Вот моя программа. Я не могу понять ошибку. Она не показывает номер первого такого элемента. Обнуляет его почему-то.
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.
Ответы
Автор ответа:
0
var a: array [1 .. 10] of integer;
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.
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.
Приложения:
Похожие вопросы
Предмет: Математика,
автор: Фике
Предмет: Английский язык,
автор: Аноним
Предмет: Українська мова,
автор: ludavolvat
Предмет: Геометрия,
автор: omskbird00D
Предмет: Математика,
автор: Аноним