Определить, сколько места занимает в динамической памяти данный массив - 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.
Объяснение кода листинга программы
- Объявляются переменные:
- a: массив размером n на n, заполненный случайными числами от 1 до 10
- n: размер матрицы
- i, j: индексы для обхода матрицы
- sp: сумма элементов периметра
- sd: сумма элементов ниже побочной диагонали
- mx: максимальный элемент первой строки и последнего столбца
- Задается размер матрицы
- Выводится объем памяти под матрицу
- Выводится исходная матрица
- Вычисляется сумма элементов ниже побочной диагонали
- Вычисляется максимальный элемент первой строки и последнего столбца
- Вычисляется сумма элементов периметра
- Выводится сумма элементов периметра
- Выводится сумма элементов ниже побочной диагонали
- Выводится максимальный элемент первой строки и последнего столбца
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д