Подсчитать сумму всех элементов массива - Free Pascal
Формулировка задачи:
Заполнить двумерный массив случайными числами. Размерность массива и диапазон генерации вводятся с клавиатуры. Составить программу, которая подсчитывает сумму всех элементов массива. Затем организовать формирование нового массива C, в котором элементы лежащие не на главной диагонали равны 1, а остальные элементы равны соответствующим элементам исходного массива C.
Решение задачи: «Подсчитать сумму всех элементов массива»
textual
Листинг программы
- uses crt;
- const max=10;
- var c:array[1..max,1..max] of integer;
- n,i,j,a,b,s:integer;
- begin
- clrscr;
- randomize;
- repeat
- write('Размер матрицы от 2 до ',max,' n=');
- readln(n);
- until n in [2..max];
- repeat
- writeln('Введите лиапазон чисел a<b');
- readln(a,b);
- until a<b;
- s:=0;
- writeln('Исходная матрица');
- for i:=1 to n do
- begin
- for j:=1 to n do
- begin
- c[i,j]:=a+random(b-a+1);
- write(c[i,j]:4);
- s:=s+c[i,j];
- end;
- writeln;
- end;
- writeln('Cумма=',s);
- writeln('Измененная матрица');
- for i:=1 to n do
- begin
- for j:=1 to n do
- begin
- if j<>i then c[i,j]:=1;
- write(c[i,j]:4);
- end;
- writeln;
- end;
- readkey
- end.
Объяснение кода листинга программы
- Объявлены переменные: c:array[1..max,1..max] of integer; n,i,j,a,b,s:integer;
- Задается размер матрицы от 2 до 10 с помощью цикла repeat-until.
- Задается диапазон чисел для заполнения матрицы с помощью цикла repeat-until.
- Выводится исходная матрица с помощью двух вложенных циклов for. Значения матрицы c[i,j] присваиваются значениям a+random(b-a+1).
- Сумма всех элементов матрицы c[i,j] сохраняется в переменной s.
- Выводится сообщение 'Cумма=' и значение переменной s.
- Выводится измененная матрица с помощью двух вложенных циклов for. Если j<>i, то c[i,j] присваивается значение 1.
- Программа ожидает нажатия клавиши с помощью функции readkey.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д