[Débutant] Max d'un tableau

mahdi2530 Messages postés 15 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 7 mai 2013 - 20 janv. 2013 à 21:03
mahdi2530 Messages postés 15 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 7 mai 2013 - 21 janv. 2013 à 17:45
slt j'Ecris un pgm qui calcule le max d'un tableau mais j'ai rencontré un pb ,lorsque j'ai mis la valeur(de max) dans un autre tableau ça marche pas voici mon code en c :
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<dos.h>
int z2[50];
int y3 ;
int z3[50];
int i,j,k,m,n;
int max(int r[50],int l){
k = r[0];
for(int i=1;i<=l;i++){

if(r[i]>k)
k=r[i];

}
return (k);
}
main(void){
printf("donner taille de tab ");
scanf("%d",&n);
for( j=0;j<=n;j++){
printf("donne les val de tab ");
scanf("%d",&z2[j]) ;
}
for(i=1;i<=n;i++){
max(z2,n);
for(i=1;i<=n;i++){
z3[i] = max(z2,n);
}
}
printf(" le max est : %d",&z3[i]);
system("pause");
return 0;
}
et merçi .

4 réponses

BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
21 janv. 2013 à 09:48
Hello,
Quelques petites choses sont à revoir...
for( j=0;j<=n;j++)

Généralement, les indices de tableau vont de 0 à N-1 (et donc le tableau contient N valeurs). D'ailleurs:
scanf("%d",&z2[j]) ;

Que se passe-t-il si j (donc n, la valeur saisie) dépasse 50, qui est la taille fixe de ton tableau? ça crash... J'imagine que tu n'as pas encore appris les allocations dynamiques avec malloc() ? Renseignes-toi là dessus, ça peut t'aider...

for(i=1;i<=n;i++){ 
max(z2,n); 
for(i=1;i<=n;i++){ 
z3[i] = max(z2,n); 
} 
}

Pourquoi zappes-tu l'indice 0? Tu ne parcours pas entièrement ton tableau du coup...
Pourquoi calculer 2 fois max(z2,n)?
Et pourquoi mettre le max d'un tableau...dans un tableau?

Je te conseille le pseudo-code suivant:
- initialiser une variable 'max'
- saisie de la taille du tableau
- allocation du tableau (cf. malloc)
- demander les valeurs du tableau
- pour chaque nouvelle valeur saisie:
. si valeur saisie > max
. mettre à jour max avec la nouvelle valeur
. ajout de la valeur dans le tableau
- fin pour
- afficher le max

@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
21 janv. 2013 à 09:50
J'ai renommé ta demande de manière plus explicite. Ni vois rien de péjoratif...


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
mahdi2530 Messages postés 15 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 7 mai 2013
21 janv. 2013 à 17:10
slt
(Et pourquoi mettre le max d'un tableau...dans un tableau? ) parce que ce pgm est un sous d'autre pgm
0
mahdi2530 Messages postés 15 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 7 mai 2013
21 janv. 2013 à 17:45
commet traduire le max de tabl en pascal ?
0
Rejoignez-nous