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
Const n=5; var i: integer; b: real; a: array [1..n] of integer; {если его элементы целые числа (про тип чисел ничего не сказано в задании)} begin for i:=1 to n do read(a[i]); if ((a[1]+a[3]) mod 5 = 0) and (a[5] mod 10 = 3) then begin b:=0; for i:=1 to 5 do b:=b+sqr(a[i]); end else begin b:=1; for i:=1 to 5 do b:=b*sqrt(a[i]); end; writeln(b:1:2); {округление до сотых} if (a[1]+a[2]+a[3])>15 then writeln('да, сумма 1, 2 и 3 чисел больше 15') else writeln('нет, сумма 1, 2 и 3 чисел меньше или равна 15'); if ((a[4]+a[5]) div 10>0) and ((a[4]+a[5]) div 100<0) then writeln('да, сумма 4 и 5 чисел - двузначное число') else writeln('нет, сумма 4 и 5 чисел - не двузначное число'); readln; {чтобы была задержка до нажатия кнопки при выполнении программы и мы могли бы увидеть ответ} end. Решить можно и без использования массива.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку