|
|
|
|
Bonjour
voilà j'ai un exercice en c et je trouve des lacunes à définir la fonction mon exercice est comme suit:
écrire un programme qui utilise une fonction qui trie un tableau d'entiers suivant le critère suivant:tous les entiers pairs doivent être au début du tableau et les entiers impairs à la fin.
cette fonction ne retourne pas de valeur.le programme principal demande la lecture des éléments du tableau.ce dernier ainsi que la dimension seront déclarés variables globales.
Configuration: Windows Vista Internet Explorer 7.0
Salut,
|
Bon voilà ce à quoi je suis parvenue
|
Il y a des erreurs dans ton algorithme.
#include <stdio.h>
#include <stdbool.h>
void affich(int *tab, const size_t n){
int i;
for(i=0;i<n;i++)
printf("%d ",tab[i]);
puts("");
}
void tri(int *tab, const size_t n){
int i,j;
int tmp;
_Bool melange=true;
for(i=0;i<n && melange;i++){
melange=false;
for(j=1;j<n-i;j++){
if(tab[j-1]%2==1 && tab[j]%2==0){
tmp=tab[j];
tab[j]=tab[j-1];
tab[j-1]=tmp;
melange=true;
}
}
}
}
int main(void){
int tab[]={1,2,2,3,4,5,6,7,8,9,10};
const size_t n = sizeof tab/sizeof *tab;
affich(tab,n);
tri(tab,n);
affich(tab,n);
return 0;
}
Google is your friend |