13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
1

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

25.08.2013, 11:41. Показов 2640. Ответов 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
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.08.2013, 11:41
Ответы с готовыми решениями:

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

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

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

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

7
50 / 50 / 9
Регистрация: 18.07.2013
Сообщений: 138
Записей в блоге: 1
25.08.2013, 11:48 2
Цитата Сообщение от 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 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
#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
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
25.08.2013, 12:28  [ТС] 4
Цитата Сообщение от 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
50 / 50 / 9
Регистрация: 18.07.2013
Сообщений: 138
Записей в блоге: 1
25.08.2013, 12:38 5
Цитата Сообщение от CHELOVEKPAUK Посмотреть сообщение
я решил немного по своему
Неправильный подход к изучению материала. Если сказано двумерный массив, значит надо делать с двумерным и использовать только те средства, которые изучили.
0
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
25.08.2013, 12:39  [ТС] 6
Цитата Сообщение от 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 7
Цитата Сообщение от CHELOVEKPAUK Посмотреть сообщение
результат за 3 год показывается неверно - большое отрицательное значение. С первыми двумя все правильно. Как так?
индексирование должно начинаться с 0, а не с 1

Добавлено через 1 минуту
1 элемент - array[0]
2 элемент - array[1]
3 элемент - array[2]
1
4 / 3 / 1
Регистрация: 19.12.2020
Сообщений: 39
01.02.2021, 15:54 8
Вот мой вариант-все работает и не создавал лишний цикл, который года считает,все условия соблюдены-выводит сумму за каждый год и потом общую))
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
01.02.2021, 15:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.02.2021, 15:54
Помогаю со студенческими работами здесь

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

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

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

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

Найти сумму элементов массива и выдать на печать. Найти максимальный элемент в массиве и номер строки
Дан массив n*m. Найти сумму элементов массива и выдать на печать. Найти максимальный элемент в...

Определить общий объём массива
Существует-ли функция, определяющая общий объём многомерного массива?


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru