Вопрос задан 19.07.2023 в 21:49. Предмет Информатика. Спрашивает Зонтова Дарья.

Дан массив P(n,n,). Элементы выше главной диагонали заменить на ноль,а ниже главной

диагонали-округлить. Написать программу в PascalABC,пожалуйста
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Скороход Валерия.

const n=6;

var

p:array[1..n,1..n] of real;

i,j:integer;

begin

Randomize;

writeln('Исходный массив:');

for i:=1 to n do

begin

for j:=1 to n do

 begin

  p[i,j]:=10*random-5;

  write(p[i,j]:6:1);

 end;

 writeln;

end;

for i:=1 to n do begin

for j:=1 to i-1 do p[i,j]:=round(p[i,j]);

for j:=i+1 to n do p[i,j]:=0;

end;

writeln('Полученный массив:');

for i:=1 to n do

begin

for j:=1 to n do write(p[i,j]:6:1);

writeln;

end;

end.

Пример:

Исходный массив:

 -1.8   4.9  -1.2   3.2   1.9  -2.0

  4.5   4.9   4.8  -0.6  -2.5   1.2

  2.3   0.3   1.1   0.3  -3.0   2.5

  1.7  -0.5   2.2  -3.6  -3.6  -4.4

 -0.4  -4.7   1.9  -3.8  -0.7   0.1

 -4.4  -3.2  -4.5  -4.8   1.5   3.4

Полученный массив:

 -1.8   0.0   0.0   0.0   0.0   0.0

  5.0   4.9   0.0   0.0   0.0   0.0

  2.0   0.0   1.1   0.0   0.0   0.0

  2.0  -1.0   2.0  -3.6   0.0   0.0

  0.0  -5.0   2.0  -4.0  -0.7   0.0

 -4.0  -3.0  -5.0  -5.0   1.0   3.4

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно! Вот пример программы на PascalABC, которая выполняет заданное действие с массивом:

pascal
program Main; const n = 5; // Здесь можно задать размерность массива type Matrix = array[1..n, 1..n] of Real; procedure InitializeMatrix(var P: Matrix); var i, j: Integer; begin // Здесь можно заполнить массив значениями (если нужно) for i := 1 to n do for j := 1 to n do P[i, j] := i + j; // Пример заполнения, можно изменить на другое значение end; procedure PrintMatrix(const P: Matrix); var i, j: Integer; begin for i := 1 to n do begin for j := 1 to n do Write(P[i, j]:8:2, ' '); Writeln; end; end; procedure ProcessMatrix(var P: Matrix); var i, j: Integer; begin for i := 1 to n do for j := i + 1 to n do P[i, j] := 0; // Заменяем элементы выше главной диагонали на ноль for i := 1 to n do for j := 1 to i - 1 do P[i, j] := Round(P[i, j]); // Округляем элементы ниже главной диагонали end; var P: Matrix; begin InitializeMatrix(P); Writeln('Исходный массив P:'); PrintMatrix(P); ProcessMatrix(P); Writeln('Массив P после обработки:'); PrintMatrix(P); Readln; end.

В этой программе определены три процедуры:

  1. InitializeMatrix: Эта процедура заполняет массив P значениями (можно заменить на свои значения) или оставить его без инициализации, чтобы вручную вводить элементы.

  2. PrintMatrix: Эта процедура выводит матрицу на экран.

  3. ProcessMatrix: Эта процедура заменяет элементы выше главной диагонали на ноль и округляет элементы ниже главной диагонали.

Программа создает массив P размерности n x n, заполняет его значениями (можно изменить или ввести свои значения), затем выводит исходный массив на экран, выполняет обработку массива согласно заданию и выводит обработанный массив.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос