Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 20
1

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

13.06.2013, 02:52. Показов 881. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Известен объем выпуска товара в январе, а также процент увеличения (уменьшения) объема выпуска в каждом месяце относительно предыдущего в течение всего года. Определить название месяца с максимальным объемом выпуска.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2013, 02:52
Ответы с готовыми решениями:

Написать программу для того что бы определить название k-го месяца после заданного месяца
Написать программу для того что бы определить название k-го месяца после заданного месяца. Заранее...

По введёному номеру месяца определить название месяца
Народ поманите плз :help: мне надо срочно решить 4 задачи ,а то мне грозит отчисление:wall:, 1...

По введенному номеру месяца определить название месяца.
По введенному номеру месяца определить название месяца. Люди помогите написать программу буду...

По введёному номеру месяца определить название месяца
По введёному номеру месяца определить,название месяца. на ассемблере программа должна быть...

17
алкокодер
157 / 153 / 41
Регистрация: 27.12.2012
Сообщений: 550
13.06.2013, 02:58 2
DoubleCat, и в чём проблема? Хоть что нибудь написали?
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
13.06.2013, 04:05 3
При чем здесь структуры? Можно обойтись одним массивом
0
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 20
13.06.2013, 10:34  [ТС] 4
Цитата Сообщение от MrGluck Посмотреть сообщение
При чем здесь структуры? Можно обойтись одним массивом
Ну да. Массивом. Помоги, а?
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
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;
}
0
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 20
14.06.2013, 01:28  [ТС] 6
а можно сделать то же самое, только без применения вот этих штук:"std::". Мы их не проходили.
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
14.06.2013, 01:29 7
DoubleCat, тогда вам в С, ибо я даже std::cout, std::cin, то бишь ввод-вывод заюзать не могу.
0
267 / 189 / 33
Регистрация: 15.01.2011
Сообщений: 681
14.06.2013, 01:32 8
C++
1
2
3
4
//можно и в *.cpp
 
using namespace std;
....
0
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;
....


А целиком как будет выглядеть тогда?
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
14.06.2013, 01:35 10
DoubleCat, std::cout - полное имя функции, cout - сокращенное, без области видимости.
std - стандартное пространство имен, где cout и определена
using namespace std; - использовать пространство имен std по умолчанию.
1
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
????
Я в это полный ноль, а жесть как надо до утра....
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
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;
}
0
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 20
14.06.2013, 01:46  [ТС] 13
MrGluck,
А не могли бы вы тогда написать то же самое, только с использованием
Сообщение от MrGluck
using namespace std
????
Я в это полный ноль, а жесть как надо до утра....

Добавлено через 1 минуту
Цитата Сообщение от MrGluck Посмотреть сообщение
#include <utility>
Я возможно итак уже дико задолбал, но этого мы тоже не проходили.Нельзя обойтись без #include <utility>??? Просто мне реально это объяснять надо будет... пожааалуйста ^^
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
14.06.2013, 01:51 14
DoubleCat, ну так пройдите. Единственное, для чего здесь используется utility - std:air, то бишь двойка. Это то, что связывает объекты типа string и int, т.е. каждому месяцу противопоставляется число процентов и эта структура объединена в удобный класс-обертку. При этом к первому члену идет обращение через first, ко второму через second. Можете разделить на два массива, связав их худо-бедно по индексу. Т.е. months[0] = "Jan", perc[0] = 100, они "связаны" т.к. имеют общий индекс. Но мне эта идея не так нравится
1
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, они "связаны" т.к. имеют общий индекс. Но мне эта идея не так нравится



один фиг, не понял. Т.е. примрно понял, но как это реализовать хз. Можно показать,как-то а? Я так обычно не наглею никогда, но меня с этим программированием достали уже. Мне по специальности не надо, а требуют. Иду на пятёрки-четвёрки по всем предметам. А по этому завал. Могут к экзаменам вообще не допустить....
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
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;
}
1
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 20
14.06.2013, 02:16  [ТС] 17
MrGluck, вот спасибо!!! А вот это вот в хэлоу, уолд можно? https://www.cyberforum.ru/cpp-... ost4712708
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
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;
1
14.06.2013, 02:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2013, 02:22
Помогаю со студенческими работами здесь

Одномерные массивы: определить месяц с максимальным отклонением от плана выпуска
Известен месячный план выпуска некоторой продукции и объемы выпущенной продукции заводом за год...

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

База программ. О каждой программе: название, назначение, тип (системная, прикладная, инструментальная), год выпуска. Поиск по названию и году выпуска
Тема: записи. База программ. О каждой программе: название, назначение, тип (системная, прикладная,...

Определить название месяца
С начала 1990 года по некоторый день прошло n месяцев и 2 дня. Определять название месяца ( январь,...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru