Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2011, 19:41   #1
L6go1as
Форумчанин
 
Регистрация: 20.10.2011
Сообщений: 433
По умолчанию Хм, а как найти сумму в двухмерном массиве?

Нужно найти сумму в двухмерном массиве, за все года.
Собственно это и есть вопрос, чего-то сумму извлечь не получается.
Подскажите как сие решить.

p.s
А еще вопросик, как например организовать ввод, который шел бы через ","?
Например: 1 enter - после чего появлялась "," и так далее(акромя последнего ввода), т.е. в конце ввода было бы: "1, 2, 3".

Код:
#include <iostream>

using namespace std;

const int Month = 12;
const int Years = 3;

int main()
{
	cout << "C++ for mindless." << endl;

	const char *month[Month] = {
		"September", "October", "November", "December", "Januar",
		"February", "March", "May", "April", "June", "July", "August"};
	
	int sum, i, j;
	int prodaja[Years][Month];
	for (i = 0; i < Month; i++)
	{
		cout << month[i] << "\t";
		for (j = sum = 0; j < Years; j++)
		{
			cin >> prodaja[j][i];
			sum += prodaja[j][i];
		}
	}

	cout << "Sum per year: " << sum << endl;

	int x = 0;
	cin >> x;

	return 0;
}
L6go1as вне форума Ответить с цитированием
Старый 27.10.2011, 20:50   #2
L6go1as
Форумчанин
 
Регистрация: 20.10.2011
Сообщений: 433
По умолчанию

Ошибка была найдена, из-за того что sum = 0 в втором массиве, сумма постоянно обнулялась. Поэтому вывел sum за первый массив.

Рабочий код:

Код:
#include <iostream>

using namespace std;

const int Month = 12;
const int Years = 3;

int main()
{
	cout << "C++ for mindless." << endl;

	const char *month[Month] = {
		"September", "October", "November", "December", "Januar",
		"February", "March", "May", "April", "June", "July", "August"};
	
	int sum = 0, i, j;
	int prodaja[Years][Month];
	for (i = 0; i < Month; i++)
	{
		cout << month[i] << "\t";
		for (j = 0; j < Years; j++)
		{
			cin >> prodaja[j][i];
			sum += prodaja[j][i];
		}
	}

	cout << "Sum per year: " << sum << endl;

	int x = 0;
	cin >> x;

	return 0;
}

Последний раз редактировалось L6go1as; 27.10.2011 в 21:18.
L6go1as вне форума Ответить с цитированием
Старый 27.10.2011, 22:56   #3
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

L6go1as

Нужно найти сумму в двухмерном массиве, за все года.
Собственно это и есть вопрос, чего-то сумму извлечь не получается.
Подскажите как сие решить.


сумма в двухмерном (десятимерном, стопицотмерном) массиве ищется также как и в одномерном:

int prodaja[Years][Month];
int sum = std::accumulate(&prodaja[0][0], prodaja[0][0] + Years*Month, 0);
Rififi вне форума Ответить с цитированием
Старый 28.10.2011, 00:28   #4
L6go1as
Форумчанин
 
Регистрация: 20.10.2011
Сообщений: 433
По умолчанию

Rififi, спасибо за совет! Она пока еще сложна для меня ... Тем более нужно польключать к ней "numeric", а в задании да и на моем уровне, нужно использовать что есть ... ибо зачем бежать впереди поезда ))
L6go1as вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
одномерном массиве, состоящем из n вещественных элементов (найти количество, сумму и отсортировать) arshavin Паскаль, Turbo Pascal, PascalABC.NET 8 23.10.2018 22:32
найти ошибку в двухмерном массиве Эnnа Помощь студентам 3 23.06.2010 18:39
Строки в Двухмерном массиве Pascal program123 Помощь студентам 3 05.06.2009 22:21
В двумерном массиве 4*5 найти сумму элементов по строке или столбцу. bkmz Помощь студентам 11 16.04.2008 11:17
Найти сумму последних L положительных элементов в массиве A={a[i]}. Assembler Kasim Помощь студентам 2 16.12.2007 16:12