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

Отображение содержимого массива - C++

Восстановить пароль Регистрация
 
Fossius
0 / 0 / 0
Регистрация: 15.08.2012
Сообщений: 7
21.08.2012, 19:59     Отображение содержимого массива #1
Как можно проще/компактнее отобразить действия с содержимым массива:
C++
1
2
3
4
5
6
    int sum1 = books[0][0] + books[0][1] + books[0][2] + books[0][3] + books[0][4] + books[0][5]
    + books[0][6] + books[0][7] + books[0][8] + books[0][9] + books[0][10] + books[0][11];
    int sum2 = books[1][0] + books[1][1] + books[1][2] + books[1][3] + books[1][4] + books[1][5]
    + books[1][6] + books[1][7] + books[1][8] + books[1][9] + books[1][10] + books[1][11];
    int sum3 = books[2][0] + books[2][1] + books[2][2] + books[2][3] + books[2][4] + books[2][5]
    + books[2][6] + books[2][7] + books[2][8] + books[2][9] + books[2][10] + books[2][11];
???
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
21.08.2012, 20:10     Отображение содержимого массива #2
циклы?

C++
1
2
for(int i = 0; i!=12; ++i)
    sun1 += books[0][i]
цикл можно сделать и двойным.

или можете использовать алгоритмы суммы из std
Fossius
0 / 0 / 0
Регистрация: 15.08.2012
Сообщений: 7
21.08.2012, 21:03  [ТС]     Отображение содержимого массива #3
Да, они самые.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string year[12] = 
    {
        "January ", "February ", "March ", "April ", "May ", "June ",
        "July ", "August ", "September ", "October ", "November ", "December "
    };
    int books[3][12];
    
    for (int i = 0; i < 3; ++i)
    {
        for (int j = 0; j < 12; ++j)
        {
        cout << endl << year[j] << "How much books?: ";
        cin >> books[i][j];
        }
    }
    int sum1 = books[0][0] + books[0][1] + books[0][2] + books[0][3] + books[0][4] + books[0][5]
    + books[0][6] + books[0][7] + books[0][8] + books[0][9] + books[0][10] + books[0][11];
    int sum2 = books[1][0] + books[1][1] + books[1][2] + books[1][3] + books[1][4] + books[1][5]
    + books[1][6] + books[1][7] + books[1][8] + books[1][9] + books[1][10] + books[1][11];
    int sum3 = books[2][0] + books[2][1] + books[2][2] + books[2][3] + books[2][4] + books[2][5]
    + books[2][6] + books[2][7] + books[2][8] + books[2][9] + books[2][10] + books[2][11];
    cout << "\nTotal: " << sum1 << "  " << sum2 << "  " << sum3 << "  " << sum1+sum2+sum3 <<  endl; 
    return 0;
}
и куда вставить новый цикл?
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,047
21.08.2012, 21:09     Отображение содержимого массива #4
Цитата Сообщение от Fossius Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
for (int i = 0; i < 3; ++i)
 {
 for (int j = 0; j < 12; ++j)
 {
 cout << endl << year[j] << "How much books?: ";
 cin >> books[i][j];
 }
 }
 int sum1 = books[0][0] + books[0][1] + books[0][2] + books[0][3] + books[0][4] + books[0][5]
 + books[0][6] + books[0][7] + books[0][8] + books[0][9] + books[0][10] + books[0][11];
 int sum2 = books[1][0] + books[1][1] + books[1][2] + books[1][3] + books[1][4] + books[1][5]
 + books[1][6] + books[1][7] + books[1][8] + books[1][9] + books[1][10] + books[1][11];
 int sum3 = books[2][0] + books[2][1] + books[2][2] + books[2][3] + books[2][4] + books[2][5]
 + books[2][6] + books[2][7] + books[2][8] + books[2][9] + books[2][10] + books[2][11];
 cout << "\nTotal: " << sum1 << " " << sum2 << " " << sum3 << " " << sum1+sum2+sum3 << endl; 
 return 0;
}
и куда вставить новый цикл?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
for (int i = 0; i < 3; ++i)
 {
 for (int j = 0; j < 12; ++j)
 {
 cout << endl << year[j] << "How much books?: ";
 cin >> books[i][j];
 }
 }
 int sum1=0;
 int sum2=0;
int sum3=0;
for(int j=0;j<12;j++)
{ 
  sum1+=books[0][j];
  sum2+=books[1][j];
  sum3+=books[2][j];
}
cout << "\nTotal: " << sum1 << " " << sum2 << " " << sum3 << " " << sum1+sum2+sum3 << endl; 
 return 0;
Fossius
0 / 0 / 0
Регистрация: 15.08.2012
Сообщений: 7
21.08.2012, 21:42  [ТС]     Отображение содержимого массива #5
Спасибо, буду знать
Yandex
Объявления
21.08.2012, 21:42     Отображение содержимого массива
Ответ Создать тему
Опции темы

Текущее время: 20:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru