Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
278 / 174 / 21
Регистрация: 10.07.2011
Сообщений: 441

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

09.10.2011, 03:37. Показов 1694. Ответов 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.10.2011, 03:37
Ответы с готовыми решениями:

нужен совет по решению задачи
Помогите пожалуйста дописать задачу. Условие задачи: Разработать каталог кинофильмов. В каталоге предусмотреть хранение следующей...

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

Нужен совет по решению задачи
Суть задачи: Удалить заказы, сделанные на книги издательства МИР в последние месяцы. Я делаю так --ссылка удалена Но возникает...

5
 Аватар для aeshes
448 / 211 / 21
Регистрация: 07.10.2011
Сообщений: 462
09.10.2011, 03:54
по-моему. твоя задача аналог задачи про кубики и про опрос о студенческой столовой из той же главы.
У тебя есть массив зарплат продавцов. Например, 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
278 / 174 / 21
Регистрация: 10.07.2011
Сообщений: 441
09.10.2011, 04:31  [ТС]
aeshes,
т.е. фактически я должен взять на свое усмотрение любое количество продавцов, дать возможность пользователю ввести сумму валовых продаж за неделю для каждого продавца (или например приготовить заранее массив) и затем с учетом 9типроцентной премии посчитать сколько из них входит в диапазон. Мдя.. с точки зрения програмиирования задача элементарная.
0
 Аватар для aeshes
448 / 211 / 21
Регистрация: 07.10.2011
Сообщений: 462
09.10.2011, 16:24
greeezz, да, именно так. Можно даже еще упростить и сразу считать, что у тебя есть N чисел - уже вычисленных зарплат. Суть задачи здесь не в том, чтоб она была сложная или очень приближенная к реальности, а в том, чтобы закрепить навыки использования элементов массива как счетчиков - просто тренировка одного из навыков
0
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
09.10.2011, 16:36
Ничего сложно, вот я когда-то делал
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
278 / 174 / 21
Регистрация: 10.07.2011
Сообщений: 441
09.10.2011, 18:33  [ТС]
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.10.2011, 18:33
Помогаю со студенческими работами здесь

Нужен совет с решением задачи
Суть токова в xhtml есть 2 формы: Где вводится значение и кнопка &quot;ок&quot;. Надо чтоб,когда пользователь ввел значение в это поле и нажал...

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

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

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

Решение задачи. Нет вывода на экран вариантов ответов. Нужен совет
using System; namespace oop5 { public static class Program { public class...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru