|
1 / 1 / 0
Регистрация: 20.12.2011
Сообщений: 64
|
|
Суммирование элементов двумерного массива за один цикл20.03.2013, 10:26. Показов 5128. Ответов 31
Метки нет (Все метки)
Имеется двумерный массив А. Требуется просуммировать значения всех элементов массива. Алгоритм должен содержать только одну управляющую структуру типа ЦИКЛ.
Я конечно понимаю, что любую задачу в принципе можно сделать за один цикл, но просто в этом случае мне кажется разумен подход плана: Все элементы массива перебираются и добавляются в одну и ту же переменную. Перебор элементов массива осуществляется в цикле for + добавляется вложенный цикл for для прохода по элементам каждой строки матрицы. но это получается 2 цикла... и это проблематично представить в виде блок-схемы. В смысле не проблематично, но ясно становится что 2 цикла.
0
|
|
| 20.03.2013, 10:26 | |
|
Ответы с готовыми решениями:
31
|
|
1 / 1 / 0
Регистрация: 20.12.2011
Сообщений: 64
|
|
| 20.03.2013, 12:22 [ТС] | |
|
Вполне можно, но не понятно как. Через использование индексов? но, этот метод мне не знаком..
0
|
|
|
1 / 1 / 0
Регистрация: 20.12.2011
Сообщений: 64
|
|
| 20.03.2013, 12:46 [ТС] | |
|
моя задача сформулировать алгоритм и нарисовать блок схему без привязки к языку программирования, но я просто не знаю как можно это преобразовать в 1 из 2!
0
|
|
|
|
||
| 20.03.2013, 12:56 | ||
|
Например в VB по столбцам и через API обращаться к нужному элементу. 2. Один явный For заменить на IF, хотя это будет тотже цикл. 3. Если массив вводится (не формируется в программе), то по мере ввода - обработка. Все это можно изобразить в виде блок-схем. Как?
0
|
||
|
1 / 1 / 0
Регистрация: 20.12.2011
Сообщений: 64
|
|
| 20.03.2013, 12:59 [ТС] | |
|
на сколько я понял привязка к конкретному языку не важна, if вместо если я тоже думаю, что это цикл - поэтому не подходит... обработка... наверно то что надо, но в виде блок схемы, как это будет выглядеть.. нет идей..
0
|
|
|
Я не экстрасенс
382 / 339 / 34
Регистрация: 22.01.2013
Сообщений: 1,126
|
||
| 20.03.2013, 13:19 | ||
|
Казуистический подход в постановке задачи требует аналогичного ответа. По-моему так.
inc(j); if j... goto и пусть кто-то докажет, что здесь 2 ЦИКЛА!
0
|
||
|
1 / 1 / 0
Регистрация: 20.12.2011
Сообщений: 64
|
|
| 20.03.2013, 13:20 [ТС] | |
|
на блок схеме видно что 2 цикла...
0
|
|
|
76 / 62 / 23
Регистрация: 11.07.2009
Сообщений: 730
|
|
| 20.03.2013, 14:16 | |
|
Можно выделить одномерную структуру куда при заполнении массива (вручную, или иначе) будут писаться элементы и далее суммироваться, соответственно в цикле "от 1 до N*M". Очень просто, но получается избыточность информации, ну или прямо при формировании массива уже писать сумму, действительно, ничего нового не используя, хотя как-то неочень всё-таки.
0
|
|
|
|
||
| 20.03.2013, 15:17 | ||
|
Другое дело, что в VB обратиться напрямую к элементу многомерного массива кроме как x(i, j,...) нельзя. Нужны ухищрения. Об этом и была речь.
0
|
||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||||||
| 20.03.2013, 15:21 | |||||||
1
|
|||||||
|
|
|
| 21.03.2013, 01:52 | |
|
OldFedor, Dmitriy_M имел ввиду, что зная количество столбцов и количество строк можно в любой момент, организовав цикл с числом итераций, равному количеству элементов в массиве, вычислить индексы этого элемента в массиве.
0
|
|
|
1 / 1 / 0
Регистрация: 20.12.2011
Сообщений: 64
|
|
| 24.03.2013, 01:26 [ТС] | |
|
А можно хотя бы намекнуть как нарисовать на блок-схеме линерализацию массива с последующим суммированием в один цикл?
Добавлено через 1 час 2 минуты Или хотя бы код, того варианта который был активно пропагандирован...
0
|
|
|
Я не экстрасенс
382 / 339 / 34
Регистрация: 22.01.2013
Сообщений: 1,126
|
|
| 24.03.2013, 10:18 | |
|
1) "О терминах не спорят, о них договариваются!"
Давайте вместе решим, что такое "управляющая структура типа ЦИКЛ". На мой взгляд это for, while, repeat... Но не if... goto 2) К вопросу об 1 цикле - такая идея: A:array[x,y]; z:=x*y; i:=0; y:=0; s=0; for k:=1 to z do begin s:=s+A[x,y]; inc(i); if i>x then begin i:=0; inc(y); end; end; writeln(s);
0
|
|
|
1 / 1 / 0
Регистрация: 20.12.2011
Сообщений: 64
|
||||||
| 24.03.2013, 10:58 [ТС] | ||||||
|
barbudo59, Я попробовал дойти вот до такого формата...
0
|
||||||
| 24.03.2013, 10:58 | |
|
Помогаю со студенческими работами здесь
20
Не работает суммирование столбцов двумерного массива Цикл по обработке двумерного массива Цикл перебора столбцов двумерного массива
Как составить цикл для двумерного массива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|