Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    21

    [C] Vettori di caratteri

    salve...ho da farvi una domanda che magari per molti di voi sarà banale ma che a me sta facendo uscire pazzo!

    Ho 3 vettori v1[5], v2[5], w[10] che contengono caratteri. Praticamente il programma che devo fare richiede l'immissione nel vettore w, in maniera alternata dei primi elementi dei vettori v1 e v2.

    mi spiego meglio

    v1[5]="casa"
    v2[5]="cane"

    w deve essere C C A A S N A E

    sto provando in tutti i modi ma non riesco a trovare una soluzione premetto che non dovrei utilizzare alcun tipo di funzione all'interno della libreria "sting.h"

    ringrazio anticipatamente

    Luca

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    In effetti non e' difficile ... come stai procedendo, quale codice hai scritto ...?

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    21
    ho messo un ciclo for che dovrebbe scandire tutti gli indici del vettore

    ma quello che proprio non riesco a capire e come scrivere in maniera corretta questo!

    w[i] = v1[i] v2[i]

    ho guardato su due manuali differenti di programmazione ma niente che mi faccia capire come poterlo fare!

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    No ... devi provare ad usare piu' indici ... per esempio 3 indici, i, j, k ... due per leggere dalle due stringhe e uno per scrivere nella terza ...

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    21
    hai dato luce ad un mio dubbio! quindi se ho ben capito servono 3 cicli for!

    però quello che purtroppo nn riesco a capire..come faccio a scrivere in w?!

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ci sono tanti modi per farlo ... puoi anche con due indici ... ad esempio

    codice:
    int i, j;
    for(i=j=0; i<4; i++, j+=2)
    {
       w[j]=v1[i];
       w[j+1]=v2[i];
    }
    w[j]='\0';
    ma devi modificare il codice per renderlo "generico", ovvero indipendente dalla lunghezza delle stringhe ... pero' questo e' un inizio ...

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    21
    dopo pranzo provo a scapocciarci sopra..per il momento ti ringrazio tantissimo per i conisgli!

  8. #8
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563
    Non potendo utilizzare string.h, dovrai scriverti una funzione strlen personale, se vuoi lavorare con stringhe di diversa grandezza.
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    21
    per il momento la lunghezza delle stringhe nn influisce inquando è fissa.

    il problema e che nn mi funziona uguale e continuo a non capire il perchè
    riporto il codice che ho scritto:

    codice:
    main()
    {
    
    char v1[5], v2[5], w[10];
    int i, j;
    
    printf("caratteri v1: ");
    scanf("%s", v1);
    
    printf("caratteri v2: ");
    scanf("%s", v2);
    
    for(i=j=0; i<4; i++, j+2)
    {
    w[j]=v1[i];
    w[j+1]=v2[i];
    }
    
    w[j]='\0';
    
    printf("%s", w);
    
    return 0;
    
    }
    nn mi da alcun tipo di errore nella compilazione ma non mi stampa niente!
    ho provato a fare una printf("%d", sizeof(w)) e questo lo stampa..dove starò sbagliando?!
    :master:

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Io ti ho scritto questa linea

    for(i=j=0; i<4; i++, j+=2)


    e tu hai scritto

    for(i=j=0; i<4; i++, j+2)

    ... ci vedi nulla di diverso?

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.