Dubbio su programma di C.

di il
37 risposte

37 Risposte - Pagina 2

  • Re: Dubbio su programma di C.

    Adesso , invece cosa c'è che non va??
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    int main()
    {
          int *a;
          int *b;
          
          int i;
          int j;
          int n;
          srand(time(NULL));
          int somma;
          
          double media;
          somma=0;
          media=0.0;
          int minimo=0;
          int massimo=0;
       
          
          printf("Inserire numero elementi:\t");
          scanf("%d",&n);
          a=(int*)malloc(n*sizeof(int));
          b=(int*)malloc(n*sizeof(int));
          
           for(i=0;i<=n-1;i++){
           	
           	
                              
                                printf("Inserire elemento a[%d]:\t\t",i);
                                 scanf("%d",&a[i]);
                                 for(j=0;j<=n-1;j++){
                                 if (a[i]%2==0)            
                                 b[j]=a[i];
                                 }
                             }
                                 
                for(j=0;j<=n-1;j++){
          minimo=massimo=b[j];
          somma=somma+b[j];
          media=(double)somma/n;
          }
          for(j=0;j<=n-1;j++){
          if(b[j]>massimo) massimo=b[j];
          if(b[j]<minimo) minimo=b[j];}
          printf("\n\nSomma=%4d\tMedia=%4lf\tMinimo=%4d\tmassimo=%4d\t\n\n",somma,media,minimo,massimo);
          
          system("pause");
          }                   
    
  • Re: Dubbio su programma di C.

    Quel ciclo for dentro il for non c'entra nulla.

    Non scrivere il primo codice che ti passa per la testa.
    Esamina passo per passo quello che richiede l'esercizio.
    In input devi mettere tutti gli elementi di a, quindi il primo ciclo e la scanf vanno bene.
    Devi trovare i valori di a pari, quindi dentro il ciclo quella if va bene.
    Se trovi i pari, quindi dentro la if, devi memorizzare il valore di a[] in b[] e lo fai e quindi, dato che ne hai trovato uno, devi aumentare j (sempre dentro la if) per il prossimo valore pari.

    E j deve iniziare da 0, ma al momento della dichiarazione

    int j=0;

    E non mi dire ... e così non funziona lo stesso perché dopo queste modifiche dovrai lavorarci ancora ... ma cerca di farlo tu.
  • Re: Dubbio su programma di C.

    Dici cosi??

    for(i=0;i<=n-1;i++){



    printf("Inserire elemento a[%d]:\t\t",i);
    scanf("%d",&a);
    if (a%2==0)

    b[j]=a;
    j++;

    }











    A me no va ugualmente , anche inizializzando la j.
  • Re: Dubbio su programma di C.

    Attenzione le due linee vanno nella if
    
    if (a[i]%2==0)
    {
      b[j]=a[i];
      j++;
    }
    
    E all'inizio non dimenticare j=0;
  • Re: Dubbio su programma di C.

    Mi da problemi nel calcolo della somma , media , minimo e massimo.
  • Re: Dubbio su programma di C.

    daniele90 ha scritto:


    Mi da problemi nel calcolo della somma , media , minimo e massimo.
    Attenzione alla if ... non avevi messo bene le parentesi.

    Ma COME TI AVEVO DETTO prima, questa modifica non basta ... controlla il resto del codice.

    I valori pari non sono n (come fai a saperlo?) ... quindi il for che va fino a n non va bene ...

    Pensaci ... quando si deve fermare il ciclo per il minimo/massimo?
  • Re: Dubbio su programma di C.

    Booohhh ma cos'è che non va nel calolo del minimo massimo somma e media , io non capisco..
  • Re: Dubbio su programma di C.

    Alla dimensione del vettore b , ma io non so quanto sia però!!!
  • Re: Dubbio su programma di C.

    Certo che lo sai
  • Re: Dubbio su programma di C.

    Io so la dimensione di n , la scelgo io , ma poi non so quella di b , non so a priori quanti elementi pari verranno inseriti
  • Re: Dubbio su programma di C.

    A priori no ...

    Ma a cosa serve j l'hai capito dopo averla utilizzata ?

    Mi dispiace essere franco, ma la programmazione non fa proprio per te ...
  • Re: Dubbio su programma di C.

    La programmazione non farà per me , questo sicuro, ma nemmeno il cercare di aiutare la gente fa per te...
  • Re: Dubbio su programma di C.

    E per favore , d'ora in avanti evita di introdurti nelle mie discussioni .
  • Re: Dubbio su programma di C.

    Veramente t'ho aiutato tutta la sera, bella riconoscenza ... se intendi che non sono bravo a darti la pappa pronta, hai completamente ragione. Buonanotte.

    (io darò sempre una risposta, dove credo che si possa dare una risposta)
  • Re: Dubbio su programma di C.

    Non nelle mie discussioni , non ho bisogno di questo falso aiuto.. a prendere in giro te ne vai altrove , non nelle mie discussioni
Devi accedere o registrarti per scrivere nel forum
37 risposte