Написать программу в паскаль или исправить ошибку в моей программе. в матрице имеются как положительные так и отрицательные элементы.если отрицательных элементов больше половины, то значение элементов четных строк удвоить, в противном случае удвоить значения элементов только последнего столбца. моя программа: 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
Ответы на вопрос:
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.результат работы:
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
АРТЕМІДА55515.02.2021 09:06
-
annahdh13.01.2020 06:42
-
anna191919103.01.2022 06:13
-
Almurt19.04.2022 07:21
-
angelina051220017.12.2020 16:48
-
artenyancz24.04.2023 15:16
-
valovaliza201830.10.2020 01:14
-
rotorjec0813.12.2021 23:24
-
HsbHbaj08.01.2023 12:09
-
Artemmundryl26.04.2021 06:26
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.