A voir également:
- Programme en c de recherche
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Recherche photo - Guide
- Message programmé iphone - Guide
5 réponses
Le plus simple c'est de parcourir ton tableau et de maintenir une variable "best" et "second_best". Ces deux variables sont initialisées avec la première valeur du tableau. Essaye de me proposer un pseudo code et je t'aiderai à avancer ensuite.
Bonne chance
Bonne chance
slt kamilia je vous donne la solution svte:
#include<stdio.h>
#include<conio.h>
int maximum1(int *t,int taille)
{int maxi;
int i;
maxi=t[1];
for(i=2;i<=taille;i++)
{
if(maxi<t[i])
maxi=t[i];
}
return(maxi);
}
int maximum2(int *t,int taille,int maxi)
{ int max,i;
max=t[1];
for(i=2;i<=taille;i++)
{ if(maxi!=t[i] && max<t[i])
max=t[i];
}
return(max);
}
void main()
{
int *tab;
int max1,max2,n;
int i=1;
clrscr();/*pour effacer l'ecrans*/
textcolor(12);
cprintf("Entrez la taille du tableaux:",n);
scanf("%d",&n);
cprintf("Entrez la %d ‚re valeur:",i);/*textcolor pour une ecriture en couleur*/
scanf("%d",&tab[i]); /*textcolor(12):couleur rouge*/
/**********remplir votre tableaux***************/
for(i=2;i<=n;i++)
{
textcolor(12);
cprintf("Entrez la %d ‚me valeur:",i);
scanf("\n%d",&tab[i]);
}
max1=maximum1(tab,n);
max2=maximum2(tab,n,max1);
textcolor(6);
printf("voici le premier maximum :%d\n" ,max1);
printf("voici le deuxi‚me maximum :%d" ,max2);
getch();/*pour stoper sur l'affichage*/
}
pour un qlquanque prbleme contacte moi par email :
argentine85@hotmail.fr
#include<stdio.h>
#include<conio.h>
int maximum1(int *t,int taille)
{int maxi;
int i;
maxi=t[1];
for(i=2;i<=taille;i++)
{
if(maxi<t[i])
maxi=t[i];
}
return(maxi);
}
int maximum2(int *t,int taille,int maxi)
{ int max,i;
max=t[1];
for(i=2;i<=taille;i++)
{ if(maxi!=t[i] && max<t[i])
max=t[i];
}
return(max);
}
void main()
{
int *tab;
int max1,max2,n;
int i=1;
clrscr();/*pour effacer l'ecrans*/
textcolor(12);
cprintf("Entrez la taille du tableaux:",n);
scanf("%d",&n);
cprintf("Entrez la %d ‚re valeur:",i);/*textcolor pour une ecriture en couleur*/
scanf("%d",&tab[i]); /*textcolor(12):couleur rouge*/
/**********remplir votre tableaux***************/
for(i=2;i<=n;i++)
{
textcolor(12);
cprintf("Entrez la %d ‚me valeur:",i);
scanf("\n%d",&tab[i]);
}
max1=maximum1(tab,n);
max2=maximum2(tab,n,max1);
textcolor(6);
printf("voici le premier maximum :%d\n" ,max1);
printf("voici le deuxi‚me maximum :%d" ,max2);
getch();/*pour stoper sur l'affichage*/
}
pour un qlquanque prbleme contacte moi par email :
argentine85@hotmail.fr
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je ne pense pas que ce soit une bonne idée de faire son exercice à sa place si tu veux qu'elle progresse, d'autant plus que ta solution comporte quelques erreurs.
Le programme est faux car il omet la case 0.
De plus il ne vérifie pas si le tableau est non vide (segmentation fault s'il est de taille 0 ou 1 en l'occurrence).
Le deuxième max n'est pas trouvé si les valeurs du tableaux sont toutes égales.
Les parenthèse autour de la valeur de return n'ont pas lieu d'exister.
L'usage de conio.h et de ses fonction (cprintf, clrscr,...) est une mauvaise idée car le programme n'est plus portable, il vaut mieux utiliser stdio.h et les fonctions stanfards (printf etc...)
La fonction main est sensée idéalement retourner un int (EXIT_SUCCESS ou 0 si tout va bien, le code d'erreur sinon).
Bonne chance
Le programme est faux car il omet la case 0.
De plus il ne vérifie pas si le tableau est non vide (segmentation fault s'il est de taille 0 ou 1 en l'occurrence).
Le deuxième max n'est pas trouvé si les valeurs du tableaux sont toutes égales.
Les parenthèse autour de la valeur de return n'ont pas lieu d'exister.
L'usage de conio.h et de ses fonction (cprintf, clrscr,...) est une mauvaise idée car le programme n'est plus portable, il vaut mieux utiliser stdio.h et les fonctions stanfards (printf etc...)
La fonction main est sensée idéalement retourner un int (EXIT_SUCCESS ou 0 si tout va bien, le code d'erreur sinon).
Bonne chance
tableaut de type int , le seconde maximum (mai sans trier le tableau)
merci biennnnnnnnnnnn