Program example; const r = 20; type tm = array[1..r, 1..r]of integer; function getmax(var a: tm; n: integer; m: integer): integer; // возвращает значение максимального элемента в строке n массива а var j, max: integer; begin max : = -32767; for j : = 1 to m do if max < a[n, j] then max : = a[n, j]; getmax : = max end; function summax(var a: tm; n: integer; m: integer; p: integer; q: integer): integer; // проверяет условие n< =r, m< =r, при нарушении возвращает значение -32768 // полагает, что массив [1..n,1..m] размещен внутри массива a[1..r,1..r] // заполняет выбранную область массива а случайными числами из диапазона (p; q) // возвращает значение суммы максимальных элементов четных строк выбранной области. var i, j, s: integer; begin if (n > r) or (m > r) then summax : = -32767 else begin randomize; for i : = 1 to n do for j : = 1 to m do a[i, j] : = random(p + q) - p; s : = 0; i : = 2; while i < = n do begin s : = s + getmax(a, i, m); i : = i + 2 end; summax : = s end end; const n1 = 5; m1 = 3; n2 = 4; m2 = 4; n3 = 3; m3 = 7; var i, j, sum: integer; a: tm; begin sum : = summax(a, n1, m1, -30, 60); writeln('массив a[1..', m1, ',1..', n1, ']'); for i : = 1 to n1 do begin for j : = 1 to m1 do write(a[i, j]: 4); writeln; end; writeln('сумма максимумов четных строк массива a равна ', sum); sum : = summax(a, n2, m2, 0, 90); writeln('массив b[1..', m2, ',1..', n2, ']'); for i : = 1 to n2 do begin for j : = 1 to m2 do write(a[i, j]: 4); writeln; end; writeln('сумма максимумов четных строк массива b равна ', sum); sum : = summax(a, n3, m3, 20, 50); writeln('массив c[1..', m3, ',1..', n3, ']'); for i : = 1 to n3 do begin for j : = 1 to m3 do write(a[i, j]: 4); writeln; end; writeln('сумма максимумов четных строк массива c равна ', sum); end. контрольный пример: массив a[1..3,1..5] 47 55 48 51 45 49 32 47 53 54 31 33 56 50 36 сумма максимумов четных строк массива a равна 105 массив b[1..4,1..4] 85 49 72 13 66 57 22 54 67 63 76 53 79 2 38 88 сумма максимумов четных строк массива b равна 154 массив c[1..7,1..3] 46 18 36 -10 31 24 -3 22 32 29 39 21 41 -19 9 48 47 -1 4 29 11 сумма максимумов четных строк массива c равна 41
Akvamontaz
02.09.2021
Впредложении "персональный компьютер фирмы apple" имеются 4 слова, отделенные друг от друга 3 пробелами. из примера видно, что количество слов в строке можно определить как сумму имеющихся в строке пробелов плюс единица. program help; uses crt; var i,k,ks,1: integer; с: char; s: string; begin clrscr; writeln('введите строку. ввод завершите нажатием клавиши enter'); writeln; readln(s) ; l: =length(s); k: =0; (k - счетчик количества пробелов} for i: = 1 to 1 do begin c: =s; if c=' ' then k: =k+l end; ks: =k+l; writeln; writeln('количество слов в данной строке составляет ',ks); readln end.