La tâche consiste à trier et à imprimer les entiers entrés à partir du clavier dans l'ordre croissant, sans utiliser de tableaux dans C. La fin des entrées est marquée par un '-1', qui ne doit pas être considéré comme une entrée. J'ai essayé de résoudre ce problème mais je n'ai pas réussi, quelqu'un peut-il m'aider à résoudre ce problème?Trier et imprimer des entiers alimentés à partir du clavier dans l'ordre croissant sans utiliser de tableaux dans C
Voici ma tentative
#include<stdio.h>
void smaller(int first,int second)
{
int temp=0;
if(second<first) {
temp=first;
first=second;
second=temp;
printf("%d %d",first,second);
}
}
int main()
{
int first=0,second=0;
printf("Kindly enter numbers to be arranged in ascending order followed by a -1\n\n");
scanf("%d",&first);
while(second != -1) {
scanf("%d",&second);
smaller(first, second);
}
return 0;
}
Je suppose que la récursivité est nécessaire ou enregistrer les données dans un fichier, sauf si l'entrée est dans l'ordre requis. – chux
Qu'en est-il d'une liste chaînée? –
@JerryJeremiah C'est une approche qui serait très bien accueillie sur https://codegolf.stackexchange.com/ :) – klutt