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

Объяснить как работает программа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Лабораторки по програмированию http://www.cyberforum.ru/cpp-beginners/thread323219.html
лаба1 Написать программу для расчета стоимости междугородних разговоров. Программа выводит на экран приглашение на ввод дня недели (может вводиться как число или как символ или как символьная строка), время начала разговора (а 24 часовом формате), продолжительность разговора (в минутах). Программа выдает результат как счет за разговор: День недели - **, начало разговора -** (часов),...
C++ Есть небольшой код программы, надо отсортировать по модулям Я программировал только на Делфи(пару лет назад). Есть небольшой код программы на C++(небольшой учет товаров), не знаю как сделать из нее приложение...., поскольку уже давно не программировал. Может ли кто-нибудь помочь? Заранее благодарю. http://www.cyberforum.ru/cpp-beginners/thread322177.html
Моделирование каммутатора ethernet (layer.2) C++
помогите найти программу по заданной теме!!! Заранее благодарю....
Деструкторы, аналоги освобождения памяти C++
Доброго времени суток. Возник следующий вопрос. Какие, помимо деструкторов, способы очистки памяти существуют. Спасибо за уделенное время. PS Прошу прощения за возможно некорректно(неточно, неинформативно) поставленный вопрос. Данная формулировка является формулировкой преподавателя, возможно проффи поймут о чем идет речь.
C++ Создание простого приложения для Windows 9x/NT, решил как смог. Пожалуйста подскажите что исправить или добавить http://www.cyberforum.ru/cpp-beginners/thread321561.html
задание: окно фон зелёный размер 500х400 курсор IDT_HAND При закрытии окна вывести ФИО Мой вариант: HWND hWnd Wnd Class wc; wc.Style=NULL; wc.hCursor=LoadCursor(NULL,IDT_HAND) wc.lpszMenuName=NULL;
 

Показать сообщение отдельно
monkey_tree
0 / 0 / 0
Регистрация: 21.06.2011
Сообщений: 8

Объяснить как работает программа - C++

21.06.2011, 08:42. Просмотров 403. Ответов 0
Метки (Все метки)

объясните пжлста как работает, и что для чего используется
вот задание: имеется поток для 3 очередей. Заявки отсортированы по времени поступления в каждую очередь. НАписать прогу печатающую порядокв котором эти заявки будут обслуженны. Время обслуживания заявок одинаковое. формат вых файла: кол-во заявок в первой очереди, список моментов времени в которые они возникают, анологично для 2й и 3й. В вых файл для каждой обслуженной заявки печатается номер очереди и время прихода заявки

вход
3
1
5
7
2
2
10
11

выход
1 1
2 2
1 5
1 7
2 10
3 11


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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#include "stdafx.h"
using namespace std;
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
 
system("cls"); //Очищает содержимое экрана
char* Fname = "input.txt";
ifstream myin(in_Fname);
if (!myin.is_open()) // если нет файла прога закрывается
{
exit(1);
};
int startnum=0;
int tNum=0;
//создаем очереди
queue <int> FirstQ,SecondQ,ThirdQ;
int NumQueue=0;
//заносим данные в череди
while (!myin.eof())
{
myin>>startnum;
for (int i=0;i<startnum;++i)
{
if (myin>>tNum)
{
switch (NumQueue)
{
case 0:
FirstQ.push(tNum);
break;
case 1:
SecondQ.push(tNum);
break;
case 2:
ThirdQ.push(tNum);
break;
default:
break;
}
}
}
++NumQueue;
if (NumQueue>2)
break;
}
myin.close();
int OfFirstQ = EndQueue , OfSecondQ = EndQueue , OfThirdQ = EndQueue;
/*подсчитывает результат и выводим*/
do
{
//значение из первой очереди
if (!FirstQ.empty())
{
if (OfFirstQ==EndQueue)
{
OfFirstQ=FirstQ.front();
FirstQ.pop();
}
}
//значение из второй очереди
if (!SecondQ.empty())
{
if (OfSecondQ==EndQueue)
{
OfSecondQ=SecondQ.front();
SecondQ.pop();
}
}
//значение из третьей очереди
if (!ThirdQ.empty())
{
if (OfThirdQ==EndQueue)
{
OfThirdQ=ThirdQ.front();
ThirdQ.pop();
}
}
CorrectOutValueAndWrite (OfFirstQ,OfSecondQ,OfThirdQ);
} while (OfFirstQ != EndQueue || OfSecondQ != EndQueue || OfThirdQ != EndQueue);
return 0;
}
 
int CorrectOutValueAndWrite (int &OfFirstQ,int &OfSecondQ,int &OfThirdQ)
{
ofstream myout(out_Fname,ios::app);
if (!myout.is_open())
{
myout.close();
exit(1);
};
if ((OfFirstQ<=OfSecondQ && OfFirstQ<=OfThirdQ && OfFirstQ!=EndQueue && OfSecondQ!=EndQueue && OfThirdQ!=EndQueue) || (OfSecondQ==EndQueue && OfFirstQ<=OfThirdQ && OfFirstQ!=EndQueue) || (OfThirdQ==EndQueue && OfFirstQ<=OfSecondQ && OfFirstQ!=EndQueue) || (OfThirdQ==EndQueue && OfSecondQ==EndQueue && OfFirstQ!=EndQueue))
{
myout<<1<<" "<<OfFirstQ<<endl;
OfFirstQ=EndQueue;
myout.close();
return 0;
}
if ((OfSecondQ<=OfFirstQ && OfSecondQ<=OfThirdQ && OfFirstQ!=EndQueue && OfSecondQ!=EndQueue && OfThirdQ!=EndQueue) || (OfFirstQ==EndQueue && OfSecondQ<=OfThirdQ && OfSecondQ!=EndQueue) || (OfThirdQ==EndQueue && OfSecondQ<=OfFirstQ && OfSecondQ!=EndQueue) || (OfThirdQ==EndQueue && OfSecondQ!=EndQueue && OfFirstQ==EndQueue))
{
myout<<2<<" "<<OfSecondQ<<endl;
OfSecondQ=EndQueue;
myout.close();
return 0;
}
if ((OfThirdQ<=OfFirstQ && OfThirdQ<=OfSecondQ && OfFirstQ!=EndQueue && OfSecondQ!=EndQueue && OfThirdQ!=EndQueue) || (OfSecondQ==EndQueue && OfThirdQ<=OfFirstQ && OfThirdQ!=EndQueue) || (OfFirstQ==EndQueue && OfThirdQ<=OfSecondQ && OfThirdQ!=EndQueue) || (OfThirdQ!=EndQueue && OfSecondQ==EndQueue && OfFirstQ==EndQueue))
{
myout<<3<<" "<<OfThirdQ<<endl;
OfThirdQ=EndQueue;
myout.close();
return 0;
}
myout.close();
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru