Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
 Аватар для CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1

Найти сумму содержимого массива и выдать общий объем продаж за год

25.08.2013, 11:41. Показов 3067. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Решенная задача:

Вы продаете книгу "Язык С++ для чайников". Напишите программу, которая позволит ввести помесячные объемы продаж в течении года (в количестве книг, а не в деньгах). Программа должна использовать цикл, в котором выводится приглашения с названием месяца, применяя массив указателей на char (или массив объектов string), инициализированный строками - названиями месяцев, и сохраняя введенные значения в массиве int. Затем программа должна найти сумму содержимого массива и выдать общий объем продаж за год.

Следующая задача:

Выполните упражнение выше, но используя двумерный массив для сохранения данных о месячных продажах за 3 года. Выдайте сумму продаж за каждый год, и за 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
31
32
33
#include <iostream>
#include <Windows.h>
#include <string>
 
using namespace std;
 
#define rus SetConsoleCP(1251);SetConsoleOutputCP(1251);
 
void main()
{
    rus;
    
    int value[12]; // продажи
    char* name[12] = 
    
    {"январь", "февраль", "март",
    "апрель", "май", "июнь",
    "июль", "август", "сентябрь",
    "октябрь", "ноябрь", "декабрь"};
 
    int summ = 0;
 
    for (int i = 0; i < 12; i++)
    {
        cout << "Введите кол-во проданных книг за " << name[i] << endl;
        cin >> value[i];
        summ += value[i];
    }
    
    cout << endl << endl << "Сумма - " << summ << endl;
    
    system("pause");
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.08.2013, 11:41
Ответы с готовыми решениями:

Найти сумму содержимого массива и выдать общий объем продаж за год
предположим,что вы продаете книгу по программированию.Напиши программу,которая предложит ввести ежемесячные объемы продаж в течении года(в...

Определить общий объем продаж за год
Объем продаж фирмы по нечетным месяцам падает на N1%, а в четные месяцы возрастает на N2% по сравнению с предыдущим месяцем. В начале года...

Выдать общий объем поставок деталей красного цвета
Таблица поставщиков (S) Hомеp поставщика Фамилия Рейтинг Гоpод S1 Смит 20 Лондон S2 Джонс 10 Париж S3 Блейк 30 Париж

7
 Аватар для Hugra
50 / 50 / 9
Регистрация: 18.07.2013
Сообщений: 138
Записей в блоге: 1
25.08.2013, 11:48
Цитата Сообщение от CHELOVEKPAUK Посмотреть сообщение
Решенная задача:

Вы продаете книгу "Язык С++ для чайников". Напишите программу, которая позволит ввести помесячные объемы продаж в течении года (в количестве книг, а не в деньгах). Программа должна использовать цикл, в котором выводится приглашения с названием месяца, применяя массив указателей на char (или массив объектов string), инициализированный строками - названиями месяцев, и сохраняя введенные значения в массиве int. Затем программа должна найти сумму содержимого массива и выдать общий объем продаж за год.

Следующая задача:

Выполните упражнение выше, но используя двумерный массив для сохранения данных о месячных продажах за 3 года. Выдайте сумму продаж за каждый год, и за 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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
using namespace std;
 
int main()
{
    system("chcp 1251");
    system("title Ch.5 Ex.5-6");
 
    const char * months[] = 
    {
        "Январь",
        "Февраль",
        "Март",
        "Апрель",
        "Май",
        "Июнь",
        "Июль",
        "Август",
        "Сентябрь",
        "Октябрь",
        "Ноябрь",
        "Декабрь"
    };
        
    cout << "Введите объем продаж для каждого месяца: " << endl;
 
    int value[3][12] ={0};
    int sum = 0;
    int sumOfYears = 0;
    for(int j = 0; j < 3; ++j)
    {
        sum = 0;
        cout << j+1 << "-й год продаж." << endl;
        for(int i = 0; i < 12; ++i)
        {
            cout << months[i] << ": ";
            cin >> value[j][i];
            sum += value[j][i];
        }
        cout << "Объем продаж за "<< j+1 <<"-й год составил: " << sum << endl;
        sumOfYears += sum;
    }
    
    cout << "Объем продаж за все года: " << sumOfYears << endl;
 
    system("PAUSE");
    return 0;
}
1
8 / 8 / 2
Регистрация: 10.08.2013
Сообщений: 22
25.08.2013, 12:11
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
31
32
33
34
35
36
37
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char** argv) {
    
    string months[12] = {
                            "Jan", "Feb", "Mar", "Apr",
                            "May", "Jun", "Jul", "Aug",
                            "Sep", "Okt", "Nov", "Dec"
                        };
    int amount[12];
    int sum[3] = {0,0,0};
 
    for(int i = 0; i < 3; i++) {
        for(int j = 0; j < 12; j++) {
 
            cout << "Введите количество продаж за год#"
                 << (i + 1) << "("
                 << months[j] << "): ";
            cin  >> amount[j];
 
            sum[i] += amount[j];
        }
    }
 
    for(int i = 0; i < 3; i++) {
        cout << "Общий объем продаж за год#"
             << (i + 1) << ": " << sum[i] << endl;
    }
    
    cout << "Общий объем продаж за 3 года: "
         << (sum[0] + sum[1] + sum [2]) << endl;
    
    return 0;
}
результат:
Кликните здесь для просмотра всего текста
Введите количество продаж за год#1(Jan): 1
Введите количество продаж за год#1(Feb): 1
Введите количество продаж за год#1(Mar): 1
Введите количество продаж за год#1(Apr): 1
Введите количество продаж за год#1(May): 1
Введите количество продаж за год#1(Jun): 1
Введите количество продаж за год#1(Jul): 1
Введите количество продаж за год#1(Aug): 1
Введите количество продаж за год#1(Sep): 1
Введите количество продаж за год#1(Okt): 1
Введите количество продаж за год#1(Nov): 1
Введите количество продаж за год#1(Dec): 1
Введите количество продаж за год#2(Jan): 2
Введите количество продаж за год#2(Feb): 2
Введите количество продаж за год#2(Mar): 2
Введите количество продаж за год#2(Apr): 2
Введите количество продаж за год#2(May): 2
Введите количество продаж за год#2(Jun): 2
Введите количество продаж за год#2(Jul): 2
Введите количество продаж за год#2(Aug): 2
Введите количество продаж за год#2(Sep): 2
Введите количество продаж за год#2(Okt): 2
Введите количество продаж за год#2(Nov): 2
Введите количество продаж за год#2(Dec): 2
Введите количество продаж за год#3(Jan): 3
Введите количество продаж за год#3(Feb): 3
Введите количество продаж за год#3(Mar): 3
Введите количество продаж за год#3(Apr): 3
Введите количество продаж за год#3(May): 3
Введите количество продаж за год#3(Jun): 3
Введите количество продаж за год#3(Jul): 3
Введите количество продаж за год#3(Aug): 3
Введите количество продаж за год#3(Sep): 3
Введите количество продаж за год#3(Okt): 3
Введите количество продаж за год#3(Nov): 3
Введите количество продаж за год#3(Dec): 3
Общий объем продаж за год#1: 12
Общий объем продаж за год#2: 24
Общий объем продаж за год#3: 36
Общий объем продаж за 3 года: 72
1
 Аватар для CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
25.08.2013, 12:28  [ТС]
Цитата Сообщение от loktionov272 Посмотреть сообщение
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
31
32
33
34
35
36
37
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char** argv) {
    
    string months[12] = {
                            "Jan", "Feb", "Mar", "Apr",
                            "May", "Jun", "Jul", "Aug",
                            "Sep", "Okt", "Nov", "Dec"
                        };
    int amount[12];
    int sum[3] = {0,0,0};
 
    for(int i = 0; i < 3; i++) {
        for(int j = 0; j < 12; j++) {
 
            cout << "Введите количество продаж за год#"
                 << (i + 1) << "("
                 << months[j] << "): ";
            cin  >> amount[j];
 
            sum[i] += amount[j];
        }
    }
 
    for(int i = 0; i < 3; i++) {
        cout << "Общий объем продаж за год#"
             << (i + 1) << ": " << sum[i] << endl;
    }
    
    cout << "Общий объем продаж за 3 года: "
         << (sum[0] + sum[1] + sum [2]) << endl;
    
    return 0;
}
результат:
Кликните здесь для просмотра всего текста
Введите количество продаж за год#1(Jan): 1
Введите количество продаж за год#1(Feb): 1
Введите количество продаж за год#1(Mar): 1
Введите количество продаж за год#1(Apr): 1
Введите количество продаж за год#1(May): 1
Введите количество продаж за год#1(Jun): 1
Введите количество продаж за год#1(Jul): 1
Введите количество продаж за год#1(Aug): 1
Введите количество продаж за год#1(Sep): 1
Введите количество продаж за год#1(Okt): 1
Введите количество продаж за год#1(Nov): 1
Введите количество продаж за год#1(Dec): 1
Введите количество продаж за год#2(Jan): 2
Введите количество продаж за год#2(Feb): 2
Введите количество продаж за год#2(Mar): 2
Введите количество продаж за год#2(Apr): 2
Введите количество продаж за год#2(May): 2
Введите количество продаж за год#2(Jun): 2
Введите количество продаж за год#2(Jul): 2
Введите количество продаж за год#2(Aug): 2
Введите количество продаж за год#2(Sep): 2
Введите количество продаж за год#2(Okt): 2
Введите количество продаж за год#2(Nov): 2
Введите количество продаж за год#2(Dec): 2
Введите количество продаж за год#3(Jan): 3
Введите количество продаж за год#3(Feb): 3
Введите количество продаж за год#3(Mar): 3
Введите количество продаж за год#3(Apr): 3
Введите количество продаж за год#3(May): 3
Введите количество продаж за год#3(Jun): 3
Введите количество продаж за год#3(Jul): 3
Введите количество продаж за год#3(Aug): 3
Введите количество продаж за год#3(Sep): 3
Введите количество продаж за год#3(Okt): 3
Введите количество продаж за год#3(Nov): 3
Введите количество продаж за год#3(Dec): 3
Общий объем продаж за год#1: 12
Общий объем продаж за год#2: 24
Общий объем продаж за год#3: 36
Общий объем продаж за 3 года: 72
Спасибо всем, я решил немного по своему, но такая проблема - результат за 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
31
32
33
34
35
36
37
38
#include <iostream>
#include <Windows.h>
#include <string>
 
using namespace std;
 
#define rus SetConsoleCP(1251);SetConsoleOutputCP(1251);
 
void main()
{
    rus;
    char* month[12] = 
    
    {"январь", "февраль", "март",
    "апрель", "май", "июнь",
    "июль", "август", "сентябрь",
    "октябрь", "ноябрь", "декабрь"};
 
    int year[3] = {2011, 2012, 2013};
    int value[12]; // месяцы
    int summ[3] = {0};
 
    for (int y = 0; y < 3; y++)
    {   
        cout << endl << endl << year[y] << "год\n\n";
        for (int i = 0; i < 12; i++)
        { 
            cout << "Введите кол-во проданных книг за " << month[i] << endl;
            cin >> value[i];
            summ[y] += value[i];
        }
    }
    
    cout << "\n\nСумма за " << year[0] << " г - " << summ[1];
    cout << "\nСумма за " << year[1] << " г - " << summ[2];
    cout << "\nСумма за " << year[2]  << " г - " << summ[3];
    cout << "\nСумма за все года - " << year[0]+year[1]+year[2];
    system("pause");


UPD: Ах точно, я же сделал с одномерным массивом. Сейчас переделаю.
0
 Аватар для Hugra
50 / 50 / 9
Регистрация: 18.07.2013
Сообщений: 138
Записей в блоге: 1
25.08.2013, 12:38
Цитата Сообщение от CHELOVEKPAUK Посмотреть сообщение
я решил немного по своему
Неправильный подход к изучению материала. Если сказано двумерный массив, значит надо делать с двумерным и использовать только те средства, которые изучили.
0
 Аватар для CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
25.08.2013, 12:39  [ТС]
Цитата Сообщение от Hugra Посмотреть сообщение
Неправильный подход к изучению материала. Если сказано двумерный массив, значит надо делать с двумерным и использовать только те средства, которые изучили.
Вот решение с двумерным:

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
31
32
33
34
35
36
37
38
#include <iostream>
#include <Windows.h>
#include <string>
 
using namespace std;
 
#define rus SetConsoleCP(1251);SetConsoleOutputCP(1251);
 
void main()
{
    rus;
    char* month[12] = 
    
    {"январь", "февраль", "март",
    "апрель", "май", "июнь",
    "июль", "август", "сентябрь",
    "октябрь", "ноябрь", "декабрь"};
 
    int value[3][12]; // месяцы
    int summ[3] = {0};
    int y, i;
 
    for (y = 0; y < 3; y++)
    {   
        cout << endl << endl << y+1 << " год\n\n";
        for (i = 0; i < 12; i++)
        { 
            cout << "Введите кол-во проданных книг за " << month[i] << endl;
            cin >> value[y][i];
            summ[y] += value[y][i];
        }
    }
    cout << "\n\nСумма за " << y-2 << " г - " << summ[1];
    cout << "\nСумма за " <<  y-1 << " г - " << summ[2];
    cout << "\nСумма за " << y  << " г - " << summ[3];
    cout << "\nСумма за все года - " << summ[1]+summ[2];
    system("pause");
}
Все равно сумма за 3 год отрицательная.
0
8 / 8 / 2
Регистрация: 10.08.2013
Сообщений: 22
25.08.2013, 12:42
Цитата Сообщение от CHELOVEKPAUK Посмотреть сообщение
результат за 3 год показывается неверно - большое отрицательное значение. С первыми двумя все правильно. Как так?
индексирование должно начинаться с 0, а не с 1

Добавлено через 1 минуту
1 элемент - array[0]
2 элемент - array[1]
3 элемент - array[2]
1
8 / 7 / 1
Регистрация: 19.12.2020
Сообщений: 51
01.02.2021, 15:54
Вот мой вариант-все работает и не создавал лишний цикл, который года считает,все условия соблюдены-выводит сумму за каждый год и потом общую))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
#include<string>
int main()
{
    using namespace std;
    string month[12] = { "january","february","march","april","may","june","july","august","september","october","november","december" };
    int sales[3][12];
    int i,j,sold_in_total=0,summa =0;
    for (j = 0; j < 3; j++)
    {
        summa = 0;
        for (i = 0; i < 12; i++)
        {
            cout << month[i] << " sold:\t";
            cin >> sales[j][i];
            summa += sales[j][i];
        }
        cout << " sold in a year : " << summa << endl;
        sold_in_total += summa;
    }
    cout << " Sold in total : " << sold_in_total;
    return 0;
}
Добавлено через 36 минут
Hugra у тебя все правильно, только в реалиях visual studio 2020 вместо русских букав выдает каракули))И вообще лучше писать программу на английском, а то ваши адаптации от года к году, как показывает хотя бы эта задача,не поддерживает среда разработки.А в английском варианте проги работают как и 7 лет назад.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.02.2021, 15:54
Помогаю со студенческими работами здесь

Для матрицы объема продаж квартир найти средней объем продаж квартир каждого года
Для матрицы объема продаж квартир А (1-4 кв., 2002-2004 гг.) найти: а)средней объем продаж квартир каждого года; б) максимальный объем...

Программа, которая считает сумму продаж за год. SalePerson
Класс SalePerson содержит: следующие закрытые компоненты – данные: - массив вещественных чисел sales, в которых хранятся продажи...

Найти объем ящика и общий объем всех ящиков
известна длина,ширина,высота ящика,на складе n ящиков.найти объем ящика и общий объем всех ящиков. Написать программу и желательно блок...

Запрос на выбор из базы Northwind возвращающий сумму продаж каждого сотрудника за каждый год
Здравствуйте, помогите пожалуйста. Нужен запрос к базе данных Northwind возвращающий сумму продаж и количество каждого сотрудника за...

Найти сумму элементов массива и выдать на печать
Дан массив. найти сумму элементов массива и выдать на печать . Найти максимальный элемент в массиве и номер строки , в которой он находится...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
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-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru