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

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

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

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

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

textual
Листинг программы
  1. var a:array[,] of integer;
  2.     n,i,j,sp,sd,mx:integer;
  3. begin
  4. randomize;
  5. writeln('Введите размер матрицы');
  6. readln(n);
  7. setlength(a,n,n);
  8. writeln('Объем памяти под матрицу=',sizeof(integer)*n*n,' байт');
  9. sd:=0;
  10. writeln('Исходная матрица');
  11. mx:=a[0,0];
  12. for i:=0 to n-1 do
  13.  begin
  14.   for j:=0 to n-1 do
  15.    begin
  16.     a[i,j]:=1+random(10);
  17.     write(a[i,j]:3);
  18.     if j>n-i-1 then sd:=sd+a[i,j];//ниже побочной диагонали
  19.     if ((i=0)or(j=n-1))and(a[i,j]>mx) then mx:=a[i,j];//максимум
  20.    end;
  21.   writeln
  22.  end;
  23. sp:=0;
  24. for i:=0 to n-2 do
  25. sp:=sp+a[0,i]+a[i,n-1]+a[i+1,0]+a[n-1,i+1];//периметр
  26. writeln('Сумма элементов периметра=',sp);
  27. writeln('Сумма элементов ниже побочной диагонали=',sd);
  28. writeln('Максимальный элемент первой строки и последнего столбца=',mx)
  29. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы