FIFO (front a zásobník) – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

FIFO (front a zásobník) – C / C++ – Fórum – Programujte.comFIFO (front a zásobník) – C / C++ – Fórum – Programujte.com

 

ico2220
Duch
2. 11. 2011   #1
-
0
-

Potrebujem vytvorit triedu, ktorá bude predstavovať „nekonečný“ FIFO front pre celé čísla. 

-push - vloz do fronty

-pop- vyber z fronty

Nahlásit jako SPAM
IP: 158.193.98.–
Pudni tvor+2
Stálý člen
2. 11. 2011   #2
-
0
-

   

struct NODE {
  int   number;
  NODE* next;
};

struct FIFO {
  NODE* first;
  NODE* last;
};

void init(FIFO* fifo)
{
  fifo->first = NULL;
  fifo->last  = NULL;
}

void push(FIFO* fifo, int number)
{
  NODE* node = new NODE;
  node->number = number;
  node->next   = NULL;

  if (fifo->last) {
    fifo->last->next = node;
  } else {
    fifo->first = node;
    fifo->last  = node;
  }
}

int pop(FIFO* fifo)
{
  assert(fifo->first != NULL && "Fronta je prazdna!");
  
  NODE* node = fifo->first;
  int number = node->number;
  
  fifo->first = node->next;
  delete node;

  if (fifo->first == NULL) fifo->last = NULL;

  return number;
}
Nahlásit jako SPAM
IP: 90.180.213.–
ico2220
Duch
2. 11. 2011   #3
-
0
-

no dobre ... potrebujem to rozdelit do clasov a urcite viac zdrojoveho kodu ... toto by mi profak nezobral ... potrebujem tam zasobnik a pop a push ...

Nahlásit jako SPAM
IP: 158.193.98.–
Pudni tvor+2
Stálý člen
2. 11. 2011   #4
-
0
-

#3 ico222
To už bys měl zvládnout sám.

Nahlásit jako SPAM
IP: 90.180.213.–
ico2220
Duch
2. 11. 2011   #5
-
0
-

no mam toho vela ... praca ... skola ... zapocotvky a do zajtra ... no uvidime ... ak by mi niekto pomohol dakujem pekne ..

Nahlásit jako SPAM
IP: 158.193.98.–
profak
~ Anonymní uživatel
1 příspěvek
3. 11. 2011   #6
-
0
-

Hej,

odkaz pre Teba: ico222

Ked nevies napisat takuto trivalnu vec, chod makat rukami.

Si lameroidny somar.

Nahlásit jako SPAM
IP: 147.229.75.–
universal
~ Anonymní uživatel
8 příspěvků
11. 12. 2011   #7
-
0
-

 pokud to tu jeste neni moc mrtve 
jak by vypadala funkce pro vytisknuti cele fronty prosim?

Nahlásit jako SPAM
IP: 85.92.58.–
KIIV
~ Moderátor
+43
God of flame
11. 12. 2011   #8
-
0
-

jednoduse... do funkce predas ukazatel na prvni prvek fronty a pak se posouvas dokud nejsi na konci...

neco jako:   while ( ptr != NULL ) {  printf("%d",ptr->number); ptr = ptr->next; }

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
universal
~ Anonymní uživatel
8 příspěvků
11. 12. 2011   #9
-
0
-

#8 KIIV
tohle sem v mem programu delal ale nefunguje mi to 
byl by jste prosim ochotny zkontrolovat mi kod?

Nahlásit jako SPAM
IP: 85.92.58.–
KIIV
~ Moderátor
+43
God of flame
11. 12. 2011   #10
-
0
-

hod ho sem rovnou .. proc se ptat jestli se muzes ptat ? :D

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
universal
~ Anonymní uživatel
8 příspěvků
11. 12. 2011   #11
-
0
-

#10 KIIV
protoze ukol mam odevzdat do 8 do rana a kdyby ucitel nahodou brouuzdal tak aby mi nerekl ze sem kod opsal

Nahlásit jako SPAM
IP: 85.92.58.–
KIIV
~ Moderátor
+43
God of flame
11. 12. 2011   #12
-
0
-

to oddalujes.. ja uz se pomalu chystam spat ...

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
universal
~ Anonymní uživatel
8 příspěvků
11. 12. 2011   #13
-
0
-

typedef struct prvek{
    int     hodnota;
    struct  prvek *spoj;
}PRVEK;

typedef struct fronta{
    PRVEK *celo;
    PRVEK *konec;
}FRONTA;

void print (PRVEK *p){
while (p!=NULL) {
     printf ("%d\t", p -> hodnota);
     p = p -> spoj;
}
}

Nahlásit jako SPAM
IP: 85.92.58.–
universal
~ Anonymní uživatel
8 příspěvků
11. 12. 2011   #14
-
0
-

jo a fci volam s f ....print(f);

Nahlásit jako SPAM
IP: 85.92.58.–
KIIV
~ Moderátor
+43
God of flame
11. 12. 2011   #15
-
0
-

jestli je f typu fronta tak z toho musis vytahnout "celo" 

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
universal
~ Anonymní uživatel
8 příspěvků
11. 12. 2011   #16
-
0
-

tak nejak trochu mi to funguje 
po pouziti mi zas blbne jina funkce ale samotne printf uz jede 
dekuju

Nahlásit jako SPAM
IP: 85.92.58.–
universal
~ Anonymní uživatel
8 příspěvků
11. 12. 2011   #17
-
0
-

jeste bych se zeptal jak mam osetrit nejaky program proti tomu aby mi tam nezadavaly pismena misto cisel
uz mam osetrene cisla jen v rozmezi ale s pismeny si nevym rady
mam tam while(1<=volbaVmenu<=4)

Nahlásit jako SPAM
IP: 85.92.58.–
universal
~ Anonymní uživatel
8 příspěvků
11. 12. 2011   #18
-
0
-

#15 KIIV
obevil sem chybu u toho printu
kdyz h ozavolam jednou tak funguje ale pri druhem vypisu me spadne program

Nahlásit jako SPAM
IP: 85.92.58.–
KIIV
~ Moderátor
+43
God of flame
12. 12. 2011   #19
-
0
-

#17 universal
podminky se nedaj takhle retezit - respektive daji ale nedela to to co chces   1<= volba se srovna a prevede na 0 false nebo 1 true  a tudle hodnotu pak srovnavas jestli je mensi nebo rovna 4 - takze ted mas vlastne tautologii (vzdy pravdivy vyraz) - na hodnote volby nezalezi

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
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, 21 hostů

Podobná vlákna

Bring To Front — založil janc1

C++ , z LIFO na FIFO — založil Danndy

Front-end developer — založil Pixelko

Z LIFO urobit FIFO — založil xXx

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ý