Simulace autoservisu – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Simulace autoservisu – C / C++ – Fórum – Programujte.comSimulace autoservisu – C / C++ – Fórum – Programujte.com

 

Jurasz0
Duch
12. 3. 2011   #1
-
0
-

prosím o radu jak by jste naprogramovali tohle ???


Problém
V autoservisu poskytují opravy v N různých provozech (např. N = 5). Každý požadavek na opravu v příslušném provozu je zařazen do seznamu na konec. Nicméně se může stát, že vznikne potřeba mimořádné opravy, v tom případě je požadavek na opravu zařazen na začátek seznamu a oprava je realizována neprodleně. Realizace opravy trvá jednu časovou jednotku. Simulujte průběh realizace oprav pro M požadavků (např. M = 500). Předpokládejte, že v jedné časové jednotce může vzniknout až P nových požadavků (např. P = 7).


implementace:

Čísla N, P deklarujte jako globální konstanty.
Každý provoz reprezentujte jednosměrným seznamem implementovaným pomocí ukazatelů. Nepoužívejte třídy (seznam bude reprezentován jako struktura).
N provozů reprezentujte polem, prvky pole budou seznamy.
Prvek seznamu (požadavek na opravu) implementujte jako strukturu, která bude obsahovat iden-tifikaci požadavku na opravu (číslo typu int), provoz, pro který je oprava plánována (číslo typu int) a potřebu zařazení mimo pořadí (hodnota typu bool)
Průběh realizace oprav reprezentujte cyklem while, který bude ukončen, pokud budou všechny seznamy prázdné. V každém kroku cyklu (jedné časové jednotce) bude všem provozům (sezna-mům), pokud nebudou prázdné, odebrán jeden požadavek na opravu. Pokud celkový počet po-žadavků vygenerovaných během simulace nedosáhl M, bude náhodně vygenerována další skupi-na požadavků (nejméně 1, nejvýše P, celkem nejvýše M). Identifikátorem požadavku na opravu je pořadí, ve kterém byl vygenerován (první požadavek bude mít identifikátor 1, poslední M). Dále se náhodně vygeneruje provoz, pro který je oprava určena (0 až N- 1), a náhodně se vygeneruje potřeba zařazení mimo pořadí. Poté se nově vygenerované požadavky na opravy zařadí správně do seznamů reprezentujících provozy (mimořádné na začátek a ostatní na konec).
Na výstupu zobrazte odděleny mezerou tyto operace:
Vygenerování nového požadavku na opravu ve formě G#1*P#2][#3], kde #1 je identifikace poža-davku, #2 je požadovaný provoz a #3 je potřeba zařazení mimo pořadí. Normální desátý požada-vek na druhý provoz bude vytisknut ve tvaru G10[P1][0] (mimo pořadí G10[P1][1]).
Vložení požadavku do seznamu ve formě V#1*S#2+, kde #1 je identifikace požadavku, #2 je poža-dovaný provoz a #3 je potřeba mimo pořadí. Pokud bude vložen desátý požadavek do seznamu pro druhý provoz v normálním pořadí, bude na výstupu V10[S1][0].
Realizace jednoho požadavku (odebrání ze seznamu) ve formě O#1*S#2], kde #1 je identifikace požadavku a #2 provoz. Pokud realizujeme desátý požadavek v seznamu pro druhý provoz, bude na výstupu O10*1+.

předem díky za rady a návody .
je to urgetní

Nahlásit jako SPAM
IP: 86.49.56.–
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
12. 3. 2011   #2
-
0
-

To Jurasz : no asi nejdřive si udělej seznam aby si mohl prvky vkladat jak na konec se seznamu tak na zacatek a vymazat jednotlive prvky, plno navodu najdeš na ineternetu(to bude asi ta nejtezsi cast) no a pak realizovami vkladani novych pozadavku a vybirani uz tak tezke nebude...

Nahlásit jako SPAM
IP: 82.99.180.–
Jurasz0
Duch
12. 3. 2011   #3
-
0
-

díky za rady a návody, ale moc by pomohl zdrojový kód, který řeší tenhle problém

Nahlásit jako SPAM
IP: 86.49.56.–
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
12. 3. 2011   #4
-
0
-

To Jurasz : Jak jsi s takovým přístupem prošel předmětem Algoritmy I? Nebo snad Algoritmy II na jedničku nenavazují? :-)

Nahlásit jako SPAM
IP: 213.211.34.–
Jurasz0
Duch
12. 3. 2011   #5
-
0
-

To Anonymní uživatel : no jak včem

Nahlásit jako SPAM
IP: 86.49.56.–
Smrtak0
Duch
13. 3. 2011   #6
-
0
-

Zdravím,
může být seznám naiplementován takto? :

struct provoz
{
int pozadavek;
struct pozadavky
{
int identifikace;
int provozident;
bool poradi;
};

provoz* Next;
};

struct List
{

provoz* Head;
provoz* Current;
};

Nejsem si jist jak udělat jednosměrný seznam ve kterém lze vkládat i přednostně na začátek.

Nahlásit jako SPAM
IP: 84.42.241.–
Jurasz0
Duch
13. 3. 2011   #7
-
0
-

To Smrtak : já myslím, že by to tak mohlo být ;)

Nahlásit jako SPAM
IP: 86.49.56.–
Jurasz0
Duch
13. 3. 2011   #8
-
0
-

To Smrtak : já myslím, že by to tak mohlo být ;)

Nahlásit jako SPAM
IP: 86.49.56.–
Smrtak0
Duch
13. 3. 2011   #9
-
0
-

A když si zvolím číslo N (počet provozů) např jako 3. tak 3x implemetuju takto seznam pro každý provoz nebo to jde i lépe ?

Nahlásit jako SPAM
IP: 84.42.241.–
Jurasz0
Duch
13. 3. 2011   #10
-
0
-

To Smrtak : možná to jde i lépe, ale já použiji to co jsi mi říkal

Nahlásit jako SPAM
IP: 86.49.56.–
Jurasz0
Duch
13. 3. 2011   #11
-
0
-

akorát bych ještě potřeboval pomoct s tím cyklem while

Nahlásit jako SPAM
IP: 86.49.56.–
Kawaswakwi
~ Anonymní uživatel
1 příspěvek
31. 3. 2015   #12
-
0
-

Zdravicko resim stejny ukol a nejak si nevim rady s funkci na odebrani z fronty (resp. realizace opravy).. pomuze nekdo ? :D

Nahlásit jako SPAM
IP: 2001:718:1001:69d:c05c:a8...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 122 hostů

Podobná vlákna

Simulace uživatele — založil midnighter@centrum.cz

SIMULACE CINNOSTI — založil VLAD

Simulace pokladny — založil Noneus

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý