Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
outoftime
║XLR8║
508 / 430 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
#1

std::accumulate по столбцах двумерного массива - C++

17.12.2013, 13:33. Просмотров 361. Ответов 5
Метки нет (Все метки)

Есть массив:
C++
1
2
const int n = 10;
int v[n][n];
Как найти сумму элементов его столбца используя STL?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2013, 13:33     std::accumulate по столбцах двумерного массива
Посмотрите здесь:

Сумма элементов в столбцах двумерного массива - C++
Вот собственно задание: Задан двухмерный массив вещественных чисел. Заменить все отрицательные элементы нулями и подсчитать сумму...

Сравнить элементы в столбцах двумерного массива - C++
Вечер добрый! Нужна помощь с написанием функции, есть двумерный массив - нужно вывести число столбцов, где все элементы разные. Внимание...

Поиск максимальных элементов в столбцах двумерного массива - C++
Добрый вечер! Помогите пожалуйста решить задачу, я начинающий.. Сформировать векторы А и B, элементами которых являются максимальные...

Перегрузка std::end для двумерного массива - C++
Добрый день, 1) почему если закомментировать переопределение функций begin, end работает, ведь там явно не одномерный, а стандартный...

accumulate if? - C++
Какой алгоритм способен найти сумму элементов, удовлетворяющих какому-либо условию?

алгоритм accumulate - C++
Допустим у меня есть вектор.Мне нужно подсчитать выборочно в нем сумму элементов.Я использую функциональный класс через алгоритм...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
monolit
185 / 184 / 22
Регистрация: 24.03.2011
Сообщений: 667
Завершенные тесты: 1
17.12.2013, 14:01     std::accumulate по столбцах двумерного массива #2
Боюсь, что проще, чем обычным циклом - никак... Если для строк - другое дело, а для столбцов... Или матрицу транспонировать сначала. Могу ошибаться.
outoftime
║XLR8║
508 / 430 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
17.12.2013, 14:44  [ТС]     std::accumulate по столбцах двумерного массива #3
Ну так транспонирование матрицы дольше писать чем 2 вложенных цикла.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
17.12.2013, 15:08     std::accumulate по столбцах двумерного массива #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
outoftime, В чем проблема?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <algorithm>
 
int main()
{
   const int n = 3;
   int v[n][n] =
   {
      {1,2,3},
      {2,3,4},
      {3,5,5}
   };
   const int column_to_find = 1;
   int result = std::accumulate(std::begin(v), std::end(v), 0,
   [column_to_find](int value, int* array)
   {
      return value + array[column_to_find];
   });
   std::cout << result << std::endl;
}
outoftime
║XLR8║
508 / 430 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
17.12.2013, 15:34  [ТС]     std::accumulate по столбцах двумерного массива #5
ForEveR, посмотрел реализацию accumulate с BinaryOperation, понял как суммируется, но остался вопрос почему
C++
1
std::begin(v), std::end(v)
делает проход только по строках а не по всему массиву? Это из-за того что там типа ссылки на массивы идут и итератор сразу скачет на следующий массив пропуская целую строку?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2013, 15:37     std::accumulate по столбцах двумерного массива
Еще ссылки по теме:

Ошибка с типами в STL accumulate - C++
map&lt;char, map&lt;char, int&gt;&gt; Msucc; // заполнение Msucc map&lt;char, int&gt; strSum; for( auto i : Msucc ) strSum =...

Найти произведение элементов массива в нечетных столбцах - C++
Дан некий массив (4;5). Найти произведение элементов массива в нечетных столбцах. Затем найти произведение элементов каждого нечетного...

Вычислить сумму значений массива в нечетных столбцах - C++
Дан массив X размерности M На N. Вычислить сумму значений массива в нечетных столбцах.

что использовать std::cout или просто using namespace std? - C++
Приветствую! Сейчас учу С++, постигаю азы так сказать. В арсенале две книги - Джефф Кент, &quot;Основы программирования &quot; и Х.М....


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

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
17.12.2013, 15:37     std::accumulate по столбцах двумерного массива #6
Цитата Сообщение от outoftime Посмотреть сообщение
делает проход только по строках а не по всему массиву?
Что такое двумерный массив? Это массив массивов, поэтому итерация через std::begin()/end() идет по массивам. Ну а дальше, нужно просто взять правильный индекс (т.е. столбец) из этого массива.
Yandex
Объявления
17.12.2013, 15:37     std::accumulate по столбцах двумерного массива
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru