Есть ответ 👍

Написать программу в паскаль или исправить ошибку в моей программе. в матрице имеются как положительные так и отрицательные элементы.если отрицательных элементов больше половины, то значение элементов четных строк удвоить, в противном случае удвоить значения элементов только последнего столбца. моя программа: f: text; begin assign (f,'informat8.txt'); reset(f); writeln( 'исходная матрица'); for i: =1 to n do begin for j: =1 to n do begin read(f,b[i,j]); write (b[i,j]: 8: 2); end; writeln; end; writeln; n1: =0; for i: =1 to n do for j: =1 to n do if b[i,j]< 0 then n1: =n1+1; if n> =round(n/2) then begin for i: =1 to n do begin if not odd(i) then begin for j: =1 to n do b[i,j]: =b[i,j]*2; end; end; end; for i: = 1 to n do b[i,j]: =b[i,j]*2; writeln ('результирующая матрица'); for i: = 1 to n do begin for j: = 1 to n do write (b[i,j]: 8: 2); write; end; writeln('n=',n); end.

259
335
Посмотреть ответы 2

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


Var   f: text;   i, j, n, n1: integer;   matrix: array[,] of real; begin   assign(f, 'informat8.txt');   reset(f);   //найдём количество строк в матрице   while not eof(f) do     begin     readln(f);     inc(n);   end;   writeln('исходная матрица размерности ', n, 'x', n);   //инициализируем массив (размерность узнали выше)   matrix : = new real[n, n];   reset(f);   // далее работаем с матрицей размерности  [0..n-1] (инициализация происходит, начиная с 0)   for i : = 0 to n - 1 do   begin     for j : = 0 to n - 1 do     begin       read(f, matrix[i, j]);       write(matrix[i, j]: 8: 2);     end;     readln(f);     writeln;   end;   writeln;   n1 : = 0;   for i : = 0 to n - 1 do     for j : = 0 to n - 1 do       if matrix[i, j] < 0 then inc(n1);   if n1 > round(n * n / 2) then   begin     writeln('отрицательных элементов больше половины');     //удваиваем элементы в чётных строках     for i : = 0 to n - 1 do     begin       if odd(i) then begin         for j : = 0 to n - 1 do             matrix[i, j] : = matrix[i, j] * 2;       end;     end;   end else   begin     writeln('отрицательных элементов меньше половины или ровно половина');     //удваиваем элементы последнего столбца     for i : = 0 to n - 1 do       matrix[i, n - 1] : = matrix[i, n - 1] * 2;   end;       writeln('результирующая матрица');   for i : = 0 to n - 1 do  begin     for j : = 0 to n - 1 do       write(matrix[i, j]: 8: 2);     writeln;   end; end.результат работы:
Nathoe789
4,7(30 оценок)

1) ответ: 14 2) ответ: 73 3) ответ: 24

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

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

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

Caktus Image

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

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

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

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

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

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

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

GTP TOP NEWS