Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    22

    Aiuto con il linguaggio C

    Il programma che sto cercando di scrivere, simula una gara di salti tra rane su di una scala, le rane hanno una probabilità del 50% di saltare due scalini in avanti, o di scendere di uno.
    il problema è che mi da risultati assurdi, se c'è qualcuno che puo perderci 10 minuti mi farebbe davvero un gran favore, dato che non riesco a capire dove ho sbagliato.Grazie a tutti






    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    #include<time.h>

    int salto(int);


    main(){

    int N_RANE, N_SCALINI,i,rana[N_RANE],salti,k,seed,val,a,jump;



    printf("\n Simuliamo un'avvincente gara di salti fra rane! \n");




    do{
    printf("\n Inserisci il numero di rane che gareggeranno \n");
    scanf("%d", &N_RANE);
    if(N_RANE>100){
    printf("\n Inserisci un minor numero di rane \n");
    scanf("%d", &N_RANE);
    }
    }
    while(N_RANE>100);

    do{
    printf("\n Inserisci il numero di scalini da saltare \n");
    scanf("%d", &N_SCALINI);
    if(N_SCALINI>50){
    printf("\n Inserisci un minor numero di scalini \n");
    scanf("%d", &N_SCALINI);
    }
    }
    while(N_SCALINI>50);

    for(i=0; i<N_RANE; i++ ){
    rana[i]=i+1;
    jump=salto(k);

    printf("\n La rana[%d] ha terminato la gara con %d salti \n", rana[i], jump);



    };



    }



    int salto(int k){
    int N_SCALINI,val,seed,salti,a;

    seed=time(0);
    srand48(seed);

    do{
    val=lrand48()%10 +1;
    if(val>5){a=2;}
    else{a=-1;}
    k=k+a;
    if(k>N_SCALINI){k=k-2;};
    if(k<0){k=0;};
    salti++;
    }
    while(k =! N_SCALINI);
    return salti;
    }

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Aiuto con il linguaggio C

    Originariamente inviato da torky
    il problema è che mi da risultati assurdi
    Tipo?
    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
    Dec 2011
    Messaggi
    22

    Re: Re: Aiuto con il linguaggio C

    Originariamente inviato da Alex'87
    Tipo?

    tipo che saltano 5 scalini con 13455770 salti

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Se posti il codice indentato, ordinato e utilizzando il tag CODE forse si possono perdere i 10 minuti ... ma così no ...

    P.S. E comunque già

    int N_RANE, rana[N_RANE]

    non va bene perché il valore di N_RANE non è definito ed è bene che sia una costante.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    22
    Originariamente inviato da oregon
    Se posti il codice indentato, ordinato e utilizzando il tag CODE forse si possono perdere i 10 minuti ... ma così no ...

    P.S. E comunque già

    int N_RANE, rana[N_RANE]

    non va bene perché il valore di N_RANE non è definito ed è bene che sia una costante.


    Lo userei il tag CODE se sapessi come si usa, ma ho cercato e non ho trovato nessuna guida, solo nel regolamento dice qualcosa ma è un po' approssimativo..

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Originariamente inviato da torky
    Lo userei il tag CODE se sapessi come si usa, ma ho cercato e non ho trovato nessuna guida, solo nel regolamento dice qualcosa ma è un po' approssimativo..
    A parte che puoi chiedere direttamente ai moderatori, puoi sempre provare ad utilizzare il tasto

    CODE

    che vedi nell'editor quando scrivi un messaggio. E capisci sicuramente.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    22
    codice:
     
    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    #include<time.h>
    
    int salto(int);
    
    main(){
    
    int N_RANE, N_SCALINI,i,rana[N_RANE],salti,k,seed,val,a,jump;
    
    
    printf("\n Simuliamo un'avvincente gara di salti fra rane! \n");
    
    
    do{
    printf("\n Inserisci il numero di rane che gareggeranno \n");
    scanf("%d", &N_RANE);
    if(N_RANE>100){
    printf("\n Inserisci un minor numero di rane \n");
    scanf("%d", &N_RANE);
    }
    }
    while(N_RANE>100);
    
    do{
    printf("\n Inserisci il numero di scalini da saltare \n");
    scanf("%d", &N_SCALINI);
    if(N_SCALINI>50){
    printf("\n Inserisci un minor numero di scalini \n");
    scanf("%d", &N_SCALINI);
    }
    }
    while(N_SCALINI>50);
    
    for(i=0; i<N_RANE; i++ ){
    rana[i]=i+1;
    jump=salto(k);
    
    printf("\n La rana[%d] ha terminato la gara con %d salti \n", rana[i], jump);
    
    };
    
    
    
    }
    
    
    int salto(int k){
    int N_SCALINI,val,seed,salti,a;
    
    seed=time(0);
    srand48(seed);
    
    do{
    val=lrand48()%10 +1;
    if(val>5){a=2;}
    else{a=-1;}
    k=k+a;
    if(k>N_SCALINI){k=k-2;};
    if(k<0){k=0;};
    salti++;
    }
    while(k =! N_SCALINI);
    return salti;
    }


    Spero che così vada bene

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Originariamente inviato da torky
    codice:
     #include<stdio.h> #include<stdlib.h> #include<math.h> #include<time.h>  int salto(int);   main(){  int N_RANE, N_SCALINI,i,rana[N_RANE],salti,k,seed,val,a,jump;    printf("\n Simuliamo un'avvincente gara di salti fra rane! \n");     do{ printf("\n Inserisci il numero di rane che gareggeranno \n"); scanf("%d", &N_RANE); if(N_RANE>100){ printf("\n Inserisci un minor numero di rane \n"); scanf("%d", &N_RANE); } } while(N_RANE>100);  do{ printf("\n Inserisci il numero di scalini da saltare \n"); scanf("%d", &N_SCALINI); if(N_SCALINI>50){ printf("\n Inserisci un minor numero di scalini \n"); scanf("%d", &N_SCALINI); } } while(N_SCALINI>50);  for(i=0; i<N_RANE; i++ ){ rana[i]=i+1; jump=salto(k);  printf("\n La rana[%d] ha terminato la gara con %d salti \n", rana[i], jump);    };    }    int salto(int k){ int N_SCALINI,val,seed,salti,a;  seed=time(0); srand48(seed);  do{ val=lrand48()%10 +1; if(val>5){a=2;} else{a=-1;} k=k+a; if(k>N_SCALINI){k=k-2;}; if(k<0){k=0;}; salti++; } while(k =! N_SCALINI); return salti; }


    Spero che così vada bene
    Secondo te va bene?

    Rileggi quello che scrivi?

    In ogni caso, mi sembra che il tuo "problema" sia già stato trattato da qualcuno ... ad esempio in

    http://pastebin.com/G8U5ZhQe
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    22
    Originariamente inviato da torky
    codice:
     
    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    #include<time.h>
    
    int salto(int);
    
    main(){
    
    int N_RANE, N_SCALINI,i,rana[N_RANE],salti,k,seed,val,a,jump;
    
    
    printf("\n Simuliamo un'avvincente gara di salti fra rane! \n");
    
    
    do{
    printf("\n Inserisci il numero di rane che gareggeranno \n");
    scanf("%d", &N_RANE);
    if(N_RANE>100){
    printf("\n Inserisci un minor numero di rane \n");
    scanf("%d", &N_RANE);
    }
    }
    while(N_RANE>100);
    
    do{
    printf("\n Inserisci il numero di scalini da saltare \n");
    scanf("%d", &N_SCALINI);
    if(N_SCALINI>50){
    printf("\n Inserisci un minor numero di scalini \n");
    scanf("%d", &N_SCALINI);
    }
    }
    while(N_SCALINI>50);
    
    for(i=0; i<N_RANE; i++ ){
    rana[i]=i+1;
    jump=salto(k);
    
    printf("\n La rana[%d] ha terminato la gara con %d salti \n", rana[i], jump);
    
    };
    
    
    
    }
    
    
    int salto(int k){
    int N_SCALINI,val,seed,salti,a;
    
    seed=time(0);
    srand48(seed);
    
    do{
    val=lrand48()%10 +1;
    if(val>5){a=2;}
    else{a=-1;}
    k=k+a;
    if(k>N_SCALINI){k=k-2;};
    if(k<0){k=0;};
    salti++;
    }
    while(k =! N_SCALINI);
    return salti;
    }


    Spero che così vada bene



    Ora dovrebbe andare

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Sì ... ma hai visto il link?
    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 © 2024 vBulletin Solutions, Inc. All rights reserved.