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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
DoubleCat
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 20
#1

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

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

Известен объем выпуска товара в январе, а также процент увеличения (уменьшения) объема выпуска в каждом месяце относительно предыдущего в течение всего года. Определить название месяца с максимальным объемом выпуска.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2013, 02:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Структуры. Определить название месяца с максимальным объемом выпуска (C++):

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

Определить название месяца - C++
Друзья, помогите пожалуйста решить задачки и записать их на С++. 2. С начала 1990 года по некоторый день прошло n месяцев и 2 дня....

По номеру месяца определить название времени года - C++
Написать программу которая запрашивает у пользователя номер месяца и затем выводит соответствующее название времени года.В случае если...

По номеру месяца определить его название и время года к которому он относится - C++
По номеру месяца определить его название и время года к которому он относится (на Си) Во-первых, именуйте темы осмысленно! ...

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

При вводе порядкового номера месяца вывести название этого месяца - C++
Написать программу, которая при вводе порядкового номера месяца (1, 2, 3 и тд) выводит название этого месяца. Взять 6 месяцев Нуждаюсь...

17
UnsKneD
алкокодер
154 / 150 / 11
Регистрация: 27.12.2012
Сообщений: 548
13.06.2013, 02:58 #2
DoubleCat, и в чём проблема? Хоть что нибудь написали?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7418 / 4533 / 673
Регистрация: 29.11.2010
Сообщений: 12,287
13.06.2013, 04:05 #3
При чем здесь структуры? Можно обойтись одним массивом
0
DoubleCat
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 20
13.06.2013, 10:34  [ТС] #4
Цитата Сообщение от MrGluck Посмотреть сообщение
При чем здесь структуры? Можно обойтись одним массивом
Ну да. Массивом. Помоги, а?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7418 / 4533 / 673
Регистрация: 29.11.2010
Сообщений: 12,287
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
DoubleCat
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 20
14.06.2013, 01:28  [ТС] #6
а можно сделать то же самое, только без применения вот этих штук:"std::". Мы их не проходили.
0
MrGluck
Модератор
Эксперт CЭксперт С++
7418 / 4533 / 673
Регистрация: 29.11.2010
Сообщений: 12,287
14.06.2013, 01:29 #7
DoubleCat, тогда вам в С, ибо я даже std::cout, std::cin, то бишь ввод-вывод заюзать не могу.
0
ssXXss
266 / 188 / 10
Регистрация: 15.01.2011
Сообщений: 681
14.06.2013, 01:32 #8
C++
1
2
3
4
//можно и в *.cpp
 
using namespace std;
....
0
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;
....


А целиком как будет выглядеть тогда?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7418 / 4533 / 673
Регистрация: 29.11.2010
Сообщений: 12,287
14.06.2013, 01:35 #10
DoubleCat, std::cout - полное имя функции, cout - сокращенное, без области видимости.
std - стандартное пространство имен, где cout и определена
using namespace std; - использовать пространство имен std по умолчанию.
1
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
????
Я в это полный ноль, а жесть как надо до утра....
0
MrGluck
Модератор
Эксперт CЭксперт С++
7418 / 4533 / 673
Регистрация: 29.11.2010
Сообщений: 12,287
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
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>??? Просто мне реально это объяснять надо будет... пожааалуйста ^^
0
MrGluck
Модератор
Эксперт CЭксперт С++
7418 / 4533 / 673
Регистрация: 29.11.2010
Сообщений: 12,287
14.06.2013, 01:51 #14
DoubleCat, ну так пройдите. Единственное, для чего здесь используется utility - std:air, то бишь двойка. Это то, что связывает объекты типа string и int, т.е. каждому месяцу противопоставляется число процентов и эта структура объединена в удобный класс-обертку. При этом к первому члену идет обращение через first, ко второму через second. Можете разделить на два массива, связав их худо-бедно по индексу. Т.е. months[0] = "Jan", perc[0] = 100, они "связаны" т.к. имеют общий индекс. Но мне эта идея не так нравится
1
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, они "связаны" т.к. имеют общий индекс. Но мне эта идея не так нравится



один фиг, не понял. Т.е. примрно понял, но как это реализовать хз. Можно показать,как-то а? Я так обычно не наглею никогда, но меня с этим программированием достали уже. Мне по специальности не надо, а требуют. Иду на пятёрки-четвёрки по всем предметам. А по этому завал. Могут к экзаменам вообще не допустить....
0
14.06.2013, 01:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2013, 01:56
Привет! Вот еще темы с ответами:

По номеру месяца выдать название следующего за ним месяца - C++
Написать программу, которая по номеру месяца выдает название следующего за ним месяца (при m=1 получаем февраль, 4-май и т.д)

Напишите функцию, которая принимает номер месяца и возвращает название месяца согласно указанному номеру - C++
Напишите функцию, которая принимает номер месяца и возвращает название месяца согласно указанному номеру

Написать программу, которая по номеру месяца выдает название следующего за ним месяца (при т = 1 получаем февраль, 4 - май и т.д.). - C++
Написать программу, которая по номеру месяца выдает название следующего за ним месяца (при т = 1 получаем февраль, 4 - май и т.д.). ...

Из листа бумаги со сторонами a и b свернуть коробочку с максимальным объемом. - C++
Из прямоугольного листа бумаги со сторонами a и b надо свернуть коробочку с максимальной площадью, какая будет длина стороны. Помогите...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru