Есть ответ 👍

Вводятся две вещественные прямоугольные матрицы размером m*n и k*l (m,n,k,l < =20). для той матрицы, у которой сумма элементов, лежащих до первого отрицательного элемента, больше (искать по строкам), составить одномерный массив из средних арифметических значений элементов нечетных столбцов матрицы и отсортировать его в порядке возрастания элементов. вывести на печать саму матрицу, найденную сумму элементов и отсортированный одномерный массив. алгоритм сопровождать соотв. сообщениями. использовать не менее 3 подпрограмм. pascalabc.net

133
329
Посмотреть ответы 3

Ответы на вопрос:


// pascalabc.net 3.3    var c: array of real; begin   writeln('1 матрица: ');   var m: =readinteger('m =');   var n: =readinteger('n ='); //  var a: =readmatrreal(m,n);   var a: =matrrandomreal(m,n,-3,7).println(6);   writeln('2 матрица: ');   var k: =readinteger('k =');   var l: =readinteger('l ='); //  var b: =readmatrreal(k,l);   var b: =matrrandomreal(k,l,-3,7).println(6);   var s1: =a.elementsbyrow.takewhile(x-> x> =0).sum;   writeln('s1 = ',s1);   var s2: =b.elementsbyrow.takewhile(x-> x> =0).sum;   writeln('s2 = ',s2);   if s1> s2     then begin     c: =arrfill(a.getlength(1) div 2,0.0);     foreach var j in seqwhile(1,x-> x+2,x-> x< a.getlength(1)) do       c[(j-1) div 2]: =a.col(j).average;     end     else begin     c: =arrfill(b.getlength(1) div 2,0.0);     foreach var j in seqwhile(1,x-> x+2,x-> x< b.getlength(1)) do       c[(j-1) div 2]: =b.col(j).average;     end;     writeln('полученный массив: '); c.println;     sort(c);     writeln('отсортированный массив: '); c.print; end. пример: 1 матрица: m = 3 n = 6   0.38  4.94  1.57 -2.49  6.67  2.50   2.97 -1.44 -1.44  0.42  4.04 -2.54   5.18  0.32 -1.90 -0.09  3.79  0.12 2 матрица: k = 2 l = 7   4.92  2.57  3.57  3.05  2.62  5.29  6.17   6.62  2.17  5.80  1.31  2.55 -2.75  4.91 s1 = 6.88926995447337 s2 = 46.640484614596 полученный массив: 2.37028874986353 2.18293672249789 1.26664565655712 отсортированный массив: 1.26664565655712 2.18293672249789 2.37028874986353

// pascalabc.net 3.3, сборка 1590 от 03.12.2017 // внимание! если программа не работает, обновите версию! function newmatrix(c: string): array[,] of real; // формирует случайную матрицу указанного размера begin   var (m,n): =readinteger2('число строк и столбцов в матрице '+c+': ');   result: =matrrandomreal(m,n,-99,999);   result.transform(t-> round(t)/10) end; procedure showmatrix(c: string; a: array[,] of real); // выводит матрицу на монитор begin   writeln('*** матрица ',c,' ***');   a.println(6,1); writeln(6*a.colcount*'='); end; function partsum(a: array[,] of real): =a.elementsbyrow.takewhile(t-> t> =0).sum; // сумма элементов по строкам до первого отрицательного function getarray(a: array[,] of real): array of real; // строит искомый одномерный массив begin   var b: =new list< real> ;   var i: =1;   while i< =a.colcount-1 do begin       b.add(a.col(i).average);       i+=2;       end;   b.sort;   result: =b.toarray end; begin   var a: =newmatrix('a');   var b: =newmatrix('b');   showmatrix('a',a);   var sa: =partsum(a);   writeln('частичная сумма равна ',sa);   showmatrix('b',b);   var sb: =partsum(b);   writeln('частичная сумма равна ',sb);   var c: =getarray(sa> sb? a: b); // матрица с большей частичной суммой   write('построенный массив: '); c.println end. пример число строк и столбцов в матрице a: 4 7 число строк и столбцов в матрице b: 5 6 *** матрица a ***     5.5  68.9  30.6  15.6    8.6  58.7  31.1   51.2  11.1  84.2    4.0  68.0  -4.8  32.7   28.8  65.3    6.2  33.3  94.5  81.5  34.9   -6.1  81.0  -8.0  77.7  -2.8  -6.4  81.7 ========================================== частичная сумма равна 437.5 *** матрица b ***   66.3  34.9  52.2  -8.7  57.9    1.9   81.7  -2.4  80.1    3.8  22.3  64.2   -5.8  94.4  22.7    5.3  80.4  46.6   77.1  41.4    7.9  18.6    8.3  32.7   29.8    2.3  82.6    1.7  87.8  28.6 ==================================== частичная сумма равна 153.4 построенный массив: 32.25 32.65 56.575

Надо получить высокий уровень, то есть больше отвечать на вопросы. новички не могут написать

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS