![]() |
Pages (13): « First ... « 4 5 6 7 [8] 9 10 11 12 » ... Last » Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Algoritmi e strutture dati (http://www.dsy.it/forum/forumdisplay.php?forumid=207)
-- Progetto "DIE HARD" (http://www.dsy.it/forum/showthread.php?threadid=39661)
Esatto e quindi ho:
contenitori[cont][0] che contiene lo stato del contenitore e contenitori[cont][1] che contiene il livello massimo del contenitore 
Ovviamente non potendo sapere a priori quanti contenitori verranno creati con il comando N contenitori viene allocato dinamicamente.
ciao a tutti,
vorrei chiedervi delle delucidazioni in merito alla funzione configurazioni (d):
mettiamo che io sono in 0[3] 5[5]
e d è 3
io devo stampare tutte le pox combinazioni che si possono trovare in 3 passi:
quindi come questo: svuota[2]-riempi[1]-travasa[1][2]
oppure stesse operazioni per d volte(ovviamente se possibile)e quindi non come l'esempio fatto sopra:
quindi riempi riempi riempi
svuota svuota scuota
travasa travasa travasa
??
spero di essermi spiegato..
io ho fatto cosi:
se mi chiede con zero passi restituisco la configurazione base
con un passo faccio tutti i possibili casi quindi con i ltuo imput sarebbe 00 . 35 . 32
con due passi rifaro tutti i pasaggi un'altra volta ottenendo :
da 00: 30 . 05
da 35: nulla perche se no ripeterei configurazioni appena trovate dal passo 00
da 32: 02 . 35
e cosi via per ogni passo
con questo metodo l'imput del prof corrisponde....
spero di averti chiarito i dubbi ![]()
Raga vi spiego perché un array bidimensionale non è la struttura dati migliori (secondo la prof. Lonati):
code:
Per un numero abbastanza grande di contenitori non è detto che nella memoria ci sia abbastanza spazio (consecutivo) per l'allocazione della memoria necessaria per contenere l'intero array...
__________________
http://utenti.lycos.it/awo23/sko02.jpg
ma il prototipo della funzione deve seguire quello del progetto o è a nostra discrezione? Mi spiego meglio:
Nel testo del progetto la funzione visualizza viene definita come
visualizza();
io ad esempio poso crearla come
visualizza( struct...);
(cioè passandogli un parmetro)
è a nostra discrezione..
__________________
Live Fast, Die Fun
ok ho risolto
__________________
Live Fast, Die Fun
Ragazzi ma se i risultati del sono identici a quelli del prof. ma non nello stesso ordine??? Va bene lo stesso???
Originally posted by arfish
Ragazzi ma se i risultati del sono identici a quelli del prof. ma non nello stesso ordine??? Va bene lo stesso???
__________________
Live Fast, Die Fun
ciao,
dpo tutto mi sono accorto ora di avere un problema all'inizio..
nell'inserimento delle capacità io ho utilizzato un
while(getchar()!='\n')
{
se diverso da ' ' inserisco il valore nel vett
}
il problema è che usando il getchar il valore è un carattere che vado a inserire in un vett di caratteri che poi trasformo in intero..
il problema è che cosi facendo prende numero <10
perche se inserisco 10 il getchar me li prende come 2 numeri diversi..
quindi mi fa un cont da 1 e un cont da 0..
ho provato a fare sempre il while con il getchar e poi all'interno lo scanf ma si blocca..
help me..
Originally posted by francescoo
ciao,
dpo tutto mi sono accorto ora di avere un problema all'inizio..
nell'inserimento delle capacità io ho utilizzato un
while(getchar()!='\n')
{
se diverso da ' ' inserisco il valore nel vett
}
il problema è che usando il getchar il valore è un carattere che vado a inserire in un vett di caratteri che poi trasformo in intero..
il problema è che cosi facendo prende numero <10
perche se inserisco 10 il getchar me li prende come 2 numeri diversi..
quindi mi fa un cont da 1 e un cont da 0..
ho provato a fare sempre il while con il getchar e poi all'interno lo scanf ma si blocca..
help me..
code:
leggi_input(vett *v){ int n,c; v->i=(int *)malloc(sizeof(int)); v->dim=0; while((c=getchar()) != '\n') { scanf ("%d", &n); v->i=(int *)realloc(v->i,(v->dim+1)*sizeof(int)); v->i[v->dim]=n; v->dim++; } } struct vett{ int dim; int i*; }
__________________
Live Fast, Die Fun
praticamente è quello che ho fatto anche io..
pero alcune volte va altre si blocca del tutto..viene fuori il messaggio di windows che si è bloccato..
dici che puo essere xke sbaglio nel deallocare?
qlcn sa il motivo di questo errore?
forse ho risolto..quando eseguivo la malloc non mettevo sizeof(int) e quindi probabilmente andava fuori..
puo essere questo il motivo per cui il programma si bloccava?
e cosa mettevi?? comunque nella malloc devi specificare la grandezza dell'area da allocare, quindi direi che sizeof è necessario ![]()
__________________
Live Fast, Die Fun
Scusate, ho qualche dubbio...
- L'operazione "e", esiste, stampa sì o no a seconda che dalla configurazione attuale sia possibile o meno raggiungere una configurazione in cui almeno un contenitore ha livello k.
Almeno intende che sia minino k o "esattamente" k?
Per l'operazione "raggiungibile", invece, voi come l'avete interpretata? Sono fermo perché ho diverse ipotesi, ma non riesco a implementare in modo efficiente.
| All times are GMT. The time now is 18:41. | Pages (13): « First ... « 4 5 6 7 [8] 9 10 11 12 » ... Last » Show all 185 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.