С Новым годом! Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 18
1

Определить, чему равна сумма элементов массива после выполнения фрагмента программы?

21.11.2012, 23:45. Показов 2269. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Будьте добры, подскажите, как решать задачи такого типа?
  • Значения элементов двухмерного массива A[1..100,1..100] задаются с помощью следующего фрагмента программы:

    Pascal
    1
    2
    3
    4
    5
    
    for i:=1 to 100 do 
    for k:=1 to 100 do 
    if i > k then
         A[i,k] := 1
    else A[i,k] := -1;
    Чему равна сумма элементов массива после выполнения этого фрагмента программы?

    1) 0 2) 100 3) -100 4) -200

Заранее спасибо!


Добавлено через 9 минут
Если я правильно понял, то i<k и i>k будет поровну, все решит i=k - здесь таких 100, значит отрицательных будет больше на 100, то есть ответ 3?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.11.2012, 23:45
Ответы с готовыми решениями:

Определить, чему будут равны элементы массива после выполнения фрагмента программы
22) В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниже представлен...

Определить, чему будут равны элементы массива после выполнения фрагмента программы
В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниже представлен...

Определить, чему будут равны элементы массива после выполнения фрагмента программы
В программе описан одномерный целочисленный массив с индексами от 0 до 9 и целочисленные переменные...

Определить, чему будут равны элементы массива после выполнения фрагмента программы
В программе описан одномерный целочисленный массив с индексами от 0 до 10. В приведенном ниже...

1
181 / 179 / 23
Регистрация: 29.08.2012
Сообщений: 489
21.11.2012, 23:57 2
Всё довольно просто.
Циклы перебирают последовательно каждый элемент массива 100х100. Для каждого элемента проверятся условие i > k, где i, k - текущие индексы массива, то есть фактически координаты элемента, указывающие его пложение - в какой строке и столбце. Если условие выполняется, то в элемент массива заносится единичка, в противном же случае минус единичка.

Остаётся выяснить, какие элементы охватывает условие i>k. Оказывается, что это вся верхняя часть массива, расположенная над его диагональю, за исключением самой диагонали. Во все элементы этой области записываются значение 1.

Вторая область массива явзяется исключением из условия i>k, то есть значит фактически условие для второй половинки i<=k. Что описывает элементы на главной диагонали и ниже её. Во все элементы этой области записывается значение минус 1.

В итоге выполнения циклов имеем две области отличающиеся количеством элементов равных их количеству на диагонали. Диагональ насчитывает 100 элементов, в которых занесены значения минус 1.
Области по обе стороны диагонали взаимонейтрализуются до нулей при сложении, нетронутой останется диагональ, где 100 элементов по -1. Если их сложить, то будет минус 100.

Так что ответ №3 будет верным: сумма равна -100.
0
21.11.2012, 23:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2012, 23:57
Помогаю со студенческими работами здесь

Определить, чему будут равны элементы массива после выполнения фрагмента программы
В программе описан одномерный целочисленный массив с индексами от 0 до 10 и целочисленные...

Определить, чему будут равны элементы массива после выполнения фрагмента программы
Кто нибудь пожалуйста помогите) В программе описан одномерный целочисленный массив с индексами от...

Определить, чему будут равны элементы массива после выполнения фрагмента программы
30) В программе описан одномерный целочисленный массив с индексами от 0 до 10 и целочисленные...

Определить, чему будут равны элементы массива после выполнения фрагмента программы
6)В программе описан одномерный целочисленный массив с индексами от 0 до 10 и целочисленные...

Чему будет равна переменная b после выполнения следующего фрагмента программы?
1)Пусть a и b-переменные целого типа. Чему будет равна переменная b после выполнения следующего...

Чему будет равна переменная sum после выполнения фрагмента программы
2)Чему будет равна переменная sum после выполнения фрагмента программы: sum:=0; for i:=5 to 8 do...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru