Ввести число с. определить, есть ли в массиве элемент, равный с. найти • номер первого такого элемента • номер последнего такого элемента вот моя программа. я не могу понять ошибку. она не показывает номер первого такого элемента. обнуляет его почему-то. 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.

sasha10072004 sasha10072004    3   13.09.2019 07:20    1

Ответы
olyaevdokimova olyaevdokimova  07.10.2020 11:20
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.

Ввести число с. определить, есть ли в массиве элемент, равный с. найти • номер первого такого элемен
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика