
Руслан
5 год назад
25) Значения элементов двухмерного массива A[1..100,1..100] задаются с помощью следующегофрагмента программы:for i:=1 to 100 dofor k:=1 to 100 doif i > k thenA[i,k] := ielse A[i,k] := -k;Чему равна сумма элементов массива после выполнения этого фрагмента программы?Пожалуйста, объясните подробно как это решить.

ОТВЕТЫ

Ferguson Christopher
Oct 24, 2020
Во вложении на верхнем рисунке показана схема двумерного массива (матрицы), размером 100х100. Желтые кружки - элементы массива. Выделена главная диагональ матрицы (условие, когда номер строки равен номеру столбца), а треугольники с заливкой выделяют верхнюю и нижнюю треугольные матрицы. Если исходная матрица квадратная, то количество элементов в обоих треугольных матрицах одинаково.
На нижнем рисунке описывается заполнение элементов массива. Строки нижней треугольной матрицы заполняется номерами строки (зеленая область), а столбцы верхней треугольной матрицы - номерами столбцов с обратным знаком (красная область). При внимательном рассмотрении можно понять, что каждому элементу зеленой области будет сопоставлен элемент красной с таким же значением, но с противоположным знаком. Следовательно, сумма этих элементов будет равна нулю.
Осталось найти сумму элементов главной диагонали. Там будут элементы -1, -2, -3, ... -99, -100. Это сумма первых 100 чисел натурального ряда, образующих арифметическую прогрессию, взятая с противоположным знаком.
: -5050
На нижнем рисунке описывается заполнение элементов массива. Строки нижней треугольной матрицы заполняется номерами строки (зеленая область), а столбцы верхней треугольной матрицы - номерами столбцов с обратным знаком (красная область). При внимательном рассмотрении можно понять, что каждому элементу зеленой области будет сопоставлен элемент красной с таким же значением, но с противоположным знаком. Следовательно, сумма этих элементов будет равна нулю.
Осталось найти сумму элементов главной диагонали. Там будут элементы -1, -2, -3, ... -99, -100. Это сумма первых 100 чисел натурального ряда, образующих арифметическую прогрессию, взятая с противоположным знаком.
: -5050
- Да... задачка как раз за 5 баллов))) И это лишний раз говорит о том, что чужой труд ценится людьми дешевле собственного. В разы.
978