Hola, pues hace poco comenze a aprender a programar en C por mi propia cuenta ya que aún estoy en el colegio, el punto es que quiero realizar un ejercicio de varios puntos
En un array de 50, encontrar:
- El mayor
- El menor
- La moda
- Ordenarlos de mayor a menor y viceversa
- Encontrar en que posición se halla el mayor, menor y moda
Ya hice casi todos, solo me falta poder encontrar las posiciones, aquí les muestro como va mi código, por favor no utilicen funciones que no quiero usarlas todavía jeje gracias
Código C:
Ver original#include <stdio.h>
#include <time.h>
int main(int argc, char *argv[])
{
int mayor=0, menor=50, i, x=0, cmoda=0, con=0,k,moda,y=0,ord,z;
float media;
int num[50];
//Iniciamos la función para randomizar
//Trabajamos el array para obtener mayor, menor, media y moda
for(i=0;i<50;i++)
{
num
[x
++]=(rand()%50); if(i==25)
}
for(i=0;i<50;i++)
{
media += num[i];
//Con esto obtenemos el mayor y el menor
if(mayor < num[i])
mayor=num[i];
posmay=i;
if(menor > num[i])
menor=num[i];
//Comparamos el vector randomizado con uno normal para ver cuantos numeros se repiten
//Si se repiten con aumenten en 1 cada vez
con=0;
for(k=0;k<50;k++)
{
if(i!=k && num[i]==num[k])
con++;
if(con>cmoda)
{
moda=num[i];
cmoda=con;
}
}
}
//Ordenamiento por metodo burbuja de mayor a menor
for (i=0; i<50-1; i++)
{
for (z=i+1; z<50; z++)
{
if (num[i] < num[z])
{
ord = num[i];
num[i] = num[z];
num[z] = ord;
}
}
}
//Lo imprimimos
printf("\nOrdenado de mayor a menor\n"); for(i=0;i<50;i++)
{
if(i==24)
}
//Ahora de menor a mayor
for (i=0; i<50-1; i++)
{
for (z=i+1; z<50; z++)
{
if (num[i] > num[z])
{
ord = num[i];
num[i] = num[z];
num[z] = ord;
}
}
}
printf("\nOrdenado de menor a mayor\n"); for(i=0;i<50;i++)
{
if(i==24)
}
if(moda>1)
printf("El número que más se repite es %d y se repite %d veces\n",moda
,cmoda
+1); else
printf("El número mayor es %d\n", mayor
); printf("El número menor es %d\n", menor
); printf("La media es %.2f\n", media
/= 50);
return 0;
}
Gracias de antemano