Mostrar números iguales en una misma linea

Iniciado por nemesis27, 23 Mayo 2017, 16:31 PM

0 Miembros y 1 Visitante están viendo este tema.

nemesis27

Hola gente del foro, estoy haciendo un ejercicio en el cuál tengo mandarle al programa 3 números y que me los muestre de mayor a menor en la pantalla. Hasta ahí todo bien, el problema es que si son números iguales tengo que mostrarlos en la misma linea y no tengo
idea de como hacerlo. A ver si alguien me puede ayudar:


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

int main () {

float a,b,c;

printf ("\n Ingrese 3 numeros para que el programa los muestre de mayor a menor");

printf ("\n\n Ingrese el primer numero: ");
scanf ("%f", &a);

printf ("\n Ingrese el segundo numero: ");
scanf ("%f", &b);

printf ("\n Ingrese el tercer numero: ");
scanf ("%f", &c);

if (a>b && a>c) {
if (b>c) {
printf ("\n %.2f", a);
printf ("\n %.2f", b);
printf ("\n %.2f", c);
}
else {
printf ("\n %.2f", a);
printf ("\n %.2f", c);
printf ("\n %.2f", b);
}
}

if (b>a && b>c) {
if (a>c) {
printf ("\n %.2f", b);
printf ("\n %.2f", a);
printf ("\n %.2f", c);
}
else {
printf ("\n %.2f", b);
printf ("\n %.2f", c);
printf ("\n %.2f", a);
}
}

if (c>a && c>b) {
if (a>b) {
printf ("\n %.2f", c);
printf ("\n %.2f", a);
printf ("\n %.2f", b);
}
else {
printf ("\n %.2f", c);
printf ("\n %.2f", b);
printf ("\n %.2f", a);
}
}



getch ();
return 0;
}

MAFUS

En vez de hacer esas comparaciones tendrías que ordenar los números, ya sea en un array o en las mismas variables.

Y a partir de allí ir mostrándolos en pantalla y agregando un salto de línea si dos contiguos son diferentes u omitiéndolo si son iguales.