Calcul de nombre d'occurence

mb42 Messages postés 553 Statut Membre -  
 omarrrr -
Bonjour,

le programe suivant donne l'emplacement d'une valeur saisie au clavier

dans une matrice selon le ligne et la colone

#include<stdio.h>
#include<conio.h>
main()
{
int M[50][50],i,j,taille1,taille2,s=0,p=1,trouve=0,ind_li,ind_col,val;
float moy;
do
{
printf("donnner les nomres de lignes :");
scanf("%d",&taille1);
}while((taille1<=0)&&(taille1>=50));
do
{
printf("donner les nombres de colones");
scanf("%d",&taille2);
}while((taille2<=0)&&(taille2>=50));
for(i=0;i<taille1;i++)
{for(j=0;j<taille2;j++)
{ printf("l'elemnt %d %d ",i,j);
scanf("%d",&M[i][j]);
}
}
for(i=0;i<taille1;i++)
{for(j=0;j<taille2;j++)
{ s+=M[i][j];
p*=M[i][j];
}
}
moy=(float)s/(taille1*taille2);
printf("la somme est %d\n",s);
printf("le produit est %d\n",p);
printf("la moyenne est %f\n",moy);
printf("\ndonner une valeur\n");
scanf("%d",&val);
for(i=0;(i<taille1)&&(trouve==0);i++)
{for(j=0;(j<taille2)&&(trouve==0);j++)
{if(M[i][j]==val)
{ind_li=i;
ind_col=j;
trouve=1;
}
}
}
if(trouve==1)
printf("la valeur %d se trouve a l'emplacement %d %d\n",val,ind_li,ind_col);

else
printf("la valeur saisie ne se trouve pas\n");

while(

printf(" matric resultat\n");
for(i=0;i<taille1;i++)
{for(j=0;j<taille2;j++)
{printf("%d",M[i][j]);
}
printf("\n");
}
getch();
}

mais mon but est d'afficher les nomres d'occurences d'une valeur saisie au clavier dans une matrice

c a dire si un matrice de cette format
1 3 4
5 7 7
4 0 7

et si on saisi la valeur" 7"

donc le nombre d'occurence est 3

merci d'avance
Configuration: Windows XP
Firefox 3.0.14

1 réponse

  1. mb42 Messages postés 553 Statut Membre 7
     
    desole pour l'ancien code

    mais le code que je test pour calculer le nombre d'occrence est le suivant:

    #include<stdio.h>
    #include<conio.h>
    main()
    {
    int M[50][50],i,j,taille1,taille2,trouve=0,comp=0,val;

    do
    {
    printf("donnner les nomres de lignes :");
    scanf("%d",&taille1);
    }while((taille1<=0)&&(taille1>=50));
    do
    {
    printf("donner les nombres de colones");
    scanf("%d",&taille2);
    }while((taille2<=0)&&(taille2>=50));
    for(i=0;i<taille1;i++)
    {for(j=0;j<taille2;j++)
    { printf("l'elemnt %d %d ",i,j);
    scanf("%d",&M[i][j]);
    }
    }

    printf("\ndonner une valeur\n");
    scanf("%d",&val);
    for(i=0;(i<taille1)&&(trouve==0);i++)
    {for(j=0;(j<taille2)&&(trouve==0);j++)
    {if(M[i][j]==val)
    {comp++
    }
    }
    }

    printf("le nombre d'occurence de la valeur %d est %d",val,comp);

    else
    printf("la valeur saisie ne se trouve pas\n");

    getch();
    }

    mais il ne donne pas le resultat juste

    pouvez me corriger

    merci d'avance
    0
    1. omarrrr
       
      #include<stdio.h>
      #include<conio.h>
      main()
      {
      float t[50][50],val;
      int li,co,i,j,cpt;

      printf("ligne : ");
      scanf("%d",&li);
      printf("colone : ");
      scanf("%d",&co);
      printf("entrez les valeur du tableau :\n");
      for(i=0;i<li;i++)
      {for(j=0;j<co;j++)
      {printf("element %d %d :",i,j);
      scanf("%f",&t[i][j]);}}
      printf("entrez la valeur : ");
      scanf("%f",&val);
      for(i=0;i<li;i++)
      {for(j=0;j<co;j++)
      {if(t[i][j]==val)
      cpt++;
      }}
      printf("la valeur %f en a dans le tableau %d fois",val,cpt);
      getch();
      }
      0