Hola, quisiera que me ayudaran un programa que tiene que determinar cual es la moda o la bimoda de un grupo de números, hasta ese momento el programa va bien, mi problema es cuando el programa no tiene moda, o sea que todos sus números son diferentes y por lo tanto su frecuencia es 1, cuando sea este caso el programa debe decir "No hay moda", pero no es así, quisiera que me ayudaran haciéndome saber mi error en el programa, les dejo mi código para que lo vean.
Código C:
Ver original#include <stdio.h>
#include <windows.h>
int main()
{
int tamano;
R:
printf("Introduzca la cantidad de numeros a ingresar: ");
int A[tamano],B[tamano],MODA[tamano];
int j, i, temp=0;
printf ("Introduce %i numeros a ordenar:\n",tamano
); for (i = 0; i < tamano; i++)
{
}
for (i = 0; i < (tamano - 1); i++)
{
for(j = i + 1; j < tamano; j++)
{
if(A[j] < A[i])
{
temp = A[j];
A[j] = A[i];
A[i] = temp;
}
}
}
/* Mostramos los números ordenados */
printf ("Los numeros ordenados son:\n"); for (i = 0; i < tamano; i++)
{
}
/* INICIAR ARREGLO MODA*/
for (i = 0; i < tamano; i++)
{
MODA[i]=1;
}
/* COMPARACION */
for (i = 0; i < (tamano - 1); i++)
{
for(j = i + 1; j < tamano; j++)
{
if(A[i] == A[j])
{
MODA[i] = MODA[i]+1;
}
}
}
for (i = 0; i < tamano; i++)
{
B[i] = MODA[i];
}
for (i = 0; i < (tamano - 1); i++)
{
for(j = i + 1; j < tamano; j++)
{
if(MODA[j] < MODA[i])
{
temp = MODA[j];
MODA[j] = MODA[i];
MODA[i] = temp;
}
}
}
{
for (i = 0; i < tamano; i++)
{
if(B[i] == 1)
{
temp++;
}
}
if(MODA[tamano-1]==MODA[tamano-2])
{
printf("\n\n\nLas modas y sus frecuencias:\n"); for(i=0;i<tamano;i++)
{
if(MODA[tamano-1]==B[i])
{
printf("%i - %i\n",A
[i
],B
[i
]); }
}
}
else
if(MODA[tamano-1]!=MODA[tamano-2])
{
printf("\n\n\nLas moda y su frecuencia:\n"); for(i=0;i<tamano;i++)
{
if(MODA[tamano-i]==B[i])
{
printf("%i - %i\n",A
[i
],B
[i
]); }
}
}
else
if (temp==tamano)
{
printf("\n\nNO HAY MODA...\n\n"); goto R
; }
}
}
Agradecería sus comentarios y gracias por su atención.