Подсчитать сумму всех элементов массива - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д