|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2006
Messaggi: 27851
|
[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 ![]() |
![]() |
![]() |
![]() |
#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: 3788
|
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: 27851
|
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 ![]() |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Sep 2006
Messaggi: 27851
|
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 ![]() |
|
![]() |
![]() |
![]() |
#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: 27851
|
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 ![]() |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Sep 2006
Messaggi: 27851
|
FUNZIONA!
![]() grazie mille a entrambi ![]()
__________________
CPU: Ryzen 5700x COOLER: Noctua NH-D15S MOBO: Gigabyte b550 Professional RAM: 4x8 @3600 GPU: XfX Qick319 Rx6700XT ![]() |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Nov 2013
Città: Nel cuore dell'8 Mile di Detroit
Messaggi: 3788
|
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: 3788
|
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: 05:08.