Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Pannello QD-OLED da 32 pollici con risoluzione 4K, frequenza di aggiornamento a 240Hz e tempi di risposta rapidissimi: il Gigabyte MO32U24 evolve il progetto del suo predecessore MO32U e alza ulteriormente l'asticella delle prestazioni. È ancora una volta un monitor indirizzato ai giocatori più esigenti
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
realme 16 5G è un nuovo smartphone con sensore Sony IMX 852 da 50MP sul retro e uno specchio selfie fisico integrato nella camera bar, una prima nel segmento di mercato. Batteria da 6550mAh in un corpo da 8,1mm e 183g, certificazione IP69K e ricarica da 45W completano un pacchetto aggressivo per la fascia media, per uno dei prodotti più interessanti del produttore sul piano commerciale
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Sono ormai definitive le nuove norme del Codice della Strada per i monopattini elettrici. Non solo targa e assicurazione, le regole sono tante e riguardano diversi aspetti, vi spieghiamo come evitare sanzioni che possono essere salate
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-11-2007, 23:30   #1
gepeppe
Senior Member
 
L'Avatar di gepeppe
 
Iscritto dal: Jun 2005
Città: Napoli
Messaggi: 2599
[c] stack con array

salve a tutti m devo sviluppare uno stack statico con array, in cui ogni elemento contiene una stringa, quindi uso un array di puntatori a char. Solo che ogni volta che tolgo un elemento sembra che contanga na stringa indefinita. Vi posto lo stack:

Codice:
#define MAX  1000
#define EMPTY -1
#define FULL  (MAX - 1)
/*questo è lo stack con l'array di "stringhe"*/
typedef struct stack{
	char *s[MAX];
	int top;
} stack;

/*funzioni*/

void reset(stack *stk)
{
	stk -> top = EMPTY;
}
void push(char *string, stack *stk)
{
	int TOP;
	TOP = stk -> top++;
	stk -> s[TOP] = calloc(8, sizeof(char));
	strcpy(stk -> s[TOP], string);
}
char *pop(stack *stk)
{
	return (stk -> s[stk -> top--]);
}
char *top(stack *stk)
{
	return (stk -> s[stk -> top]);
}
int empty(stack *stk)
{
	/*restituisce 1 se vuoto*/
	return (stk -> top == EMPTY);
}
int full(stack *stk)
{
	/*restituisce 1 se è pieno*/
	return (stk -> top == FULL);
}
Se ora eseguo questa piccola parte di codice mi da errore:

Codice:
    stack stk;
    char temp[8];

    reset(&stk);
    
    push("casa", &stk);
    push("mare", &stk);
/*non voglio perdere il valore tolto*/
    strcpy(temp, pop(&stk));
    printf("%s\n", temp);
    printf("%s\n", pop(&stk));
__________________
Hp pavilion dv6-1250el [cpu: P8700 - ati radeon hd 4650 1 gb - 4 gb ram - hd 320 7200 rpm!] Garmin Official Thread
gepeppe è offline   Rispondi citando il messaggio o parte di esso
Old 10-11-2007, 00:00   #2
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2790
Io credo che l'errore sia nel push, mi sembra, ma non sono sicuro, che l'istruzione
Codice:
TOP = stk -> top++;
metta in TOP il valore di stk->top e dopo incrementi stk->top mi sembra però strano che non ti dia errore già dal primo push.. Prova a dividere l'istruzione in due, prima l'incremento e poi l'assegnazione e vedi se così funziona.
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 10-11-2007, 08:36   #3
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
in effetti si, al primo push fai un buffer underflow...
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 10-11-2007, 11:41   #4
gepeppe
Senior Member
 
L'Avatar di gepeppe
 
Iscritto dal: Jun 2005
Città: Napoli
Messaggi: 2599
edit..nulla, ora sembra funzionare...grazie..ma mi rifarò sentire
__________________
Hp pavilion dv6-1250el [cpu: P8700 - ati radeon hd 4650 1 gb - 4 gb ram - hd 320 7200 rpm!] Garmin Official Thread

Ultima modifica di gepeppe : 10-11-2007 alle 12:13.
gepeppe è offline   Rispondi citando il messaggio o parte di esso
Old 10-11-2007, 12:47   #5
gepeppe
Senior Member
 
L'Avatar di gepeppe
 
Iscritto dal: Jun 2005
Città: Napoli
Messaggi: 2599
vabbè..ci rinuncio!! di nuovo non funziona!!! forse è sbagliata come implementazione dello stack con array. Vi allego il sorgente del file dello stack, basta provatelo e vedrete che non va..ma non riesco proprio a capire il motivo....la cosa più strana, è che dopo l'istruzione reset, che inizializza top a -1, quando richiamo il push inizia da zero, poi incrementa, va a 1, e quindi inizia a salvare dal posto 1..provare per credere!!!
Allegati
File Type: zip file.zip (893 Bytes, 3 visite)
__________________
Hp pavilion dv6-1250el [cpu: P8700 - ati radeon hd 4650 1 gb - 4 gb ram - hd 320 7200 rpm!] Garmin Official Thread
gepeppe è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming Gigabyte MO32U24 OLED: il 4K a 240Hz su un panne...
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh Recensione realme 16 5G: lo smartphone con Selfi...
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni Come rispettare tutte le nuove regole per i mono...
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Anche OPPO avrà uno smartphone co...
La Radeon RX 9070 XT appare su Steam e m...
L'America si ribella ai datacenter: bloc...
'Artificial General Engineer': l'IA di J...
Il drone NASA Dragonfly, che voler&agrav...
Stop immediato a Fable 5 e Mythos 5: il ...
"Prime Day Amazon il 23-26 giugno": sì e...
Oggi 2 super MacBook Pro M5 e M5 Pro, 24...
Tineco Floor One Station S9 Artist: il s...
Raggiunte nuove altitudine e velocit&agr...
Apple Watch Series 11 GPS a 339€ su Amaz...
Come un MacBook, ma con la RTX 5070: MSI...
Paolo Zaccardi: "Smettere di assume...
Finalmente a buon prezzo 2 mini PC con R...
Samsung Galaxy Watch 7: uno crolla a 146...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:26.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v