1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
| /* -d- presentation du code horrible ! Code reindente.
(fonction integree dans Code::Blocks) */
#include <stdio.h>
/* -ed- pas portable et probablement inutile
#include<conio.h>
*/
/* -ed-
void main()
main () retourne int. Toujours.
*/
int main (void)
{
/* -ed- pas portable et inutile
clrscr();
*/
int i;
int j;
int temp, n;
int tab[10];
/* -ed-
printf ("entrez n");
Rustique ! prevoir au moins un espace.
Attention, pouretre certain que l'affichage se fasse fbien, forcer avec fflush (stdout)
*/
printf ("entrez n : ");
fflush (stdout);
scanf ("%d", &n);
/* -ed- scanf() est une fonction difficile a utiliser correctement.
Preferer fgets() et les fonctions de nettoyage et de
conversion qui vont bien... */
/* -ed- Que se passe-t-il si n est > 10 ? */
for (i = 0; i < n; i++)
{
/* -ed-
printf ("entrz l'lement %d", i);
eviter les accents. Pas portable.
Attention aux fautes de rappe...
*/
printf ("entrez l'element %d : ", i);
fflush (stdout);
scanf ("%d", &tab[i]);
}
/* -ed- j n'a jamais ete initialise. Comportement indefini. A corriger. */
while (i < j)
{
while (tab[i] < 0)
{
i++;
}
while (tab[j] > 0)
{
j--;
}
temp = tab[i];
tab[i] = tab[j];
tab[j] = temp;
}
for (i = 0; i < n; i++)
{
printf ("%d\t", tab[i]);
}
/* -ed-
getch ();
pas portable et inutile si tu utilises un IDE au point comme Code::Blocks
sinon, getchar() mais apres un scanf(), ca va etre douteux...
Dev-C++ recommande
system ("pause");
*/
/* -ed- car main() retourne un int */
return 0;
} |
Partager