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

Структуры. Определить название месяца с максимальным объемом выпуска - C++

Восстановить пароль Регистрация
 
DoubleCat
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 20
13.06.2013, 02:52     Структуры. Определить название месяца с максимальным объемом выпуска #1
Известен объем выпуска товара в январе, а также процент увеличения (уменьшения) объема выпуска в каждом месяце относительно предыдущего в течение всего года. Определить название месяца с максимальным объемом выпуска.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2013, 02:52     Структуры. Определить название месяца с максимальным объемом выпуска
Посмотрите здесь:

C++ Написать программу, которая по номеру месяца выдает название следующего за ним месяца (при т = 1 получаем февраль, 4 - май и т.д.).
По номеру месяца определить его название и время года к которому он относится C++
C++ По номеру месяца выдать название следующего за ним месяца
Определить название месяца C++
C++ По номеру месяца определить название времени года
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
UnsKneD
алкокодер
 Аватар для UnsKneD
153 / 149 / 11
Регистрация: 27.12.2012
Сообщений: 548
13.06.2013, 02:58     Структуры. Определить название месяца с максимальным объемом выпуска #2
DoubleCat, и в чём проблема? Хоть что нибудь написали?
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,402
13.06.2013, 04:05     Структуры. Определить название месяца с максимальным объемом выпуска #3
При чем здесь структуры? Можно обойтись одним массивом
DoubleCat
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 20
13.06.2013, 10:34  [ТС]     Структуры. Определить название месяца с максимальным объемом выпуска #4
Цитата Сообщение от MrGluck Посмотреть сообщение
При чем здесь структуры? Можно обойтись одним массивом
Ну да. Массивом. Помоги, а?
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,402
13.06.2013, 19:49     Структуры. Определить название месяца с максимальным объемом выпуска #5
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
#include <iostream>
#include <string>
#include <utility>
 
typedef std::pair<std::string, int> p_str_i; // месяц и процент
 
 
int main()
{
    const int N = 12; // число месяцев
    double result = 10000;
    // название месяца и проценты увеличения/уменьшения прибыли с прошлым месяцем
    p_str_i year[N] = {{"Jan", 100}, {"Feb", 110}, {"March", 73}, {"Apr", 171},
                       {"May", 90}, {"June", 102}, {"Jule", 112}, {"Aug", 80},
                       {"Sept", 137}, {"Oct", 90}, {"Nov", 106}, {"Dec", 104} };
    int max = result;
    std::string name = "Jan";
    for (auto &p : year)
    {
        result *= (p.second/100.0);
        if (result > max)
        {
            max = result;
            name = p.first;
        }
    }
 
    std::cout << name << " with " << max << std::endl;
}
DoubleCat
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 20
14.06.2013, 01:28  [ТС]     Структуры. Определить название месяца с максимальным объемом выпуска #6
а можно сделать то же самое, только без применения вот этих штук:"std::". Мы их не проходили.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,402
14.06.2013, 01:29     Структуры. Определить название месяца с максимальным объемом выпуска #7
DoubleCat, тогда вам в С, ибо я даже std::cout, std::cin, то бишь ввод-вывод заюзать не могу.
ssXXss
263 / 185 / 10
Регистрация: 15.01.2011
Сообщений: 668
14.06.2013, 01:32     Структуры. Определить название месяца с максимальным объемом выпуска #8
C++
1
2
3
4
//можно и в *.cpp
 
using namespace std;
....
DoubleCat
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 20
14.06.2013, 01:35  [ТС]     Структуры. Определить название месяца с максимальным объемом выпуска #9
А можно вместо "std::cout, std::cin" вводить "сout<<" и" cin >>"?

Добавлено через 1 минуту
Цитата Сообщение от ssXXss Посмотреть сообщение
C++
1
2
3
4
//можно и в *.cpp
 
using namespace std;
....


А целиком как будет выглядеть тогда?
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,402
14.06.2013, 01:35     Структуры. Определить название месяца с максимальным объемом выпуска #10
DoubleCat, std::cout - полное имя функции, cout - сокращенное, без области видимости.
std - стандартное пространство имен, где cout и определена
using namespace std; - использовать пространство имен std по умолчанию.
DoubleCat
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 20
14.06.2013, 01:41  [ТС]     Структуры. Определить название месяца с максимальным объемом выпуска #11
Цитата Сообщение от ssXXss Посмотреть сообщение
C++
1
2
3
4
//можно и в *.cpp
 
using namespace std;
....
А целиком это как тогда будет выглядеть?

Добавлено через 2 минуты
А не могли бы вы тогда написать то же самое, только с использованием
Цитата Сообщение от MrGluck Посмотреть сообщение
using namespace std
????
Я в это полный ноль, а жесть как надо до утра....

Добавлено через 1 минуту
А не могли бы вы тогда написать то же самое, только с использованием
Сообщение от MrGluck
using namespace std
????
Я в это полный ноль, а жесть как надо до утра....
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,402
14.06.2013, 01:42     Структуры. Определить название месяца с максимальным объемом выпуска #12
Сейчас вы сами поймете что не смогли сделать ерунду (я про удаление области видимости и спихивание всех функций в стандартное пространство имен)
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
#include <iostream>
#include <string>
#include <utility>
 
using namespace std;
 
typedef pair<string, int> p_str_i; // месяц и процент
 
 
int main()
{
    const int N = 12; // число месяцев
    double result = 10000;
    // название месяца и проценты увеличения/уменьшения прибыли с прошлым месяцем
    p_str_i year[N] = {{"Jan", 100}, {"Feb", 110}, {"March", 73}, {"Apr", 171},
                       {"May", 90}, {"June", 102}, {"Jule", 112}, {"Aug", 80},
                       {"Sept", 137}, {"Oct", 90}, {"Nov", 106}, {"Dec", 104} };
    int max = result;
    string name = "Jan";
    for (auto &p : year)
    {
        result *= (p.second/100.0);
        if (result > max)
        {
            max = result;
            name = p.first;
        }
    }
 
    cout << name << " with " << max << endl;
}
DoubleCat
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 20
14.06.2013, 01:46  [ТС]     Структуры. Определить название месяца с максимальным объемом выпуска #13
MrGluck,
А не могли бы вы тогда написать то же самое, только с использованием
Сообщение от MrGluck
using namespace std
????
Я в это полный ноль, а жесть как надо до утра....

Добавлено через 1 минуту
Цитата Сообщение от MrGluck Посмотреть сообщение
#include <utility>
Я возможно итак уже дико задолбал, но этого мы тоже не проходили.Нельзя обойтись без #include <utility>??? Просто мне реально это объяснять надо будет... пожааалуйста ^^
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,402
14.06.2013, 01:51     Структуры. Определить название месяца с максимальным объемом выпуска #14
DoubleCat, ну так пройдите. Единственное, для чего здесь используется utility - std:air, то бишь двойка. Это то, что связывает объекты типа string и int, т.е. каждому месяцу противопоставляется число процентов и эта структура объединена в удобный класс-обертку. При этом к первому члену идет обращение через first, ко второму через second. Можете разделить на два массива, связав их худо-бедно по индексу. Т.е. months[0] = "Jan", perc[0] = 100, они "связаны" т.к. имеют общий индекс. Но мне эта идея не так нравится
DoubleCat
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 20
14.06.2013, 01:56  [ТС]     Структуры. Определить название месяца с максимальным объемом выпуска #15
Цитата Сообщение от MrGluck Посмотреть сообщение
DoubleCat, ну так пройдите. Единственное, для чего здесь используется utility - std:air, то бишь двойка. Это то, что связывает объекты типа string и int, т.е. каждому месяцу противопоставляется число процентов и эта структура объединена в удобный класс-обертку. При этом к первому члену идет обращение через first, ко второму через second. Можете разделить на два массива, связав их худо-бедно по индексу. Т.е. months[0] = "Jan", perc[0] = 100, они "связаны" т.к. имеют общий индекс. Но мне эта идея не так нравится



один фиг, не понял. Т.е. примрно понял, но как это реализовать хз. Можно показать,как-то а? Я так обычно не наглею никогда, но меня с этим программированием достали уже. Мне по специальности не надо, а требуют. Иду на пятёрки-четвёрки по всем предметам. А по этому завал. Могут к экзаменам вообще не допустить....
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,402
14.06.2013, 02:04     Структуры. Определить название месяца с максимальным объемом выпуска #16
Почитайте пока насчет pair
Что делает pair?
там есть и мой пример использования (как мне кажется, простой)

так и быть, сейчас переделаю вам а-ля Hello world

Добавлено через 4 минуты
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
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    const int N = 12; // число месяцев
    double result = 10000;
     // названия месяцев
    string months[N] = {"Jan", "Feb", "March", "Apr", "May", "June", "Jule",
        "Aug", "Sept", "Oct", "Nov", "Dec"};
    // проценты увеличения/уменьшения прибыли с прошлым месяцем
    int pct[N] = {100, 110, 73, 171, 90, 102, 112, 80, 137, 90, 106, 104};
    int max = result;
    string name = months[0];
 
    for (int i=0; i < N; i++)
    {
        result *= (pct[i] / 100.0);
        if (result > max)
        {
            max = result;
            name = months[i];
        }
    }
 
    cout << name << " with " << max << endl;
}
DoubleCat
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 20
14.06.2013, 02:16  [ТС]     Структуры. Определить название месяца с максимальным объемом выпуска #17
MrGluck, вот спасибо!!! А вот это вот в хэлоу, уолд можно? http://www.cyberforum.ru/cpp-beginne...ml#post4712708
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2013, 02:22     Структуры. Определить название месяца с максимальным объемом выпуска
Еще ссылки по теме:

C++ Одномерные массивы: определить месяц с максимальным отклонением от плана выпуска
C++ Определить название месяца по количеству дней прошедших с 1 января 1990 года
C++ Напишите функцию, которая принимает номер месяца и возвращает название месяца согласно указанному номеру

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

Или воспользуйтесь поиском по форуму:
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,402
14.06.2013, 02:22     Структуры. Определить название месяца с максимальным объемом выпуска #18
DoubleCat, там вполне работоспособный код dalay_lama, цикл только в конце изменить на
C++
1
for (int i=N-1; i >= 0; i--)
остальное легче не напишешь.

Еще поправить нахождение макс. элемента, Например, находить по индексу
C++
1
2
3
if (Parr[i] > P[max])
    max = i;
cout <<"Your max element: " <<P[max] <<endl;
Yandex
Объявления
14.06.2013, 02:22     Структуры. Определить название месяца с максимальным объемом выпуска
Ответ Создать тему
Опции темы

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