Предмет: Информатика, автор: 3запятая14

25) Значения элементов двухмерного массива A[1..100,1..100] задаются с помощью следующего
фрагмента программы:
for i:=1 to 100 do
for k:=1 to 100 do
if i > k then
A[i,k] := i
else A[i,k] := -k;
Чему равна сумма элементов массива после выполнения этого фрагмента программы?

Пожалуйста, объясните подробно как это решить.

Ответы

Автор ответа: Аноним
0
Во вложении на верхнем рисунке показана схема двумерного массива (матрицы), размером 100х100. Желтые кружки - элементы массива. Выделена главная диагональ матрицы (условие, когда номер строки равен номеру столбца), а треугольники с заливкой выделяют верхнюю и нижнюю треугольные матрицы. Если исходная матрица квадратная, то количество элементов в обоих треугольных матрицах одинаково.
На нижнем рисунке описывается заполнение элементов массива. Строки нижней треугольной матрицы заполняется номерами строки (зеленая область), а столбцы верхней треугольной матрицы - номерами столбцов с обратным знаком (красная область). При внимательном рассмотрении можно понять, что каждому элементу зеленой области будет сопоставлен элемент красной с таким же значением, но с противоположным знаком. Следовательно, сумма этих элементов будет равна нулю.
Осталось найти сумму элементов главной диагонали. Там будут элементы -1, -2, -3, ... -99, -100. Это сумма первых 100 чисел натурального ряда, образующих арифметическую прогрессию, взятая с противоположным знаком.
displaystyle S= frac{2a_1+d(n-1)}{2}n= frac{2cdot1+1(100-1)}{2}cdot100=  frac{101cdot100}{2}=5050

Ответ: -5050
Приложения:
Автор ответа: Аноним
0
Да... задачка как раз за 5 баллов))) И это лишний раз говорит о том, что чужой труд ценится людьми дешевле собственного. В разы.
Похожие вопросы