Определить, сколько места занимает в динамической памяти данный массив - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Даны квадратная матрица A. Элементы вектора и матрицы задаются случайным образом. Размерность матрицы не ограничена (в рамках динамической памяти), задается с клавиатуры. Определить, сколько места занимает в динамической памяти данный массив, а так же определить: 1) сумму элементов по периметру матрицы и под побочной диагональю. 2) наибольшее из значений элементов первой строки и последнего столбца.

Решение задачи: «Определить, сколько места занимает в динамической памяти данный массив»

textual
Листинг программы
var a:array[,] of integer;
    n,i,j,sp,sd,mx:integer;
begin
randomize;
writeln('Введите размер матрицы');
readln(n);
setlength(a,n,n);
writeln('Объем памяти под матрицу=',sizeof(integer)*n*n,' байт');
sd:=0;
writeln('Исходная матрица');
mx:=a[0,0];
for i:=0 to n-1 do
 begin
  for j:=0 to n-1 do
   begin
    a[i,j]:=1+random(10);
    write(a[i,j]:3);
    if j>n-i-1 then sd:=sd+a[i,j];//ниже побочной диагонали
    if ((i=0)or(j=n-1))and(a[i,j]>mx) then mx:=a[i,j];//максимум
   end;
  writeln 
 end;
sp:=0;
for i:=0 to n-2 do
sp:=sp+a[0,i]+a[i,n-1]+a[i+1,0]+a[n-1,i+1];//периметр
writeln('Сумма элементов периметра=',sp);
writeln('Сумма элементов ниже побочной диагонали=',sd);
writeln('Максимальный элемент первой строки и последнего столбца=',mx) 
end.

Объяснение кода листинга программы

  1. Объявляются переменные:
    • a: массив размером n на n, заполненный случайными числами от 1 до 10
    • n: размер матрицы
    • i, j: индексы для обхода матрицы
    • sp: сумма элементов периметра
    • sd: сумма элементов ниже побочной диагонали
    • mx: максимальный элемент первой строки и последнего столбца
  2. Задается размер матрицы
  3. Выводится объем памяти под матрицу
  4. Выводится исходная матрица
  5. Вычисляется сумма элементов ниже побочной диагонали
  6. Вычисляется максимальный элемент первой строки и последнего столбца
  7. Вычисляется сумма элементов периметра
  8. Выводится сумма элементов периметра
  9. Выводится сумма элементов ниже побочной диагонали
  10. Выводится максимальный элемент первой строки и последнего столбца

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5
Похожие ответы