|
|
|
|
Configuration: Windows XP Internet Explorer 7.0
je l'ai compiler mais je ne l'ai pas executé, voici ma solution:
#include<stdio.h> #include<conio.h> void main () { int tab[50],i,j,max,min,m,n; clrscr(); printf("Entrer les elemnts de tableau\n"); for(i=0;i<50;i++) { scanf ("%d",&tab[i]); } max=tab[0]; min=tab[0]; // recherche du max for(i=0; i<50; i++) { if(tab[i]> max) {max= tab[i]; m=i; } } // recherche du min for(j=0;j<50;j++) { if(tab[j]<min) {min=tab[j]; n=j; } } printf("la plus grande valeur est %d ce trouve dans la position %d\n",max,m); printf("la plus petite valeur est %d ce dans la position %d\n",min, n); getch(); }
|
Bonjour,
Ben dis donc, ça ne rigole pas avec toi ! Même la compile n'était pas bonne (plus de 2 heures sur ton problème). Désolé mais il m'a été impossible de mettre en forme le document ! //1) Evite de tester les valeurs "en dur" dans un programme. Si la taille du tableau // venait à changer il n'y aurait qu'une seule valeur à changer. // (notamment pour les tests) //2) Aligne les crochets {} et décale les instructions en conséquence //3) Aère ton code, ne colle pas les ordres, laisse des espaces. //4) Initialise les variables. // Il te restera à : // - Proposer l'arrêt de la saisie (50 c'est beaucoup surtout pour tester) // - Contrôler les valeurs saisies (il est posible de saisir de l'alpha ou même aucune valeur) #include<stdio.h> #include<conio.h> int main () { int MAX_ELMT = 50; int tab [50], i = 0, j = 0, max = 0, min = 9999999, tampon = 0; int pos_max = 0; int pos_min = 0; // clrs (); printf ("\n Entrer les %i elemnts de tableau\n", MAX_ELMT); for ( i = 0; i < MAX_ELMT; i++) { scanf ( "%d", &tab [i] ) ; } for ( i = 0; i < MAX_ELMT; i++) { if ( tab [i] < min) { min = tab [i] ; pos_min = i + 1 ; } else { if ( tab [i] > max ) { max = tab [i] ; pos_max = i + 1 ; } } } printf ("\nla plus grande valeur est %i, elle se trouve a la position %i", max, pos_max) ; printf ("\nla plus petite valeur est %i, elle se trouve a la position %i", min, pos_min) ; _getch(); return (0); } Cordialement. Cchristian. |
Bonjour Sabetodo, Orque,
Une petite précision à propos du travail de Orque concernant l'initialisation des variables min et max : max = tab [0]; min = tab [0]; //On ne trouve pas systématiquement au moins un nombre < ou > pour une même serie ex : //12345 chacun des nombres tab [i] (hormis le 1er) comparé à max (tab [i - 1]) est > // tab [0] : 1 > max : 1 ==> max reste à 1 // tab [1] : 2 > max : 1 ==> max passe à 2 // tab [2] : 3 > max : 2 ==> max passe à 3 // tab [3] : 4 > max : 3 ==> max passe à 4 // tab [4] : 5 > max : 4 ==> max passe à 5 // A l'itération suivante la condition : if(tab [j] < min) ne sera jamais vérifiée // min garde sa valeur d'initialisation (ici 1) et n n'est pas renseigné. // On obtiens les résultats suivants : //la plus grande valeur est 5 ce trouve dans la position 4 //la plus petite valeur est 1 ce dans la position 4440410 // // ou pour une saisie : 54321 c'est le même scénario mais inversé. // On obtiens les résultats suivants : //la plus grande valeur est 5 ce trouve dans la position 4235921 //la plus petite valeur est 1 ce dans la position 4 Cordialement. Cchristian. |
|
il faut bien verifier la syntaxe de ton programme avant de le compilé et après la compilation,s'il ya erreur regarde et lis bien les messages du compilateur pour des eventuelles corrections.
essaye celui la #include"stdio.h" main() { int tab[50] , i , posmin=0, posmax=0; //lectute des elments du tableau for(i=0;i<50;i++) scanf("%d",&tab[i]); //recherche du minimum et du maximum for(i=1;i<50;i++) { if(tab[i]<tab[posmin]) posmin=i; if(tab[i]>tab[posmax]) posmax=i; } posmax++; posmin++; printf("la plus grande valeur se trouve a la position %d et est %d",posmax, tab[posmax-1]); printf("la plus petite valeur se trouve a la position %d et est %d",posmin, tab[posmin-1]); } posmax++ et posmin++ pour eviter de dire position 0 dans le cas ou le maximum ou le minimum est le premier element du tableau.
|
Bonjour,
posmax et posmin, bien vu mansas87 ! Cordialement. Cchristian. |
slt
orque tres bien, c plus claire mnt pr Sabetodo... |
Résultats pour La saisie d'un tableau!
Résultats pour La saisie d'un tableau!
Résultats pour La saisie d'un tableau!
Résultats pour La saisie d'un tableau!