.dsy:it. Pages (28): « First ... « 8 9 10 11 [12] 13 14 15 16 » ... 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 "FACCIALIBRO" (http://www.dsy.it/forum/showthread.php?threadid=37551)


Posted by Joy88 on 13-02-2009 14:44:

Ok, se usi il getchar fai un getchar a vuoto che poi sovrascrivi..
tanto x farti un esempio:
nome[0]= getchar();
for (i=0; i < sizeof (...); i++)
nome [i] = getchar();
poi adattalo tu..!!
spero di esserti stata di aiuto!!

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by Bloom on 13-02-2009 15:14:

Ti ringrazio!,ma non sempre memorizza in modo corretto..
Che stress ste stringhe


Posted by Joy88 on 13-02-2009 15:22:

sì è un po' un casino..
ma d'altronde stiamo usando un linguaggio 1972.. Allora il tipo string non era contemplato!!!
:D

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by Bloom on 13-02-2009 15:24:

appunto ci dovremmo evolvere.......


Posted by Joy88 on 13-02-2009 15:28:

Poi voglio vedere quando andremo a lavorare e ci faranno usare, per dire il visual basic, cosa gli racconteremo!!!! Sarà utile sapere che in c non c'è il tipo string??? Mah..
ancora un po' e l'anno prossimo ci troviamo a scrivere il pascal..

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by Bloom on 13-02-2009 16:04:

comunque....sono costretta ad avere diverse funzioni di lettura a seconda del caso....che noia......


Posted by Joy88 on 13-02-2009 16:14:

Sì certo.. e anche di scrittura!!!

__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."

*Dante*


Posted by Gehur on 13-02-2009 19:07:

Originally posted by Bloom
non sono altro che il percorso minimo tra 2 nick per system !
per system ? è il percorso minimo tra due nik ,madevi contrllare che tutti i profili che visiti appartengono all stesso gruppo


bene, posso dire di essere fregato..non avevo mica capito che bisognava cercare il persorso minimo tra 2 nick..infatti mi sembravano funzioni un po inutili :D

in pratica è il percoso minimo tra i loro amici?? cioè anche se nick e nick2 non si conoscono possono avere un grado di separazione minimo se hanno amici in comune?

insomma non solo mi mancano ancora da fare un sacco di funzioni, devo rivedere il tutto per calcolarmi sto cammino minimo..sarà davvero dura


Posted by iuz-lab on 13-02-2009 22:27:

sto' uscendo quindi faccio in anticipo gli auguri..

buon timestamp 1234567890 a tutti :-D


Posted by Benny on 14-02-2009 00:23:

rispondo a bloom per lo spazio bianco, usando strtok come esposto anche da altri puoi tokenizzare con un certo separatore, se torni un po indietro noterai varie spiegazioni che comunque sul libro o su internet trovi subito.
Ora invece rispondo a iuz-lab, purtroppo io non ci capisci un cacchio di che problemi hanno ste maledette funzioni di input, ma scovando un indizio su iprogrammatori e facendo una piccola ricerca
al link:http://forum.html.it/forum/showthread/t-1103656.html
troverete la soluzione definitiva yattaaaa:
praticamente io adesso uso soltanto scanf, come richiesto esplicitamente dal prof, ma per poter buttare dentro tutta una pappardella di roba con spazi usando la
scanf("%[^\n]s",str);
piglia tutto fino al carattere di ritorno a capo.
E adesso, se ce la faccio con tutti sti colloqui di lavoro, e con casini di vario genere spero di riuscire a farcela per il tempo che rimane
shinra tensei iiiiaaaaaaaa

__________________
Se non credi in te stesso, chi ci crederà?


Posted by hyperion on 14-02-2009 17:32:

Originally posted by Joy88
sì è un po' un casino..
ma d'altronde stiamo usando un linguaggio 1972.. Allora il tipo string non era contemplato!!!
:D


mi chiedo che cosa fanno a fare java il primo anno.....


Posted by Gehur on 14-02-2009 17:51:

be io non ci sto più con la testa..per mercoledi non riesco a finirlo..dovrò fare la versione ancora più complicata :D

non capisco che problemi ho con la cancellazione(da stamattina che la sto guardando!), e devo ancora fare il consiglia amici e il grado di separazione, in pratica mi manca tutto..cazzo passano in fretta 3 settimane

la cosa che mi da fastidio comunque è il fatto che il prossimo esame sarà tra quasi 4 mesi!! assieme a matematica e altri, tanto per rendere le cose semplici :D


Posted by iuz-lab on 14-02-2009 21:30:

Originally posted by Benny
Ora invece rispondo a iuz-lab, purtroppo io non ci capisci un cacchio di che problemi hanno ste maledette funzioni di input, ma scovando un indizio su iprogrammatori e facendo una ...


il problema è l'overflow..
se non allochi abbastanza spazio per i dati in arrivo scanf "trabocchera'" i dati oltre il limite..
code:
char *str = malloc(sizeof(char) * 10); scanf("%s", str);


malloc ti riserva lo spazio per dieci byte.. quindi hai:
|_|_|_|_|_|_|_|_|_|_|

se inserisci una stringa di 5 caratteri ("ciao!") succede questo:
|c|i|a|o|!|\0|_|_|_|_|
e questo va bene..
ma se inserisci una stringa di 11 caratteri ("ciao bella!") succede questo:
|c|i|a|o|!| |b|e|l|l||a|!|\0|

come puoi vedere scanf scrive ben oltre il limite della memoria disponibile assegnataci da malloc..

questo genera un overflow che da comportamenti non definiti..

una soluzione sarebbe allocare una quantita' di memoria ragionevolmente ampia (1000 caratteri) per rendere il programma ragionevolmente sicuro..
un'altra soluzione sarebbe quella di leggere al massimo x caratteri e fare fscanf su di essi (ma imponendo comunque un limite di grandezza delle stringhe di input prefissato)
un'altra soluzione (quella che piu' va d'accordo con i requisiti del progetto) è quella di scrivere una funzione scanf o una funzione gets che non risentono del problema dell'overflow..

dico che "va piu' d'accordo con il progetto" per via dei requisiti di tipo: "stringa di lunghezza arbitraria"


Posted by hyperion on 15-02-2009 07:58:

Originally posted by iuz-lab
il problema è l'overflow..
se non allochi abbastanza spazio per i dati in arrivo scanf "trabocchera'" i dati oltre il limite..
code:
char *str = malloc(sizeof(char) * 10); scanf("%s", str);


malloc ti riserva lo spazio per dieci byte.. quindi hai:
|_|_|_|_|_|_|_|_|_|_|

se inserisci una stringa di 5 caratteri ("ciao!") succede questo:
|c|i|a|o|!|\0|_|_|_|_|
e questo va bene..
ma se inserisci una stringa di 11 caratteri ("ciao bella!") succede questo:
|c|i|a|o|!| |b|e|l|l||a|!|\0|

come puoi vedere scanf scrive ben oltre il limite della memoria disponibile assegnataci da malloc..

questo genera un overflow che da comportamenti non definiti..

una soluzione sarebbe allocare una quantita' di memoria ragionevolmente ampia (1000 caratteri) per rendere il programma ragionevolmente sicuro..
un'altra soluzione sarebbe quella di leggere al massimo x caratteri e fare fscanf su di essi (ma imponendo comunque un limite di grandezza delle stringhe di input prefissato)
un'altra soluzione (quella che piu' va d'accordo con i requisiti del progetto) è quella di scrivere una funzione scanf o una funzione gets che non risentono del problema dell'overflow..

dico che "va piu' d'accordo con il progetto" per via dei requisiti di tipo: "stringa di lunghezza arbitraria"


ma per ottenere tipo il comando al centro in una stringa nick M nick come posso procedere?divido in token?esiste una funzione simile?i mie i ricordi arrivano da java


Posted by Bloom on 15-02-2009 13:01:

Ma voi riuscite a far stampare le virgole nella stampa dei profili in modo corretto?
Io non ci riesco!!!!


All times are GMT. The time now is 19:14. Pages (28): « First ... « 8 9 10 11 [12] 13 14 15 16 » ... Last »
Show all 417 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.