Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    56

    [c] comportamento anomalo

    mi potete aiutare,si verifica un problema qui
    codice:
    for(e=0;e<dim_max;e++)
        {
         if(magazino[0]==stringa[e]&&stringa[e+c+1]==' ')
          {       
               printf("\n\nla parola si trova dalla %d alla %d\nposizione della stringa",e,(e+c));
          }
        }
    ps si tratta di tutti vettori char, il tratto con una parola contenuta nel vettore magazino la ricerca nel vettore stringa
    grazie

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quale problema?

    Tieni presente che le stringhe in C non si confrontano in quel modo ... si usa la funzione strcmp ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    56
    grazie oregon
    ma per il confronto sono vincolato alla funzione (altrimenti ottengo comportamenti inaspettati) o posso creare io una solo per fini di apprendimento?
    forse, il comportamento del vettore dovrebbe essere sempre quello

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da jc74
    ma per il confronto sono vincolato alla funzione
    No ... ne puoi anche creare una tu ... ma non si fa con ==

    (altrimenti ottengo comportamenti inaspettati)
    Con la strcmp? E perchè mai?

    il comportamento del vettore dovrebbe essere sempre quello
    Questa non l'ho capita ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    56
    Originariamente inviato da oregon
    No ... ne puoi anche creare una tu ... ma non si fa con ==
    perchè no, vado a confrontare l'elemento 0 del vettore mag con elemento e del vettore strin
    se è "uguale" verifico pure che a una data distanza da e ho uno spazio.
    verificate entrambi ho la parola, forse sbaglio qualcosa???

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da jc74
    perchè no, vado a confrontare l'elemento 0 del vettore mag con elemento e del vettore strin
    se è "uguale" verifico pure che a una data distanza da e ho uno spazio.
    verificate entrambi ho la parola, forse sbaglio qualcosa???
    Allora ... comincia a chiarire cosa sono i vettori di cui parli.

    Se sono vettori di stringhe allora non puoi confrontare gli elementi (che sono delle stringhe) in quel modo.

    Se sono vettori di char allora puoi farlo perchè confronti dei char e non delle stringhe.

    Quando hai del codice che poni problemi, mostralo tutto, soprattutto le strutture dati coinvolte.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    56
    Originariamente inviato da oregon
    Allora ... comincia a chiarire cosa sono i vettori di cui parli.

    Se sono vettori di stringhe allora non puoi confrontare gli elementi (che sono delle stringhe) in quel modo.

    Se sono vettori di char allora puoi farlo perchè confronti dei char e non delle stringhe.

    Quando hai del codice che poni problemi, mostralo tutto, soprattutto le strutture dati coinvolte.
    è questa la cosa che non mi è chiara, pertanto vettori di stringhe sono differenti da vettori di char, non ho possibilità di trattare uno come l'altro, sto cercando di dare un occhiata ai testi, ma mi pare che la questione vettori caratteri, vettori stringhe è affrontata separatamente, ma non chiariscono la differenza, pertanto se puoi tu?
    immaginiamo un vettore char (ciao) e un vettore stringa (ciao) ora la differenza è??
    cioè come si presentano
    vettore char c-i-a-o-\0
    vettore string ??????
    se da qualche parte se ne è già parlato o conosci un link che mi può chiarire l'aspetto te ne sarei grato

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Sono argomenti trattati in qualsiasi libro (anche di base) del C.

    La stringa del C è un vettore di char (in cui l'ultimo elemento, terminatore, è zero binario)

    Un vettore di stringhe in C, quindi, non è altro che un array (inteso come matrice) di char.

    Ad esempio, una stringa è

    char s[100];

    un vettore di stringhe

    char ss[20][100];
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    56
    aspetta credo di non aver ancora centrato il punto.
    vettori di stringhe e vettori di char in realtà le conosco come strutture come tu riporti
    vet chat array mono
    vet string array bidim
    ma la singola stringa, vediamo se così mi posso chiarire:
    vettore char (ciao)
    e la singola stringa
    vettore stringa (ciao)
    non sono entrambi vettori che posso trattare nello stesso modo, cioè supponendo che le loro dimensioni siano uguali alla parola stessa, non si presentano così entrambe:
    vettore char --> c-i-a-o-\0
    vettore str----> c-i-a-o-\0
    in sostanza posso chiedere sia alla prima che alla seconda es che carattere è l'elemento di indice 2? credo di si
    Cioè le posso trattare allo stesso modo? come vettore stringa e vettore caratteri

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quando fai gli esempi, scrivi il codice in C

    Questo

    vettore char (ciao)

    non ha senso e neanche questo

    vettore stringa (ciao)

    Così si fa fatica (e si equivoca) a capirti ...

    Cosa intendi con

    vettore char --> c-i-a-o-\0
    vettore str----> c-i-a-o-\0

    ovvero, come hai dichiarato la prima e la seconda?

    Se non scrivi le dichiarazioni di quello di cui parli, non capirai tu nè io ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.