Visualizzazione dei risultati da 1 a 8 su 8

Visualizzazione discussione

  1. #4
    Utente di HTML.it
    Registrato dal
    Jul 2013
    Messaggi
    27
    Grazie mille che mi avete risposto... ho circa risolto... ho voluto fare un ciclo perchè gli altri conisgli che mi avete dato con li ho capiti...ma ho riscontrato un problema...
    Vi mostro:

    codice:
    int main() {
        int A[17];
        int i,j;
        int sino = 0;
        srand(time(0));
        for(i=0;i<=17;i++) {
            A[i] = rand() % 17 + 1;
            for (j=0;j<=i;j++) {
                getch();
                if (A[i] == A[j]) {
                    break;
                }
                else if(j==i) {
                    sino = 1;
                }
                else{
                    continue;
                }
            }
            if(sino == 1) {
                funzione(A[i]);
                sino= 0;
            }
            else {
                i--;
            }
        }
        getch();
        return 0;
    }
    Vi spiego... Ho fatto un ciclo con la variabile j per controllare se quel numero era già presente... se c'è già A[i] == A[j] Allora ferma il ciclo e riprova con un'altro numero.
    Se j=i quindi il controllo è giunto alla fine e non ha trovato nessuna corrispondenza allora sino = 1 e quindi dopo andiamo a stampare il numero altrimenti se A[j] != A[i] riprova con un altro valore di j.... il problema è che non mi fa vedere niente a video D: ... dove sbaglio? D:

    Ho provato quindi anche a mettere dei printf con un getch() per capire cosa fa il prgramma... potete guardare anche voi con succede ... il programma entra sempre nel primo caso del for...

    codice:
    int main() {
        int A[17];
        int i,j;
        int sino = 0;
        srand(time(0));
        for(i=0;i<=17;i++) {
            A[i] = rand() % 17 + 1;
            printf("A[i] = %d\n", A[i]);
            for (j=0;j<=i;j++) {
                printf("j= %d\n", j);
                getch();
                if (A[i] == A[j]) {
                    printf("A[i](%d) == A[j](%d)\n", A[i],A[j]);
                    break;
                }
                else if(j==i) {
                    printf("j==i\n");
                    sino = 1;
                }
                else{
                    printf("Altro\n");
                    continue;
                }
            }
            if(sino == 1) {
                funzione(A[i]);
                sino= 0;
            }
            else {
                i--;
            }
        }
        getch();
        return 0;
    }
    Ultima modifica di wasd28; 17-11-2013 a 19:22

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.