[C] Matrice 10*10
kai
-
mype Messages postés 2459 Date d'inscription Statut Membre Dernière intervention -
mype Messages postés 2459 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é windows 10 - Guide
- Fin windows 10 - Guide
- Pilote son windows 10 - Télécharger - Pilotes & Matériel
- Windows 10 - Guide
- Restauration systeme windows 10 - Guide
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.
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);
}