Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di eoj
    Registrato dal
    Feb 2007
    Messaggi
    49

    [C] Dire quante volte si ripete un numero

    Data una sequenza di (valori numerici)caratteri alfabetici dire quante volte è presente in essa una data lettera(numero).
    Questo è il mio problema da risolvere.
    Io stavo cercando di risolvere quello con i numeri ma in output mi conta sempre 2 anche se il numero è presente 4 o 5 volte.
    ecco il mio prog:

    #include<stdio.h>
    #include<iostream>
    #define SIZE 30
    int main ()
    {
    int vet[SIZE];
    int i,num,temp,conta;
    printf("Inserisci una sequenza di caratteri: ");
    scanf("%d",&vet);
    printf("Quale valore vuoi controllare: ");
    scanf("%d",&num);
    temp=num;
    for(i=0; i<SIZE; i++) {
    if(temp==vet[i])
    conta+=1;
    vet[i+1];
    else if(temp!=vet[i])
    conta+=0;
    vet[i+1];
    }
    printf("Il valore %d e' presente %d\n",num,conta);
    system("pause");
    return 0;
    }

    grazie a tutti!Ciao!

  2. #2
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537
    Punto primo metti il codice tra i tag code.
    Poi....
    codice:
    ...
    for(i=0; i<SIZE; i++) {
       if(temp==vet[i])
          conta+=1;
       vet[i+1];
       else if(temp!=vet[i])
          conta+=0;
       vet[i+1];
    }
    ...
    Quello che ho trascritto è la parte incriminata....
    Allora....inizio con il dirti che :
    1) l'if va bene, ma l'else non ha molto senso....Tanto nel caso in cui non trova la corrispondenza non deve far niente, quindi rimuovi l'else.
    2) vet[i+1] ritorna il contenuto della posizione iesima+1 del tuo vettore....Ma se non lo usi ti crea solo problemi, infatti prova a pensare quando i = SIZE-1....ERRORE!!!!
    3) se intendevi mettere l'operazione vet[i+1] all'interno devi includere l'operazione {}

    Apporta queste modifiche e vedrai che dovrebbe funzionare
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Prima di tutto, inserisci il codice nei tag [ CODE ] altrimenti e' illeggibile ... (regolamento del forum).

    Poi, controlla le parentesi delle varie if ... else perche' c'e' qualche problema (il programma non e' compilabile ... cerca di comprendere il perche' ...)

    Infine, a cosa ti serve la iostream se stai usando il C e non il C++ ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    innanzi tutto usa i tag code come spiegato nel regolamento così da facilitare la letture del codice..

    poi, quel vet[i+1] che usi negli if a cosa ti serve?

    poi conta non è inizializzato a 0 quindi sfido io che non va..

    codice:
    #include<stdio.h>
    #include<iostream>
    #define SIZE 30
    int main () 
    {
          int vet[SIZE];
          int i,num,temp;
          int conta =  0;
          printf("Inserisci una sequenza di caratteri: ");
          scanf("%d",&vet);
          printf("Quale valore vuoi controllare: ");
          scanf("%d",&num);
          temp=num;
          for(i=0; i<SIZE; i++) 
          {
               if(temp==vet[i])
               {
                   conta++;
               }
               else //cosa serve ricontrollare se sono diversi? qui sono diversi per forza
               {
                   conta+=0; //cosa serve aggiungere 0??????
               }// questo else è perfettamente inutile cmq
    
           } 
           printf("Il valore %d e' presente %d\n",num,conta);
           system("pause"); //mai usare la system
           return 0;
    }

  5. #5
    Utente di HTML.it L'avatar di eoj
    Registrato dal
    Feb 2007
    Messaggi
    49
    Mi scuso con voi è la prima volta che uso il forum di html.it e quindi non so cosa sono i tagcode.
    Ho apportato le modifiche che mi avete consigliato:
    conta=0, eliminazione dell' else if, ma il programma non gira.

    Uso Dev-C++ come compilatore ma adotto la sintassi del C.

    Adesso vedo perchè non gira cmq se ci sono ulteriori consigli rispondetemi.

    Grazie ancora!Ciao!

  6. #6
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    spiega quel non gira..

    prova a stampare a video i valori che tu hai inserito in modo da vedere se l'inserimento è corretto..

  7. #7
    Utente di HTML.it L'avatar di eoj
    Registrato dal
    Feb 2007
    Messaggi
    49
    In input ho questo:

    Inserisci una sequenza di caratteri: 1255645
    Quale valore vuoi controllare: 5

    In output ho questo:

    Il valore 5 è presente 0.

    Non mi conta il numero di volte che è presente il numero, dovrebbe essere 3 poichè ho scelto di controllare il numero 5 nella sequenza.

  8. #8
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    hai provato a stampare con un cout i 2 input per vedere se realmente sono come li hai inseriti tu?

  9. #9
    Utente di HTML.it L'avatar di eoj
    Registrato dal
    Feb 2007
    Messaggi
    49
    Stoicenko non so cosa sia?
    fammi un esempio.


  10. #10
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    std::cout<<num

    non sai cosa sia? è lo standard output.. dovresti averlo studiato sul libro di c

    cmq va bene anche la printf per stampare a video.. hai provato a vedere che num e il vettore inseriti in input siano quelli che ti aspetti? soprattutto il vettore

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.