Решить через подпрограмму и без "рандома" дано: массивы а(8),в(11). определить в каком массиве отрицательное число встречается раньше. номер первого отрицательного элемента в массиве находить в подпрограмме.

РЕЛАД РЕЛАД    2   09.06.2019 03:50    4

Ответы
help275 help275  08.07.2020 01:17
Const
  lim = 11;

type
  V = array[1..lim] of integer;

function FirstNegative(a: V; n: integer): integer;
var
  i: integer;
begin
  i := 0;
  Result := 0;
  repeat
    i := i + 1;
    if a[i] < 0 then Result := i
  until (Result > 0) or (i > lim)
end;

procedure InpMass(var a: V; var n: integer; mName: string);
// Организует ввод массива
var
  i, p: integer;
begin
  writeln('Вводите элементы массива ' + mName + '; 7777 - конец ввода');
  i := 0;
  repeat
    read(p);
    i := i + 1;
    if p <> 7777 then a[i] := p;
  until (p = 7777) or (i > lim);
  n := i - 1
end;

var
  a, b: V;
  m, n, p, q: integer;

begin
  InpMass(a, m, 'A');
  InpMass(b, n, 'B');
  p := FirstNegative(a, m);
  q := FirstNegative(b, n);
  if p <= q then writeln('Номер первого отрицательного элемента в массива А: ', p)
  else writeln('Номер первого отрицательного элемента в массива B: ', q)
end.

Тестовое решение:

Вводите элементы массива A; 7777 - конец ввода
37 14 -25 32 30 -29 38 27 7777
Вводите элементы массива B; 7777 - конец ввода
33  -36   23  -17   -3  -16  -33   33  -48  -39   30 7777
Номер первого отрицательного элемента в массива B: 2
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика