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

Сколько клиентов обслужит мастер за смену продолжительностью T? - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.73
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
01.10.2011, 16:22     Сколько клиентов обслужит мастер за смену продолжительностью T? #1
Задали задачи на Си.
Для каждого посетителя парикмахерской (с одним мастером) известны t - момент его прихода и to – продолжительность его обслуживания. Сколько клиентов обслужит мастер за смену продолжительностью T?
Я так понял что тут нужно использовать циклы.Но написать прогу не могу.
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <math.h.>
using namespace std; 
int main(void)
{ int t;  // момент прихода посетителя
  int to; // продолжительность его обслуживания
  int T;  // продолжительность смены
cout << "\nVvedite vremya prihoda kazhdogo klienta po poraydku:";
cin >> t;
cout << "\nVvedite prodolghitelnost obslughivaniya";
cin >>to;
Добавлено через 1 минуту
Подскажите как дальше прогу писать.... а то запутался капитально)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2011, 16:22     Сколько клиентов обслужит мастер за смену продолжительностью T?
Посмотрите здесь:

C++ Подсчитать, сколько в трёх различных строках буквенных символах, а сколько цифровых
Определить сколько раз слова встречаются в тексте и сколько непосредственно друг за другом. C++
C++ Как создать сервер для подключения множества клиентов
вывести клиентов трех банков, работа с классами... C++
Проверить сколько открывающихся скобок, и сколько закрывающихся C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
05.10.2011, 11:02     Сколько клиентов обслужит мастер за смену продолжительностью T? #21
Цитата Сообщение от diagon Посмотреть сообщение
очнее в данном случае эта запись ничего не делает и не несет никакой смысловой нагрузки.
о_0
А как же код завершения программы, который возвращается системе? Это оч смысловая нагрузка.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
05.10.2011, 11:04     Сколько клиентов обслужит мастер за смену продолжительностью T? #22
Цитата Сообщение от Deviaphan Посмотреть сообщение
о_0
А как же код завершения программы, который возвращается системе? Это оч смысловая нагрузка.
Там return 0 в конце main'a стоит.
А последняя строка main'a интерпретируется как return 0, или что-то в этом роде.
В общем возвращается 0 по умолчанию.
Хотя насчет С89 не уверен...
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
06.10.2011, 08:50  [ТС]     Сколько клиентов обслужит мастер за смену продолжительностью T? #23
Объясните пожалуйста, что это еще за оператор "beginwork" и функции srand qsort???? Блин...мы такое еще даже не учили. Можно ли упростить эту программу?

Добавлено через 18 часов 37 минут
В общем нужно считать что клиенты приходили по очереди и один за другим.

Добавлено через 11 минут
вот ошибки:
In function `int main()':
`time' undeclared (first use this function)
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
06.10.2011, 08:51     Сколько клиентов обслужит мастер за смену продолжительностью T? #24
C
1
#include <time.h>
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
06.10.2011, 08:57  [ТС]     Сколько клиентов обслужит мастер за смену продолжительностью T? #25
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
39
40
41
42
43
44
45
46
47
48
49
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int compare(const void *i, const void *j){
    return *(int *)i - *(int *)j;
}
 
int main(){
    int to = 30, T, beginwork, count = 0;
    int t[50], i;
 
    srand(time(0));
    T = (24 * 60) / 2; //äëèГ*Г* Г°Г*áî÷åãî Г¤Г*Гї 12 Г·Г*ñîâ (Гў ñóòî÷Г*ûõ ìèГ*ГіГІГ*Гµ), ГЄГ*ГЄ Г*Г* ГЇГ«Г*Г*ГІГ*öèÿõ
    beginwork = 0;     //ñäâèã Г*Г*Г·Г*Г«Г* Г°Г*áî÷åãî Г¤Г*Гї. Г*Г*Г·ГЁГ*Г*ГҐГ¬ òðóäèòüñÿ Гў 00:00 ГЄГ*ГЄ ðåГ*ëüГ*ûé ëèГ*óêñîéä, êîòîðûé "ГўГ±Гѕ Г*î÷ü gentoo ïèëèë"
 
    //ГЈГҐГ*åðèðóåì âðåìÿ ïðèõîäГ* îâå÷êîâ
    //óñëîâГ*Г® Г±Г·ГЁГІГ*ГҐГ¬ ГҐГЈГ® îòГ*îñèòåëüГ*Г® Г*Г*Г·Г*Г«Г* Г°Г*áî÷åãî Г¤Г*Гї
    for (i = 0; i < 50; ++i)
        t[i] = rand() % T + 15;
 
    qsort(t, 50, sizeof(int), compare);
    i = 0;
 
    while(beginwork < T && i < 50){
 
        if (i == 0){
            beginwork += t[i] + to;
            ++count;
        }
        else{
            if (beginwork >= t[i]){
                beginwork += to;
                ++count;
            }
            else{
                beginwork += (t[i] - beginwork + to);
                ++count;
            }
        }
        ++i;
    }
    printf("\nâðåìÿ ïðèõîäîâ ïîñåòèòåëåé Гў ìèГ*ГіГІГ*Гµ îòГ*îñèòåëüГ*Г® Г*Г*Г·Г*Г«Г* Г°Г*áîòû\n\n");
    for (i = 0; i < 50; ++i)
        printf("%d ", t[i]);
    printf("\n\n");
    printf("óñïåëè ïîäñòè÷ü ïîñåòèòåëåé %d", count);
    printf("\n\n");
    return 0;
}
вот у меня все так и не работает(((

Добавлено через 2 минуты
то есть вот так))
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
39
40
41
42
43
44
45
46
47
48
49
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int compare(const void *i, const void *j){
    return *(int *)i - *(int *)j;
}
 
int main(){
    int to = 30, T, beginwork, count = 0;
    int t[50], i;
 
    srand(time(0));
    T = (24 * 60) / 2; //длина рабочего дня 12 часов (в суточных минутах), как на плантациях
    beginwork = 0;     //сдвиг начала рабочего дня. начинаем трудиться в 00:00 как реальный линуксойд, который "всю ночь gentoo пилил"
 
    //генерируем время прихода овечков
    //условно считаем его относительно начала рабочего дня
    for (i = 0; i < 50; ++i)
        t[i] = rand() % T + 15;
 
    qsort(t, 50, sizeof(int), compare);
    i = 0;
 
    while(beginwork < T && i < 50){
 
        if (i == 0){
            beginwork += t[i] + to;
            ++count;
        }
        else{
            if (beginwork >= t[i]){
                beginwork += to;
                ++count;
            }
            else{
                beginwork += (t[i] - beginwork + to);
                ++count;
            }
        }
        ++i;
    }
    printf("\nвремя приходов посетителей в минутах относительно начала работы\n\n");
    for (i = 0; i < 50; ++i)
        printf("%d ", t[i]);
    printf("\n\n");
    printf("успели подстичь посетителей %d", count);
    printf("\n\n");
    return 0;
}
Добавлено через 49 секунд
но все равно не работает((( хотя вроде бы расчеты ты предложил грамотные...
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
06.10.2011, 08:58     Сколько клиентов обслужит мастер за смену продолжительностью T? #26
Цитата Сообщение от Вася1q Посмотреть сообщение
вот у меня все так и не работает(((
что значит не работает? конкретно, что, где, как именно, как это выглядит и чем пахнет
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
06.10.2011, 09:53  [ТС]     Сколько клиентов обслужит мастер за смену продолжительностью T? #27
вот скрин прогораммы. Язык у меня русский неправильно отображает, но это не проблема. Главное в самой ошибке.
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
06.10.2011, 09:58  [ТС]     Сколько клиентов обслужит мастер за смену продолжительностью T? #28
http://s61.***********/i174/1110/8a/eb7095477508.jpg
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
06.10.2011, 09:59     Сколько клиентов обслужит мастер за смену продолжительностью T? #29
Цитата Сообщение от Вася1q Посмотреть сообщение
Главное в самой ошибке.
можжет вы все таки скажете что за такая таинственная ошибка? насчет локализации кириллицы, это кто-то другой подскажет, я не в курсе как это делается.
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
06.10.2011, 10:01  [ТС]     Сколько клиентов обслужит мастер за смену продолжительностью T? #30
я копирую код программы, который ты сделал. Вставляю его в программу DEV C++ успешно компилирую ее. Затем запускаю и на экран выводятся эти числа. И мне даже не приходится НИЧЕГО вводить.
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
06.10.2011, 10:03     Сколько клиентов обслужит мастер за смену продолжительностью T? #31
Вася1q, а ты возьми и напиши пару тройку строк, чтобы тебе приходилось что-то вводить.
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
06.10.2011, 10:03  [ТС]     Сколько клиентов обслужит мастер за смену продолжительностью T? #32
Может просто сделать расчет на то что посетители приходят один за другим без пауз и по очереди.Т.е. перекуров =) у парикмахера нет. Так наверное намного легче будет. Или все так нет?
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
06.10.2011, 10:05     Сколько клиентов обслужит мастер за смену продолжительностью T? #33
Вася1q, разницы нет, программа учитывает и приходы баранов и простои кидалы
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
06.10.2011, 10:08  [ТС]     Сколько клиентов обслужит мастер за смену продолжительностью T? #34
Цитата Сообщение от alkagolik Посмотреть сообщение
Вася1q, а ты возьми и напиши пару тройку строк, чтобы тебе приходилось что-то вводить.
не понял) каких именно строк? Извини если туплю)

Добавлено через 1 минуту
по идеи программа должна запрашивать ввод данных, а тут этого не происходит(
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
06.10.2011, 10:08     Сколько клиентов обслужит мастер за смену продолжительностью T? #35
Цитата Сообщение от Вася1q Посмотреть сообщение
не понял) каких именно строк? Извини если туплю)
а ты не тупи. ты написал в посте что ошибка в том, что программа не ждет от тебя ввода значений, а потом все это стер.
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
06.10.2011, 10:11  [ТС]     Сколько клиентов обслужит мастер за смену продолжительностью T? #36
alkagolik, я тебя правильно понял. У тебя программа верно работает, а у меня что-то не то?
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
06.10.2011, 10:28     Сколько клиентов обслужит мастер за смену продолжительностью T? #37
Вася1q, ну ты борода откуда я знаю что там у тебя то или не то?
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
06.10.2011, 10:33  [ТС]     Сколько клиентов обслужит мастер за смену продолжительностью T? #38
ХААХ.да я смешной)))) а у тебя хоть работает прога? объясни как ты ее запускаешь и что вводишь?
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
06.10.2011, 10:38     Сколько клиентов обслужит мастер за смену продолжительностью T? #39
вот скрин
Миниатюры
Сколько клиентов обслужит мастер за смену продолжительностью T?  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.10.2011, 10:42     Сколько клиентов обслужит мастер за смену продолжительностью T?
Еще ссылки по теме:

Определить, сколько среди чисел четных и сколько нечетных C++
C++ Определить сколько деталей можно изготовить за смену
C++ Как серверу выборочно посылать сообщения одному из клиентов?

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

Или воспользуйтесь поиском по форуму:
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
06.10.2011, 10:42  [ТС]     Сколько клиентов обслужит мастер за смену продолжительностью T? #40
Ты наверное немного не понял формулировки задачи. Нужно с клавы ввести момент прихода посетителей, продолжительность обслуживания, а кол-во клиентов ввывести на экран.
Yandex
Объявления
06.10.2011, 10:42     Сколько клиентов обслужит мастер за смену продолжительностью T?
Ответ Создать тему
Опции темы

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