necesitamos un pograma que al introducir los datos no arroje la moda y la media

Iniciado por b_rabbit10, 2 Marzo 2013, 19:47 PM

0 Miembros y 2 Visitantes están viendo este tema.

b_rabbit10

tenemos este codigo pero marca error me podrian ayudar gracias

#include<stdio.h>
#include<conio.h>

main()
{
int array[5],i,rango,mas_grande,valor_moda,frecu;
int frec[5]={0};

printf ("Digite los valores del arreglo:\n\n");
scanf ("%d",&array[i]);
for (i=0;i<5;i++){
}
for (i=0;i<5;i++){
frec[array[i]]++;
}

for (rango=1;rango<=5;rango++)
{
if (frec[rango]>mas_grande){
mas_grande=frec[rango];
valor_moda=rango;
}

}
printf ("El valor moda es %d",valor_moda);


getch ();
}

Stakewinner00


pacoperico

En tu scanf() por ejemplo:
scanf ("%d",&array[i]);

Estas usando la variable i, la cual todavia no le has dado un valor. Si fuese una variable global de foma implicita quedaria inicializada con el valor cero en su declaracion. Pero en este caso es una variable local dentro de main() con lo que su valor sera un valor basura.

Antes de usar la variable asignale algun valor.

leosansan

Cita de: pacoperico en  2 Marzo 2013, 20:22 PM
En tu scanf() por ejemplo:
scanf ("%d",&array[i]);
............................

El problema más bien es de falta de atención ya que ese scanf tendría que estar dentro del for para "captar" los números a introducir.

Te queda por mejorarlo para el caso en que más de un valor sea moda, pero te servirá si sólo hay uno:


Código (cpp) [Seleccionar]
#include<stdio.h>
#define N   8

int main(){
    int array[N]={0},i,j,rango,mas_grande=0,valor_moda,frecu,cont=0;
    int frec[N]={0};
    printf ("Digite los valores del arreglo:\n\n");
    for (i=0;i<N;i++){
        printf ("numero %d: ",i+1);
        scanf ("%d",&array[i]);
    }
    for (i=0;i<N;i++){
        for (j=0;j<N;j++){
            if (array[j]==array[i]){
                frec[i]++;
            }
        }
    }
    for (i=0;i<N;i++)
       if (frec[i]>mas_grande){
        mas_grande=frec[i];
        valor_moda=array[i];
        }
    printf ("El valor moda es %d",valor_moda);
    getch ();
    return 0;
}



Saluditos!. ...