Составить программу на языке паскаль. дана целочисленная прямоугольная матрица. найти количество строк, среднее арифметическое элементов которых меньше заданной величины. ( оформить в виде функции).
170
449
Ответы на вопрос:
// pascalabc.net 3.0, сборка 1064 // "классическое" решение const nn=20; type sqmatrix=array[1..nn,1..nn] of integer; function avgrow(row,cols: integer; a: sqmatrix): double; var j,s: integer; begin s: =0; for j: =1 to cols do s: =s+a[row,j]; avgrow: =s/cols end; var i,j,n,k: integer; cavg: double; m: sqmatrix; begin write('количество строк (столбцов) в матрице: '); read(n); write('ограничение для среднего арифметического: '); read(cavg); randomize; // инициализация и вывод исходной матрицы writeln('*** сгенерированная матрица ***'); for i: =1 to n do begin for j: =1 to n do begin m[i,j]: =random(51)-20; write(m[i,j]: 4) end; writeln end; // собственно, решение k: =0; for i: =1 to n do if avgrow(i,n,m)< cavg then inc(k); writeln('количество отобранных строк равно ',k) end. тестовое решение: количество строк (столбцов) в матрице: 10 ограничение для среднего арифметического: 2 *** сгенерированная матрица *** -5 10 29 25 23 0 -17 5 -19 -4 4 -10 -4 13 3 -15 17 16 -4 -18 -6 24 -4 19 -16 -15 11 -4 14 -3 -7 -5 -10 -2 -17 19 -16 -2 4 -10 26 25 29 -8 27 20 13 -10 -9 9 -3 -11 18 -12 0 2 -7 -10 20 17 19 18 22 14 -18 -11 -20 28 9 15 -19 -1 -9 -15 -13 -1 25 -16 22 -5 3 1 -16 -16 -20 -17 8 -18 28 12 5 24 8 18 2 -12 -17 -6 -11 18 количество отобранных строк равно 5 второе решение дано для демонстрации возможностей современного паскаля. оно не подходит в качестве ответа в той части, что не использует отдельную функцию для нахождения среднего. по лаконичности записи оно вполне может соперничать с постепенно набирающим популярность языком, как python // pascalabc.net 3.0, сборка 1064 // решение, использующее возможности версии 3.0 var n: integer; cavg: double; m: array of array of integer; begin write('количество строк (столбцов) в матрице: '); read(n); write('ограничение для среднего арифметического: '); read(cavg); // инициализация и вывод исходной матрицы writeln('*** сгенерированная матрица ***'); setlength(m, n); for var i : = 0 to n - 1 do begin m[i] : = arrrandom(n, -25, 25); m[i].println end; // собственно, решение var k: =m.select(x-> x.average < cavg).count(x-> x=true); writeln('количество отобранных строк равно ', k) end. тестовое решение: количество строк (столбцов) в матрице: 10 ограничение для среднего арифметического: 2 *** сгенерированная матрица *** -23 -13 13 20 20 -6 22 9 15 -12 8 12 20 -12 -10 16 -1 10 13 1 17 -16 -8 20 1 24 9 -8 4 15 12 7 -9 21 13 11 15 -25 -10 -24 1 3 16 15 -3 -17 23 -12 -15 4 8 -2 10 -17 23 19 20 19 -7 21 11 5 -21 25 1 -24 -4 24 0 5 -24 -1 -6 12 -25 -11 -6 2 -2 -7 -25 -5 -19 -25 -18 -11 23 -18 24 20 16 22 7 -6 -10 22 -2 16 -12 -4 количество отобранных строк равно 4
Var s1,s2,s3: string; a: integer; begin write('введите первую строку: '); readln(s1); write('введите вторую строку: '); readln(s2); write('введите третью строку: '); readln(s3); a: =s1.length; if a< s2.length then a: =s2.length; if a< s3.length then a: =s3.length; writeln('наибольшая длина: ',a); end.
Популярно: Информатика
-
JodiRimmet2720.10.2021 17:13
-
tim1963yt30.09.2022 07:50
-
nazek12199217.05.2022 06:28
-
ииоииири23.10.2020 23:19
-
jkh4094907.03.2021 22:32
-
romanchukana05.06.2021 22:54
-
Despair170427.10.2020 02:51
-
1XyJIuraH121.08.2022 16:08
-
маріна201715.06.2020 01:40
-
belevich03119717.04.2020 19:29