Задачи 1 ) Задан двумеpный массив А из N стpок и М столбцов. Найти сpеднее аpифметическое СА элементов массива. Если СА меньше 0 , то заменить наибольший отpицательный элемент массива на СА , иначе заменить все положительные ...

Задачи 1 ) Задан двумеpный массив А из N стpок и М столбцов. Найти сpеднее аpифметическое СА элементов массива. Если СА < 0 , то заменить наибольший отpицательный элемент массива на СА , иначе заменить все положительные элементы массива на СА. Задание 2) Задан квадpатный массив А из N стpок и N столбцов, элементами котоpого являются нули и единицы. Установить в нем количество единичных столбцов и нулевых стpок. Задание3) Задан двумеpный целочисленный массив А из N стpок и N столбцов Массив состоит из констант от 0 до 9. Необходимо постpоить одномеpный массив В длиной 10 , элементами котоpого являются числа повтоpов этих констант. ПАСКАЛЬ
Гость
Ответ(ы) на вопрос:
Гость
Задание 1) // PascalABC.NET 3.2, сборка 1362 от 14.12.2016 // Внимание! В других версиях языка работа не гарантируется! begin   var m:=ReadInteger('Количество строк в массиве:');   var n:=ReadInteger('Количество столбцов в массиве:');   var a:=MatrRandomReal(m,n,-50,50);   Writeln('*** Исходный массив A[',m,',',n,'] ***');   a.Println(7,2); Writeln(7*a.ColCount*'-');   var ca:=a.Rows.SelectMany(x->x).Sum/m/n;   Writeln('СА=',ca);   if ca<0 then begin     var im,jm:integer;     (im,jm):=(-1,-1);     for var i:=0 to m-1 do       for var j:=0 to n-1 do         if (a[i,j]<0) then begin           if im=-1 then (im,jm):=(i,j)           else if a[i,j]>a[im,jm] then (im,jm):=(i,j) end;     a[im,jm]:=ca     end   else     for var i:=0 to m-1 do       for var j:=0 to n-1 do         if a[i,j]>0 then a[i,j]:=ca;   Writeln('*** Результирующий массив A[',m,',',n,'] ***');   a.Println(7,2) end. Примеры Количество строк в массиве: 5 Количество столбцов в массиве: 6 *** Исходный массив A[5,6] ***   28.98 -24.01 -48.61  34.13   5.29 -16.63   15.50  10.61  24.22  21.38 -31.50  20.72  -10.44  -3.96 -36.47  -7.78 -11.06   3.63  -38.58  47.71 -36.86  13.46  14.95  27.17  -15.89 -19.08 -17.70  24.73 -21.29  13.00 ------------------------------------------ СА=-1.14531650882151 *** Результирующий массив A[5,6] ***   28.98 -24.01 -48.61  34.13   5.29 -16.63   15.50  10.61  24.22  21.38 -31.50  20.72  -10.44  -1.15 -36.47  -7.78 -11.06   3.63  -38.58  47.71 -36.86  13.46  14.95  27.17  -15.89 -19.08 -17.70  24.73 -21.29  13.00 Количество строк в массиве: 4 Количество столбцов в массиве: 7 *** Исходный массив A[4,7] ***   43.37   1.94  35.69  41.42 -35.34 -30.78  19.75  -11.69   8.24 -46.34  12.28  41.78  14.78  10.01  -23.17  12.89  -8.27  19.17   0.50  39.31  -7.97  -32.21  32.20 -13.57 -49.98  43.38 -17.40  43.15 ------------------------------------------------- СА=5.11226028308976 *** Результирующий массив A[4,7] ***    5.11   5.11   5.11   5.11 -35.34 -30.78   5.11  -11.69   5.11 -46.34   5.11   5.11   5.11   5.11  -23.17   5.11  -8.27   5.11   5.11   5.11  -7.97  -32.21   5.11 -13.57 -49.98   5.11 -17.40   5.11 Задание 2) // PascalABC.NET 3.2, сборка 1362 от 14.12.2016 // Внимание! В других версиях языка работа не гарантируется! begin   var n:=ReadInteger('N=');   Writeln('Вводите элементы массива построчно');   var a:=MatrFill(n,n,0);   for var i:=0 to n-1 do     for var j:=0 to n-1 do Read(a[i,j]);   var k:=0;   foreach var v in a.Rows do     if v.All(x->x=0) then k+=1;   if k>0 then Writeln('Количество нулевых строк равно ',k)   else begin     foreach var v in a.Cols do     if v.All(x->x=1) then k+=1;     if k>0 then Writeln('Количество единичных столбцов равно ',k)     end;   Writeln('Работа завершена') end. Пример N= 4 Вводите элементы массива построчно 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 Количество единичных столбцов равно 1 Работа завершена Задание 3) // PascalABC.NET 3.2, сборка 1362 от 14.12.2016 // Внимание! Если программа не работает, обновите версию! begin   var n:=ReadInteger('N=');   var a:=MatrRandom(n,n,0,9); a.Println(2);   var b:=ArrFill(10,0);   foreach var x in a.Rows.SelectMany(x->x) do b[x]+=1;   b.Select((x,i)->(i,x)).Println end. Пример N= 20  9 5 1 6 8 0 9 4 6 4 7 0 4 4 7 9 3 0 1 1  6 4 1 0 6 8 8 9 8 2 0 0 4 0 3 1 8 8 5 7  6 1 5 8 6 6 0 5 4 3 6 4 9 9 5 5 4 0 0 0  2 9 6 3 4 6 6 4 0 5 0 4 5 4 4 5 9 3 3 9  8 2 5 4 5 5 1 4 5 8 7 8 7 5 4 7 5 1 3 9  0 6 4 8 2 1 9 4 4 9 6 1 6 1 2 9 3 1 7 9  5 1 8 2 8 2 7 0 9 7 9 7 9 4 8 1 8 7 2 4  6 6 9 5 2 5 1 6 2 5 3 3 3 4 3 9 7 1 0 9  4 8 5 7 9 8 2 2 2 0 0 6 9 3 2 9 1 3 0 2  1 0 7 3 4 6 4 5 0 9 4 6 7 2 9 7 0 2 5 3  3 9 3 2 4 6 4 9 1 3 7 3 1 7 8 4 0 1 2 3  4 6 1 3 5 4 9 7 4 5 9 9 8 6 9 2 6 5 9 7  2 4 3 6 2 1 5 9 4 5 6 8 9 1 9 6 7 0 7 0  6 6 5 6 4 7 5 4 7 5 7 5 2 5 1 0 2 5 0 4  8 9 3 8 8 0 0 6 7 2 5 6 7 8 1 5 8 7 1 5  5 1 2 8 8 1 5 4 0 9 4 2 0 2 1 6 3 6 7 4  7 8 6 5 0 1 7 4 3 5 1 5 3 5 8 7 7 5 0 7  4 5 6 8 8 2 5 5 7 4 1 2 9 7 7 7 4 6 7 6  3 1 0 4 7 8 8 4 4 3 8 8 5 0 9 1 2 7 6 7  5 2 7 9 4 8 5 5 7 1 3 0 7 3 4 3 5 1 0 9 (0,37) (1,37) (2,32) (3,32) (4,50) (5,51) (6,39) (7,45) (8,36) (9,41)
Не нашли ответ?
Ответить на вопрос
Похожие вопросы