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

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

Войти
Регистрация
Восстановить пароль
 
greeezz
273 / 166 / 4
Регистрация: 10.07.2011
Сообщений: 441
#1

Нужен совет по условию задачи. - C++

09.10.2011, 03:37. Просмотров 526. Ответов 5
Метки нет (Все метки)

Всем доброго дня.

Занимаюсь по Дейтелу. в седьмой главе есть задача. Моя проблема в том что я не могу понять условие задачи.
Вот она на русском

Используйте одномерный массив для решения следующей задачи. Компания
платит своим продавцам на комиссионной основе. Продавцы получают 200 долларов
в неделю плюс 9 процентов от валовой продажи за эту неделю. Например,
продавец, валовая продажа которого за неделю составила 5000 долларов, получает 200
долларов плюс 9 процентов от 5000 долларов, или всего 650 долларов. Напишите
программу (используя массив счетчиков), которая определяет, сколько продавцов
получили заработную плату в каждом из следующих диапазонов (примем
допущение, что зарплата каждого продавца округляется до целого значения):
1. $200-$299
2. $300-$399
3. $400-$499
4. $500-$599
5. $600-$699
6. $700-$799
7. $800-$899
8. $900-$999
9. $1000 и более

Вот она на английском

Use a one-dimensional array to solve the following problem. A company pays its salespeople on a commission basis. The salespeople each receive $200 per week plus 9 percent of their gross sales for that week. For example, a salesperson who grosses $5000 in sales in a week receives $200 plus 9 percent of $5000, or a total of $650. Write a program (using an array of counters) that determines how many of the salespeople earned salaries in each of the following ranges (assume that each salesperson's salary is truncated to an integer amount):

a. $200$299

b. $300$399

c. $400$499

d. $500$599

e. $600$699

f. $700$799



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

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

Нужен совет для решения задачи - C++
Задача. Написать программу которая читает последовательность слов с стандартного устройства ввода. И находит среди них...

Нужен совет - C++
Вообщем написал программу, вкратце : сущ-ет класс человек, а классы менеджер, рабочий и ученый наследуют его св-ва. Нужно обратиться к...

Нужен совет! - C++
Доброго времени суток! Возможно таких тем как эта было уже миллион.. но всё же, хотелось бы услышать ваше мнение. Поставил перед...

Нужен совет - C++
Всем добрый день. Кто нибудь может поделиться компилятором Турбо Си++ или каким нибудь другим ...? Или подсказать где можно...

Нужен совет! - C++
Здравствуйте уважаемые! Подскажите пожалуйста книгу по С++ , чтобы в ней толком обьяснялось про такие детали, как к примеру _WIN32_WINDOWS...

Нужен совет: - C++
я учусь в 2-ом курсе на программиста у меня есть базовые знание c++,STL до сих пор работал только с консолью,опыта нету что дальше...

5
aeshes
441 / 204 / 13
Регистрация: 07.10.2011
Сообщений: 462
09.10.2011, 03:54 #2
по-моему. твоя задача аналог задачи про кубики и про опрос о студенческой столовой из той же главы.
У тебя есть массив зарплат продавцов. Например, 250, 317, 211, 799, 1024, 567, 619, 821, 2033
Тебе нужно подсчитать, сколько зарплат попадают в диапазон 200-299, 300-399 (все зарплаты выше 1000 считать одним диапазоном) и т.д., т.е. получить на выходе массив:
1 2 3 4 5 6 7 8 9 -> индексы - это номера диапазонов
2 1 0 1 1 1 1 0 2 -> элементы массива - число продавцов с зарплатой в диапазоне
1
greeezz
273 / 166 / 4
Регистрация: 10.07.2011
Сообщений: 441
09.10.2011, 04:31  [ТС] #3
aeshes,
т.е. фактически я должен взять на свое усмотрение любое количество продавцов, дать возможность пользователю ввести сумму валовых продаж за неделю для каждого продавца (или например приготовить заранее массив) и затем с учетом 9типроцентной премии посчитать сколько из них входит в диапазон. Мдя.. с точки зрения програмиирования задача элементарная.
0
aeshes
441 / 204 / 13
Регистрация: 07.10.2011
Сообщений: 462
09.10.2011, 16:24 #4
greeezz, да, именно так. Можно даже еще упростить и сразу считать, что у тебя есть N чисел - уже вычисленных зарплат. Суть задачи здесь не в том, чтоб она была сложная или очень приближенная к реальности, а в том, чтобы закрепить навыки использования элементов массива как счетчиков - просто тренировка одного из навыков
0
Gepar
1177 / 533 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
09.10.2011, 16:36 #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
30
31
32
33
34
35
36
37
//Программа для вывода диаграммы зп работников
 
# include <iostream>
# include <iomanip>
# include <ctime>
# include <cstdlib>
using namespace std;
 
int main()
{
    const int size=15;
    int a[size]={0};
    int temp;
    for (int i=1;i<=10;i++)
    {
        cout<<"Enter sum for worker N"<<i<<": ";
        cin>>temp;
        a[(200+(temp/100*9))/100]++;
    }
    for (int i=2; i<size; i++)
    {
        if (i==10)
        {
            cout<<endl;
            cout<<i<<". $"<<"more "<<i*100;
        }
        else if (i>10);
        else
        {
            cout<<endl;
            cout<<i<<". $"<<i*100<<"-"<<i*100+99;
        }
        for(int j=0;j<a[i];j++)
        cout<<"*";
    }
    return 0;
}

Хотя вот теперь что-то вижу что в ней есть недостатки, нука сейчас поправлю ...
А нет, всё верно она делает, я забыл что там проценты начисляются так что всё правильно считает (за исключением проверки на переполнение).
0
greeezz
273 / 166 / 4
Регистрация: 10.07.2011
Сообщений: 441
09.10.2011, 18:33  [ТС] #6
Gepar,
С точки зрения программирования задача элементарная. Просто для меня программирование как математика. Задача должна быть поставлена однозначно, чтобы не надо было домысливать. С моей точки зрения у готовой программы только одна правильная логика. Именно та, которая нужна "заказчику". В данном случае автору книги.


P.S. ваш код не рабочий. Если например ввести sum 15000 в вашем массиве не к чему будет прибавлять единицу.

уж лучше тогда (на мой взгляд)
как то так

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>
 
using namespace std;
 
int main() {
    const int size=11;
    int a[size]={0};
    int temp;
    int salary;
 
    for (int i=1;i<=5;i++) {
        cout<<"Enter sum for worker N"<<i<<": ";
        cin>>temp;
        salary = (200+(temp/100*9))/100;
        if(salary>=10){
            a[10]++;
        } else {
            a[salary]++;
        }
    }
    for (int i=2; i<size; ++i)  {
        if (i==10) {
            cout<<endl;
            cout<<i<<". $"<<"more "<<i*100;
        }
        else {
            cout<<endl;
            cout<<i<<". $"<<i*100<<"-"<<i*100+99;
        }
        for(int j=0;j<a[i];j++)  {
            cout<<"*";
        }
            
    }
 
    return 0;
}
0
09.10.2011, 18:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2011, 18:33
Привет! Вот еще темы с ответами:

Нужен совет - C++
Последний раз прогал очень давно, уже подзабыл, нужен совет. Дан текстовый файл, в котором имеется последовательность чисел (например 2 2...

Нужен совет! - C++
Как можно сделать что бы переменную произвольного типа объявленную в одной функции, можно было использовать во всех остальных(все остальные...

Нужен совет! - C++
Народ вот у меня вопрос если я прочитаю книгу &quot;Программирование. Принцыпы и практика использования C++&quot; и кое что не пойму то стоит ли...

нужен совет!!! - C++
блин скачала еле как этот си...dev c++....ввожу программу и нажимаю компелировать...он компелирует видимо и ничего не выдает...кроме того...


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

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

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