2013-04-27 3 views
0

Я пытаюсь создать цикл, который вычисляет общий объем продаж книг за каждый год. Мне также необходимо рассчитать общий объем продаж книг за последние три года.C++ suming using for loop and two dimension array

Я разработал, как рассчитать сумму всех трех лет, однако, у меня возникают проблемы с расчетом на тотальные книжные заказы, которые продаются каждый год. Вот что я до сих пор.

const int months = 12; 
    const int years =3; 
    string namonths [months] = {"January", "February", "March", "April", 
       "May", "June", "July", "August", "September", 
       "October", "November", "December"}; 
int bookorders[years][months]; 
int sum=0; 

for (int i = 0; i < years ; i++) { 
for (int n = 0; n < months; n++) { 

    std::cout << "Year " << i + 1 << " Month " << namonths[n] <<":"<< std::endl; 

    cin >> bookorders[i][n]; 

    sum += bookorders[i][n]; 
} 

} 

// std::cout << "total orders are for each year are: " << sum <<std::endl; 
std::cout << "total orders are " << sum <<std::endl; 
+0

Вы используете 'namonths' как' string' и как индекс массива - делает это даже компилировать? –

ответ

1
  1. Добавить новую переменную, которая хранит суммы в год: int sumPerYear[years];
  2. между двумя для операторов: sumPerYear[i] = 0;
  3. Затем в течение сердечнике петли говорят: sumPerYear[i] += bookorders[i][n];
  4. Наконец в конце: for (int i = 0; i < years ; i++) std::cout << "year " << i << " sum: " << sumPerYear[i] << std::endl;
0

Здесь попробуйте это. sumperYear является переменной, которая изначально равна нулю. На каждой итерации внешнего для цикла будет отображаться сумматор.

for (int i=0; i<years; i++) { for (int j=0 ; j< months; j++) { sumperYear+=bookOrders[i][j]; } cout<<"For the year:" << i+1 << " the total orders are: "<< sumperYear; sumperYear=0; }