Varianza

di il
7 risposte

Varianza

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

void inserimento (int array[], int lung);
void media (int array[], int lung);
void stampa (int array[], int lung);


int main()
{
    int vet[5];
    inserimento (vet,5);
    stampa(vet,5);
    media (vet,5);
  
  system("PAUSE");	
  return 0;
}

void inserimento (int array[],int lung)
{
    int i=0;
    for(i=0;i<lung;i++)
    {
            printf("inserisci un numero");
            scanf("%d",&array[i]);
            
    }
    
}
void stampa (int array[], int lung)
{
     int i;
     for(i=0;i<lung;i++)
    {
            printf("%d) il numero nel casetto e' %d\n",i,array[i]);
    
    }     
}
void media (int array[], int lung)
{
     int somm=0;
     int med=0;
     int i;
     for ( i=0;i<lung;i++)
     {
         somm=somm+array[i];
     
     }
     med=somm/lung;
     printf("la media vale %d\n",med);
     
}
ragazzi ho difficoltà di fare la varianza ed infine dovrei riordinare il vettore help me!!

7 Risposte

  • Re: Varianza

    E quindi ? Nessuna idea ? Nessun tentativo di scrittura del codice per la varianza ?
  • Re: Varianza

    #include <stdio.h>
    #include <stdlib.h>
    
    void inserimento (int array[], int lung);
    void media (int array[], int lung);
    void stampa (int array[], int lung);
    void ordina (int array[], int lung);
    
    
    int main()
    {
        int vet[3];
        inserimento (vet,3);
        stampa(vet,3);
        ordina (vet,3);
        media (vet,3);
        
      system("PAUSE");	
      return 0;
    }
    
    void inserimento (int array[],int lung)
    {
        int i=0;
        for(i=0;i<lung;i++)
        {
                printf("inserisci un numero");
                scanf("%d",&array[i]);
                
        }
        
    }
    
    void stampa (int array[], int lung)
    {
         int i;
         for(i=0;i<lung;i++)
        {
                printf("%d) il numero nel casetto e' %d\n",i,array[i]);
        
        }     
    }
    void ordina (int array[], int lung)
    {
         int temp,i,j;
         for (i=0;i<lung-1;i++)
         {
             for (j=0;j<lung-i-1;j++)
             {
                 if (array[j]>array[j+1])
                 {
                     temp=array[j];
                     array[j]=array[j+1];
                     array[j+1]=temp;
                      printf("%d) il numero nel casetto e' %d\n",i,array[i]);
                 }
                
             }
         }
    }
    
    void media (int array[], int lung)
    {
         int somm=0;
         int med=0;
         int i;
         for ( i=0;i<lung;i++)
         {
             somm=somm+array[i];
         
         }
         med=somm/lung;
         printf("la media vale %d\n",med);
         
    }
    
    
    volevo prima ordinare l'array!! ho provato ma non stampa tutto l'array ma solo il piu piccolo o a volte la stessa cosa!!
  • Re: Varianza

    Ordina e media sono sbagliate ...

    Dovrebbero essere
    
    void ordina (int array[], int lung)
    {
         int temp,i,j;
    
         for (i=0; i<lung-1; i++)
         {
             for (j=i+1; j<lung; j++)
             {
                 if (array[i]>array[j])
                 {
                     temp=array[j];
                     array[j]=array[i];
                     array[i]=temp;
                 }
             }
         }
    }
    
    void media (int array[], int lung)
    {
         int somm=0;
         double med=0;
         int i;
    
         for ( i=0;i<lung;i++)
         {
             somm=somm+array[i];
         }
    
    	 med=(double)somm/lung;
    
         printf("la media vale %f\n", med);
    }
    
  • Re: Varianza

    Me la potresti spiegare l'ordinamento??
  • Re: Varianza

    Mi sembra semplice ... cosa non capisci?
  • Re: Varianza

    Non capisco il xke nel primo civlo for si mette -1 invece nes secondi si mette j=i+1
    cosa significherebbe??'
  • Re: Varianza

    Il primo ciclo identifica un elemento del vettore da confrontare con un altro elemento identificato dal secondo ciclo.

    Quindi il primo ciclo selezionerà dal primo al penultimo elemento ed ognuno di questo verrà confrontato, tramite il secondo ciclo, con ogni elemento da quello successivo (di quello selezionato dal primo ciclo) all'ultimo.

    Se provi con 5 elementi, i confronti saranno

    elemento 0 con elemento 1,2,3,4
    elemento 1 con elemento 2,3,4
    elemento 2 con elemento 3,4
    elemento 3 con elemento 4

    Solo quando l'elemento a sinistra è maggiore di quello a destra, saranno scambiati (dato che quello a sinistra è sicuramente con indice minore di quello a destra, quindi sarebbe nell'ordine sbagliato).

    Prova con carta e penna per capire meglio.
Devi accedere o registrarti per scrivere nel forum
7 risposte