Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: b_rabbit10 en 2 Marzo 2013, 19:47 pm



Título: necesitamos un pograma que al introducir los datos no arroje la moda y la media
Publicado por: b_rabbit10 en 2 Marzo 2013, 19:47 pm
tenemos este codigo pero marca error me podrian ayudar gracias

Código:
#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 ();
}


Título: Re: necesitamos un pograma que al introducir los datos no arroje la moda y la media
Publicado por: Stakewinner00 en 2 Marzo 2013, 19:56 pm
que es lo k falla o k parte falla?


Título: Re: necesitamos un pograma que al introducir los datos no arroje la moda y la media
Publicado por: pacoperico en 2 Marzo 2013, 20:22 pm
En tu scanf() por ejemplo:
Código:
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.


Título: Re: necesitamos un pograma que al introducir los datos no arroje la moda y la media
Publicado por: leosansan en 2 Marzo 2013, 21:52 pm
En tu scanf() por ejemplo:
Código:
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
  1. #include<stdio.h>
  2. #define N   8
  3.  
  4. int main(){
  5.    int array[N]={0},i,j,rango,mas_grande=0,valor_moda,frecu,cont=0;
  6.    int frec[N]={0};
  7.    printf ("Digite los valores del arreglo:\n\n");
  8.    for (i=0;i<N;i++){
  9.        printf ("numero %d: ",i+1);
  10.        scanf ("%d",&array[i]);
  11.    }
  12.    for (i=0;i<N;i++){
  13.        for (j=0;j<N;j++){
  14.            if (array[j]==array[i]){
  15.                frec[i]++;
  16.            }
  17.        }
  18.    }
  19.    for (i=0;i<N;i++)
  20.       if (frec[i]>mas_grande){
  21.        mas_grande=frec[i];
  22.        valor_moda=array[i];
  23.        }
  24.    printf ("El valor moda es %d",valor_moda);
  25.    getch ();
  26.    return 0;
  27. }
  28.  


Saluditos!. ...(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)


Título: Re: necesitamos un pograma que al introducir los datos no arroje la moda y la media
Publicado por: b_rabbit10 en 2 Marzo 2013, 22:29 pm
gracias man muchas gracias