[C] Matrice 10*10
kai
-
mype Messages postés 2435 Date d'inscription Statut Membre Dernière intervention -
mype Messages postés 2435 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
mon programme doit alimenter un tableau 10X10, avec des nombres de 1 à 100!
puis on doit rechercher le minimum, le maximum. puis demander un nombre à l'utilisateur et l'afficher autant de fois qu'il se trouve dans le tableau.
je dois dire que je bloque
peut-on m'aider?
#include <stdio.h>
#include<stdlib.h>
#include <time.h>
void main (void)
{
int tab[10][10];
int i,j,nbr,min,max,nbre;
srand(time(NULL));
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
nbr=rand()%100+1;
tab[i][j]= nbr;
printf( "%d\t", tab[i][j] );
}
}
/* recherche du minimu et maximum*/
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if( tab[i][j] < tab[i][j] + 1 )
{
min= tab[i][j];
printf(" le minimum %d", min);
}
else
{
max=tab[i][j];
printf("le maximum %d ",max);
}
}
/* demande d'un nombre et affichage plusieurs fois si utile*/
printf("entrez un nombre");
scanf("%d",&nbre);
}
}
mon programme doit alimenter un tableau 10X10, avec des nombres de 1 à 100!
puis on doit rechercher le minimum, le maximum. puis demander un nombre à l'utilisateur et l'afficher autant de fois qu'il se trouve dans le tableau.
je dois dire que je bloque
peut-on m'aider?
#include <stdio.h>
#include<stdlib.h>
#include <time.h>
void main (void)
{
int tab[10][10];
int i,j,nbr,min,max,nbre;
srand(time(NULL));
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
nbr=rand()%100+1;
tab[i][j]= nbr;
printf( "%d\t", tab[i][j] );
}
}
/* recherche du minimu et maximum*/
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if( tab[i][j] < tab[i][j] + 1 )
{
min= tab[i][j];
printf(" le minimum %d", min);
}
else
{
max=tab[i][j];
printf("le maximum %d ",max);
}
}
/* demande d'un nombre et affichage plusieurs fois si utile*/
printf("entrez un nombre");
scanf("%d",&nbre);
}
}
A voir également:
- [C] Matrice 10*10
- Clé d'activation windows 10 - Guide
- Restauration systeme windows 10 - Guide
- Windows 10 ne démarre plus - Guide
- Windows 10 gratuit - Accueil - Mise à jour
- Winrar 64 bits windows 10 - Télécharger - Compression & Décompression
6 réponses
La boucle de remplissage me semble OK
Pour ca:
Ca ne peux pas marcher... tu compares une valeur aveccette valeur +1. Donc ton test est toujours VRAI.
De plus tes deux "printf" pour le min et le max sont dans la boucle donc ils vont s'afficher a chaque fois, alors que tu veux les aficher seulement à la fin.
Ton soucis est au niveau de la comparaison
il faut comparer la valeur du tableau à "min" et a "max" puis agir en conséquence
Pour ca:
if( tab[i][j] < tab[i][j] + 1 ) { min= tab[i][j]; printf(" le minimum %d", min); } else { max=tab[i][j]; printf("le maximum %d ",max); }
Ca ne peux pas marcher... tu compares une valeur aveccette valeur +1. Donc ton test est toujours VRAI.
De plus tes deux "printf" pour le min et le max sont dans la boucle donc ils vont s'afficher a chaque fois, alors que tu veux les aficher seulement à la fin.
Ton soucis est au niveau de la comparaison
il faut comparer la valeur du tableau à "min" et a "max" puis agir en conséquence
bonjour
j'ai le même problème mis je bloque au niveau des comparaison avec le min et max!
peut-on m'aider? merci
j'ai le même problème mis je bloque au niveau des comparaison avec le min et max!
peut-on m'aider? merci
L'affichage et le calcul du min et max peuvent se faire dans la même boucle (gain de temps) comme suit :
Ensuite il ne te reste plus qu'à demander la valeur à l'utilisateur puis compter dans ton tableau (en faisant un parcours) le nombre d'occurence de ce nombre.
int tab[10][10]; int i,j,nbr,min,max,nbre = 0; srand(time(NULL)); for(i=0;i<10;i++) { for(j=0;j<10;j++) { nbr=rand()%100+1; tab[i][j]= nbr; // --- Calcul min & max if ( nbr < min ) min = nbr if ( nbr > max ) max = nbr printf( "%d\t", tab[i][j] ); } printf("\n"); // --- Saut de ligne pour formater sous forme de tableau, c'est toujours mieux }
Ensuite il ne te reste plus qu'à demander la valeur à l'utilisateur puis compter dans ton tableau (en faisant un parcours) le nombre d'occurence de ce nombre.
bonjour
j'ai essayé d'executer ce programme chez moi mais il n'affiche pas ni le max et ni le min, comment fait-on?
merci
j'ai essayé d'executer ce programme chez moi mais il n'affiche pas ni le max et ni le min, comment fait-on?
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
voici le programme mais il ne marche toujours peut-on me corriger?
et comment fais-ton pour demander un nombre à l'utilisateur et l'afficher autant de fois qu'il se trouve dans le tableau.
merci
#include <stdio.h>
#include<stdlib.h>
#include <time.h>
void main (void)
{
int tab[10][10];
int i,j,nbr,min,max,nbre = 0;
srand(time(NULL));
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
nbr=rand()%100+1;
tab[i][j]= nbr;
// --- Calcul min & max
if ( nbr < min )
min = nbr;
if ( nbr > max )
max = nbr;
printf( "%d\t", tab[i][j] );
}
printf("maximum : %d\n",max);
printf("minimum : %d\n",min);
printf("\n"); // --- Saut de ligne pour formater sous forme de tableau, c'est toujours mieux
}
/* demande d'un nombre et affichage plusieurs fois */
printf("entrez un nombre");
scanf("%d",&nbre);
}
et comment fais-ton pour demander un nombre à l'utilisateur et l'afficher autant de fois qu'il se trouve dans le tableau.
merci
#include <stdio.h>
#include<stdlib.h>
#include <time.h>
void main (void)
{
int tab[10][10];
int i,j,nbr,min,max,nbre = 0;
srand(time(NULL));
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
nbr=rand()%100+1;
tab[i][j]= nbr;
// --- Calcul min & max
if ( nbr < min )
min = nbr;
if ( nbr > max )
max = nbr;
printf( "%d\t", tab[i][j] );
}
printf("maximum : %d\n",max);
printf("minimum : %d\n",min);
printf("\n"); // --- Saut de ligne pour formater sous forme de tableau, c'est toujours mieux
}
/* demande d'un nombre et affichage plusieurs fois */
printf("entrez un nombre");
scanf("%d",&nbre);
}
essaye ça :
#include <stdio.h> #include<stdlib.h> #include <time.h> void main (void) { int tab[10][10]; int i,j,nbr,min,max,nbre; srand(time(NULL)); for(i=0;i<10;i++) { for(j=0;j<10;j++) { nbr=rand()%100+1; tab[i][j]= nbr; printf( "%d\t", tab[i][j] ); } printf("\n"); } min=max=tab[0][0]; /* recherche du minimu et maximum*/ for(i=0;i<10;i++) { for(j=0;j<10;j++) { if( min > tab[i][j] ) { min= tab[i][j]; } if( max < tab[i][j] ) { max=tab[i][j]; } } } printf("minimum : %d\n",min); printf("maximum : %d\n",max); }