2 programe 1 ne marche pas.
Résolu
Pandor31
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
LeChikito Messages postés 1589 Date d'inscription Statut Membre Dernière intervention -
LeChikito Messages postés 1589 Date d'inscription Statut Membre Dernière intervention -
Salut :),
Bon sa fait 2 jour que j'essais de corriger mon programe. (le voila:)
Ce programme est senser replacer le tableau initial en ordre numérique. Mais le résultat final que j'ai est 24444. Et si je change la variable 2 par 5 par exemple dans le tableau, le résultat final va me donner 44444. Alors ce que je présume s'est que a 1 point les variable au dessus de la variable maximum de i qui est supposer indiquer un adresse.
Ce que je trouve bizarre maintenant.
S'est que l'opération fonctionne jusqu'à un certain point. Elle transporte le 2 au début de l'opération. Donc elle a du faire:
7,5,6,2,4
5,7,6,2,4
5,6,7,2,4
5,6,2,7,4
5,2,6,7,4
2,5,6,7,4
Mais le résultat final me donne 24444.
Ce qui me laisse présumer que le résultat est changer a la fin de l'opération, est que la valeur de i est initialiser a 0 au début de l'opération. donc toute les valeur aurait du être mise a 0 car elle étais tous plus grande que la valeur initial i...
Donc, qu'est ce qui cloche dans mon programme?
Ha et voici le programme qui ma inspirer pour celui ci. Mais lui par contre fonctionne. (Il est presque identique je comprend pas comment lui fonctionne et pas le mien...)
Bon sa fait 2 jour que j'essais de corriger mon programe. (le voila:)
#include <stdio.h> #include <stdlib.h> int main() { int tableau[5]={7,5,6,2,4},i=0,tampon=0,verifier=0; printf("\t\tTableau avant changement.\n\n"); for (i=0; i<5; i++) { printf("%d\n",tableau[i]); } do { verifier=1; for (i=0; i<5; i++) { if (tableau[i]>tableau[i+1]) { verifier=0; tampon=tableau[i]; tableau[i]=tableau[i+1]; tableau[i+1]=tampon; } } } while (verifier !=1); printf("\t\t Tableau ranger\n\n"); for (i=0; i<5; i++) { printf("%d\n",tableau[i]); } return 0; }
Ce programme est senser replacer le tableau initial en ordre numérique. Mais le résultat final que j'ai est 24444. Et si je change la variable 2 par 5 par exemple dans le tableau, le résultat final va me donner 44444. Alors ce que je présume s'est que a 1 point les variable au dessus de la variable maximum de i qui est supposer indiquer un adresse.
Ce que je trouve bizarre maintenant.
S'est que l'opération fonctionne jusqu'à un certain point. Elle transporte le 2 au début de l'opération. Donc elle a du faire:
7,5,6,2,4
5,7,6,2,4
5,6,7,2,4
5,6,2,7,4
5,2,6,7,4
2,5,6,7,4
Mais le résultat final me donne 24444.
Ce qui me laisse présumer que le résultat est changer a la fin de l'opération, est que la valeur de i est initialiser a 0 au début de l'opération. donc toute les valeur aurait du être mise a 0 car elle étais tous plus grande que la valeur initial i...
Donc, qu'est ce qui cloche dans mon programme?
Ha et voici le programme qui ma inspirer pour celui ci. Mais lui par contre fonctionne. (Il est presque identique je comprend pas comment lui fonctionne et pas le mien...)
/* Solution à l'exercice 5 du tutoriel sur les tableau en C par Mi@ow */ #include <stdio.h> #include <stdlib.h> int main() { int tableau[5] = {1,11,3,7,5};//création d'un tableau dans le desordre int temporaire = 0;//création d'une variale "tampon" utilisée pour stoquer un nombre pendent un court moment int i = 0;//variable pour parcourire les tableaux int verifier = 0;//boléen: 1 = le tableau est dans l'ordre//2 = le tableau est encord en desordre printf("\t\ttableau AVANT le rangement\n\n"); for(i = 0 ; i < 5 ; i++ ) { printf("%d\n", tableau[i]);// boucle d'affichage du tableau } do { verifier = 1;// on innitialise le bolleen a "1". for(i = 0 ; i < 5 ; i++ ) { if(tableau[i] > tableau[i + 1])//si un case est plus grande que la prochaine, { verifier = 0;// on innitialise le bolléen a "0" ( tableau en desordre ) temporaire = tableau[i];//on copie la case dans la memoire tampon tableau[i] = tableau[i + 1];//on met dans la case la valeure qui se trouve dans la case d'apres tableau[i + 1] = temporaire;//on remet la memoire tampon dans la 2 eme case } }// et on fait sa avec la 2 eme et la 3 eme... puis avec la 3 eme et la 4 eme ...ect... }while(verifier != 1);//jusqu'au moment ou le tableau sera en ordre. printf("\t\ttableau RANGE\n\n"); for(i = 0 ; i < 5 ; i++ ) { printf("\n%d", tableau[i]);//on affiche le tableau rangé pour verifier } return 0; }
A voir également:
- 2 programe 1 ne marche pas.
- Supercopier 2 - Télécharger - Gestion de fichiers
- Word numéro de page 1/2 - Guide
- 2 ecran pc - Guide
- Pourquoi les chaînes 2 et 3 ne fonctionne pas - Guide
- 1/2 symbole - Guide
N'oublie pas de marquer le sujet comme résolu