Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    343

    [c]trova elemento in array

    Salve ragazzi ho un piccolo esercizio in C...trovare un valore ed inserirlo in un altro array,ma non funziona. vi posto il codice.

    #include <stdio.h>
    main()
    {
    int V[] = {'h','d','f','f','f','e','d','f','f','f','l','d',' f','f','f','p'};
    int n[4];
    int I,j=0;
    for (I=0;I < 15;I++)
    {
    if (V[I]=='h' && V[I]=='e' && V[I]=='l' && V[I]=='p')
    {
    V[I]=n[j];
    }
    j++;
    }
    for(j=0;j<=3;j++)
    {
    printf("%d ",n[j]);
    }
    }
    saluti

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Guarda bene la condizione dell'if, come fa il carattere I-esimo ad essere contemporaneamente una h, una e una l ed una p?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    343
    scusa a furia di modificarlo ho rimasto l'operatore and....
    ho effettuato comunque la modifica, ma nonostante ciò mi stampa quattro caratteri strani che non corrispondono ad h,e,l,p

    #include <stdio.h>
    main()
    {
    char V[] = {'h','d','f','f','f','e','d','f','f','f','l','d',' f','f','f','p'};
    char n[4];
    int I,j=0;
    for (I=0;I < 16;I++)
    {
    if (V[I]=='h' || V[I]=='e' || V[I]=='l' || V[I]=='p')
    {
    V[I]=n[j];
    }
    j++;
    }
    for(j=0;j<4;j++)
    {
    printf("%c ",n[j]);
    }
    }

  4. #4
    Originariamente inviato da 84morena
    scusa a furia di modificarlo ho rimasto l'operatore and....
    ho effettuato comunque la modifica, ma nonostante ciò mi stampa quattro caratteri strani che non corrispondono ad h,e,l,p

    Da quello che vedo mi sembra che tu abbia invertito V[I]=n[j];
    devi fare il viceversa: n[j]=V[I];
    e mettere j++ dentro le parentesi dell'if, altrimenti j cresce come l

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 © 2024 vBulletin Solutions, Inc. All rights reserved.