Anteprima
Vedrai una selezione di 1 pagina su 5
Analisi di un programma della pila e della coda Pag. 1
1 su 5
Disdici quando vuoi 162x117
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Sintesi
Pila e Coda

Esempio della gestione di un magazziono con le pile e le code in c++.
Estratto del documento

intero ero pila_a[100],pila_b[100],pila_c[100],coda[100],q=0,i1=0,i2=0,i0=0,k1=0

bool pieno1

Se (i0 100)

ritorna vero

altrimenti

ritorna falso

bool pieno2

Se (i1 100)

ritorna vero

altrimenti

ritorna falso

bool pieno3

Se (i2 100)

ritorna vero

altrimenti

ritorna falso

procedura canc (intero n)

intero i

Se (k1>0)

finché (i n+1 i<k1 i++)

coda[i-1] coda[i]

k1--

procedura ins (intero b)

intero n, i

file f

Se(f)

f.aperto ("prova.txt",ios::app)

n rand()%3

Se(k1>0)

nel caso (n)

caso 0: Se (!pieno1())

finché (i i0 i>0 i--)

pila_a[i] pila_a[i-1]

pila_a [0]=coda[0]

i0++

canc(0)

f stampa ”pila_a[i]”

chiuso.

caso 1:

Se (!pieno2())

finché (i i1 i>0 i--)

pila_b[i] pila_b[i-1]

pila_b [0] coda[0]

i1++

canc(0)

f stampa “pila_b[i]"

chiuso.

Caso 2

Se (!pieno3())

finché (i i2 i>0 i--)

pila_c[i] pila_c[i-1]

pila_c [0] coda[0]

i2++

canc(0)

f stampa “pila_c[i]"

chiuso.

stampa "pila a:"

finché (i 0 i<i0 i++)

stampa pila_a[i]

stampa "pila b:"

finché (i 0 i<i1 i++)

stampa pila_b[i]

stampa "pila c:"

finché (i 0 i<i2 i++)

stampa pila_c[i]

stampa " "

f.chiuso()

altrimenti

stampa "errore apertura file"

bool pieno ()

Se (q 100)

ritorna vero

altrimenti

ritorna falso

procedura inserimento (intero coda[],intero * b)

Se (!pieno())

*b rand()%100

coda[k1] *b

k1++

q++

k1 k1%100

stampa *b

altrimenti

stampa "la coda e' piena"

procedura stampa_file ()

carattere riga[80]

ifstream f

f.open("prova.txt",ios::in)

finché (f.getline(riga,80))

stampa riga

f.chiuso ()

procedura est()

intero pila

intero i

pila rand()%3

nel caso(pila)

caso 0: Se(i0>0)

finché (i 1 i<i0 i++)

pila_a[i-1] pila_a[i]

i0--

chiuso

caso 1: Se(i1>0)

finché (i=1 i<i1 i++)

pila_b[i-1]=pila_b[i]

i1--

chiuso

caso 2: Se(i2>0)

finché (i=1 i<i2 i++)

pila_c[i-1]=pila_c[i]

i2--

chiuso

intero main ()

intero scelta,i

srand((unsigned) time (NULL))

intero b=0

do do stampa "1-inserimento del materiale arrivato!!! "

stampa "2-spostamento dalla scatola del materiale arrivato "

stampa "3-Stampa file "

stampa "4-estrazione dalla scatola "

Dettagli
Publisher
5 pagine
134 download