Algo de permutation de valeur + et -
Résolu
Bonjour,
j'aimerai bien que quelqu'un m'aide a propos de ce sujet , j'aimerai avoir un algorithme de tri dans un tableau qui mettrai les nombres négatifs dans les cases mémoires a gauche et les positifs a droite . idée : en déclare deux curseurs (i) et (j) un a droite et l autre a gauche . (i) parcour le tableau de gauche a droite et quand il trouve la valeur + il stop , pendant que (j) fait la meme chose de droite a gauche , aprés permut (i) avec (j) .
Merci de bien vouloir m'aide à écrire ce programme je suis nouveau apprenti en algorithme .
j'aimerai bien que quelqu'un m'aide a propos de ce sujet , j'aimerai avoir un algorithme de tri dans un tableau qui mettrai les nombres négatifs dans les cases mémoires a gauche et les positifs a droite . idée : en déclare deux curseurs (i) et (j) un a droite et l autre a gauche . (i) parcour le tableau de gauche a droite et quand il trouve la valeur + il stop , pendant que (j) fait la meme chose de droite a gauche , aprés permut (i) avec (j) .
Merci de bien vouloir m'aide à écrire ce programme je suis nouveau apprenti en algorithme .
A voir également:
- Algo de permutation de valeur + et -
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Valeur ascii - Guide
- Valeur relative et absolue - Forum Programmation
- Liste de valeur excel - Guide
- Formule excel si contient texte alors valeur ✓ - Forum Excel
4 réponses
Le truc c'est qu'on peut t'aider si tu bloques sur un point précis, mais en aucun cas on n'écrira l'algorithme à ta place, comme mentionné ici :
http://www.commentcamarche.net/faq/sujet 10925 demander de l aide pour vos exercices sur ccm
Pour avoir de l'aide, il serait également souhaitable que tu donnes ce que tu as commencé à coder (et que tu précises le langage que tu as/souhaites utiliser).
Enfin, la plupart de langage proposent au moins un qsort pour trier un tableau, donc à part pour l'aspect scientifique, ce n'est à mon avis pas la meilleure méthode en pratique pour trier un tableau.
Bonne chance
http://www.commentcamarche.net/faq/sujet 10925 demander de l aide pour vos exercices sur ccm
Pour avoir de l'aide, il serait également souhaitable que tu donnes ce que tu as commencé à coder (et que tu précises le langage que tu as/souhaites utiliser).
Enfin, la plupart de langage proposent au moins un qsort pour trier un tableau, donc à part pour l'aspect scientifique, ce n'est à mon avis pas la meilleure méthode en pratique pour trier un tableau.
Bonne chance
#include<stdio.h>
#include<conio.h>
void triABulle(int tableau[], int longueur)
{
int i;
bool permutation;
do
{
permutation = false;
for(i=0; i<longueur-1; i++)
{
if(tableau[i]>tableau[i+1])
{
tableau[i]=tableau[i+1];
permutation = true;
}
}
longueur--;
}
while(permutation);
}
int main()
{
int tableau[10]={5,-6,8,7,6,-5,-4,5-,7,9};
triBulle(tableau,10);
printf("tableau trié \n");
for(int i=0;i<10;i++){
printf(" %i \t",tableau[i]);
}
getch();
}
voici ce que j es pu faire en c mais ca me donne une erreur lors de la compilation , aide SVP
#include<conio.h>
void triABulle(int tableau[], int longueur)
{
int i;
bool permutation;
do
{
permutation = false;
for(i=0; i<longueur-1; i++)
{
if(tableau[i]>tableau[i+1])
{
tableau[i]=tableau[i+1];
permutation = true;
}
}
longueur--;
}
while(permutation);
}
int main()
{
int tableau[10]={5,-6,8,7,6,-5,-4,5-,7,9};
triBulle(tableau,10);
printf("tableau trié \n");
for(int i=0;i<10;i++){
printf(" %i \t",tableau[i]);
}
getch();
}
voici ce que j es pu faire en c mais ca me donne une erreur lors de la compilation , aide SVP
- Le type bool n'existe pas en C (que en C++), de même que les constantes true et false.
- Le header <conio.h> doit être inclu le moins possible car il n'est pas portable (inclue juste <stdio.h> surtout qu'ici conio.h ne sert à rien).
- La déclaration à la volée dans une boucle for (for(int...;;)) est possible en C++ mais pas en C.
- Il manque la valeur de retour de main.
- Dans ton tableau tu as inversé deux caractères (5 et -).
- Ta fonction s'appelle TriABulle et non TriBulle.
- La fonction getch n'existe pas dans la librairie standard, utilise plutôt getchar.
Voici ton source corrigé :
Par contre je n'ai pas testé à l'exécution ce que ça donnait, j'ai juste vérifié que ça compilait.
Bonne chance
- Le header <conio.h> doit être inclu le moins possible car il n'est pas portable (inclue juste <stdio.h> surtout qu'ici conio.h ne sert à rien).
- La déclaration à la volée dans une boucle for (for(int...;;)) est possible en C++ mais pas en C.
- Il manque la valeur de retour de main.
- Dans ton tableau tu as inversé deux caractères (5 et -).
- Ta fonction s'appelle TriABulle et non TriBulle.
- La fonction getch n'existe pas dans la librairie standard, utilise plutôt getchar.
Voici ton source corrigé :
#include <stdio.h> void triABulle(int tableau[], int longueur) { int i; int permutation; do { permutation = 0; for(i=0; i<longueur-1; i++) { if(tableau[i]>tableau[i+1]) { tableau[i]=tableau[i+1]; permutation = 1; } } longueur--; } while(permutation); } int main() { unsigned i; int tableau[10]={5,-6,8,7,6,-5,-4,-5,7,9}; triABulle(tableau,10); printf("tableau trié \n"); for(i=0;i<10;i++){ printf(" %i \t",tableau[i]); } getchar(); return 0; }
Par contre je n'ai pas testé à l'exécution ce que ça donnait, j'ai juste vérifié que ça compilait.
Bonne chance