Question en : Langague C Le Max, SVP !

Fermé
Yasmine - 6 juin 2011 à 18:07
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 - 7 juin 2011 à 19:42
Bonjour,


j'ai écris un script en langage C qui de demande de remplir une table
après on fais un filtrage qui affiche les 4 max par exmple :

si la table était comme ca :

12
32
15
24
59
5
le script vas affichier que ca :

59
32
24
15


voila le code :


int i,n,t[20],max=0,maxo=0;

printf("Entre des chifres : ");
scanf("%i",&n);
for(i=0;i<n-1;i++){
printf("\nEntre le contenu : ");
scanf("%i",&t[i]);
}
for(i=0;i<4;i++){
max=t[0];
for(i=0;i<n-1;i++){
if(maxo!=max){
if(t[i]>max){
max=t[i];
}
}
}
maxo=max;
printf("Le max est %i",max);

}


7 réponses

Dr.W Messages postés 390 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 29 juin 2011 40
6 juin 2011 à 18:09
Salut !

Quel est le problème?
0
le problème c'est que ce programme n'affiche que un seule nombre !

Merci
0
Dr.W Messages postés 390 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 29 juin 2011 40
7 juin 2011 à 10:57
Bah c'est normal la variable max ne peut contenir qu'un seul nombre, sinon il faut faire un tableau, comme ton 't'.
0
tu peux me dire comment faire si ca te dérange pas ^^

Merci d'avance .
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Dr.W Messages postés 390 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 29 juin 2011 40
7 juin 2011 à 12:33
Bah la il aut changer pas mal de code, reflechis un peu, c'est pas drole si je le fais a ta place :P
0
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 7/06/2011 à 15:36
Salut ...
Y a plusieurs methodes de tri, or la plus basique etant le tri par selection ... donc ...

int i, j, t[20], var, max;  
printf("Combien de nombres comptez vous trier ? ");     
scanf("%d",&n);     

for(i=0;i<n;i++)    
    scanf("%d",&t[i]);       

for(i=0;i<n;i++) {     
    max = i;
        
    for(j=i+1;j<n;j++)     
        if(t[max] < t[j]) max = j;
        
    var = t[i];    
    t[i] = t[max];    
    t[max] = var;    
}    

printf("Le Nouveau tableau : \n");     
for(i=0; i<4; i++)    
    printf("%d\n",t[i]);
0
Dr.W Messages postés 390 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 29 juin 2011 40
7 juin 2011 à 15:44
Bah bravo... Ou est l'interet il va copier/coller le code et le comprendre a moitie....

Le tri a bulle est assez simple a comprendre et a code aussi.
0
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 7/06/2011 à 15:52
y a pas non plus d'intérêt a ne pas répondre ...
Moi j'ai appris a comprendre en analysant les réponses (le code)...

Quant au fait de rechercher sur Google, ben j'ai répondu en supposant qu'elle a pris le temps de chercher ...

Sinon, je mettrais des explications en cas de besoin ...
0
Dr.W Messages postés 390 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 29 juin 2011 40
7 juin 2011 à 17:15
Apprendre les variables, les pointeurs/tableau, les structures/objet et les structure de control en lisant du code ok, c'est meme ce qu'il y a de plus efficace :)

Mais pour de l'algorithmie .... Une fois que t'as donner la reponse t'as spoil le cerveau du mec... Qui ne trouvera pas la reponse par son propre raisonement... Bref, ca part d'une bonne intention, c'est l'essentiel.
0
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
7 juin 2011 à 19:42
Une bonne intention !!!, oui je sais, et heureusement :) ...

Et comme je le dit plus haut, j'ai répondu en prétendant que la personne a chercher avant de faire appel a quelqu'un ...
Si c'est pas le cas, je ne veut pas être comme certaines personnes (La plupart des modérateurs) qui a presque chaque intervention disent "Google est ton ami", et postent des liens qui dans certains cas sont bidons ...

Et je veut pas a chaque fois demander a la personne si elle a bien chercher autre part parce que je trouve que c'est stupide ...

Je pense que toute personne qui demande de l'aide sur un forum, c'est qu'elle a bien chercher autre part, et qui n'a rien trouver ...

Voila ...

Cordialement ...
0
apahna Messages postés 10 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 7 juin 2011
7 juin 2011 à 15:58
bjr yasmine
dsl du 2009 j pa utiliser le c mai je pense que vous devez utiliser n-1 au lieu de 4 car si vous ecrivez
for(i=0;i<4;i++) il affiche que t[0], t[1], t[2], t[3] donc tu doit mentionné dans votre boucle le n-1
..un autre conseil: terminer votre programe avec l'instruction getch() qui permer de fixer l'affichage

bon courage yasmine j plein de cour j vous envoyé certaine qui vs aide peut etre
salam
0