|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2006
Messaggi: 27870
|
[C] array di stringhe senza ripetizioni
Sto andando in crisi su una minchiata:
"Scrivere un programma che legga da tastiera una stringa P, un intero N e una sequenza S di N stringhe. Il programma deve stampare in ordine lessicografico tutte le stringhe distinte in S che hanno P come suffisso" L'input e formattato nel seguente modo: la prima riga contiene la stringa P mentre la seconda riga contiene l'intero N. Seguono N righe contenenti una stringa ciascuna. L'output a video deve contenere solo e soltanto le stringhe distinte che soddisfano la condizione sopra ordinate lessicogracamente e stampate una per riga L'output a video deve contenere solo e soltanto le stringhe distinte che soddisfano la condizione sopra ordinate lessicogracamente e stampate una per riga " http://pastebin.com/uE9UnPam questo è il mio codice (a forza di modificarlo spero di non averci scritto boiate) gcc -o non mi da errori, ho però errore di segmentazione.(potrei usare valgrind, ma se mi spiegaste dove sbaglio e perchè forse la prox volta evieterei di commettere errori simili)
__________________
CPU: Ryzen 5700x COOLER: Noctua NH-D15S MOBO: Gigabyte b550 Professional RAM: 4x8 @3600 GPU: XfX Qick319 Rx6700XT HD1: Sk Hynix Platinum p41 2TB HD2: Sabrent Rocket 1TB MONITOR: Xaomi Mi Curved 34"
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
|
Qui
Codice:
b=(char**)malloc(occ*sizeof(char*));
for(i=0;i<occ;i++)
strcpy(b[i],a[i]);
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2013
Città: Nel cuore dell'8 Mile di Detroit
Messaggi: 3968
|
ho guardato il codice ma...
allochi 101 caratteri di char per ogni ciclata e poi gli scrivi sopra ma non fai prima a mettere una stringa di 101 char cosi' il vettore preallocato è sempre quello dato che ne conosci già la dimensione, fissa ? a ogni ciclata finisto di usare temp, dovresti fare free(temp); cosi' stai creando dei leaks |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Sep 2006
Messaggi: 27870
|
intanto correggo quest'oscenità...il compilatore quando vede ste cose dovrebbe essere autorizzato a insultarmi
__________________
CPU: Ryzen 5700x COOLER: Noctua NH-D15S MOBO: Gigabyte b550 Professional RAM: 4x8 @3600 GPU: XfX Qick319 Rx6700XT HD1: Sk Hynix Platinum p41 2TB HD2: Sabrent Rocket 1TB MONITOR: Xaomi Mi Curved 34"
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Sep 2006
Messaggi: 27870
|
Quote:
l'ho utilizzato perchè ho fatto qualche esercizio, tipo questo http://pastebin.com/qD30eLm2 e il temp interno mi aveva fatto comodo
__________________
CPU: Ryzen 5700x COOLER: Noctua NH-D15S MOBO: Gigabyte b550 Professional RAM: 4x8 @3600 GPU: XfX Qick319 Rx6700XT HD1: Sk Hynix Platinum p41 2TB HD2: Sabrent Rocket 1TB MONITOR: Xaomi Mi Curved 34"
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
|
Anche in questo esercizio vedo un sacco di malloc ma niente free ...
Se non c'è lo stesso numero di malloc e di free, allora hai un memory leak |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Sep 2006
Messaggi: 27870
|
Hai ragionissima, ma detto sinceramente al momento le Free le ignoro, al momento nel senso al mio livello, xké non pesano... Ovviamente a meno che non mi diano esplicitamente errore...vedo di aggiungerle cmq ;-)
__________________
CPU: Ryzen 5700x COOLER: Noctua NH-D15S MOBO: Gigabyte b550 Professional RAM: 4x8 @3600 GPU: XfX Qick319 Rx6700XT HD1: Sk Hynix Platinum p41 2TB HD2: Sabrent Rocket 1TB MONITOR: Xaomi Mi Curved 34"
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Sep 2006
Messaggi: 27870
|
FUNZIONA!
grazie mille a entrambi
__________________
CPU: Ryzen 5700x COOLER: Noctua NH-D15S MOBO: Gigabyte b550 Professional RAM: 4x8 @3600 GPU: XfX Qick319 Rx6700XT HD1: Sk Hynix Platinum p41 2TB HD2: Sabrent Rocket 1TB MONITOR: Xaomi Mi Curved 34"
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Nov 2013
Città: Nel cuore dell'8 Mile di Detroit
Messaggi: 3968
|
secondo me potresti evitare di usare la malloc
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
Quote:
Ad ogni modo, è indubbiamente utile imparare a liberare la memoria allocata dinamicamente.
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Nov 2013
Città: Nel cuore dell'8 Mile di Detroit
Messaggi: 3968
|
sperando che lo faccia
se è un approccio didattico pero' sarebbe bene imparare a farlo subito |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:10.










HD1: Sk Hynix Platinum p41 2TB HD2: Sabrent Rocket 1TB MONITOR: Xaomi Mi Curved 34"









