Nombre d'occurance Matrice en language C
kikzee
Messages postés
87
Statut
Membre
-
Dalfab Messages postés 720 Statut Membre -
Dalfab Messages postés 720 Statut Membre -
Bonjour,
je n'arrive pas a afficher le nombre d'occurance dans un tableau a 2dimension matrice
voici mon code:
je n'arrive pas a afficher le nombre d'occurance dans un tableau a 2dimension matrice
voici mon code:
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int arr[50][50],n,i,j;
int num,count;
printf("Enter total number of elements: ");
scanf("%d",&n);
//read array elements
printf("Enter array elements:\n");
for(i=0;i< n;i++)
for(j=0;j< n;j++)
{
printf("Enter element %d: ",i+1,j+1);
scanf("%d",&arr[i][j]);
}
printf("Enter number to find Occurrence: ");
scanf("%d",&num);
//count occurance of num
count=0;
for(i=0;i< n;i++)
for(j=0;j< n;j++)
{
if((arr[i]==num)&&(arr[j]==num))
count++;
}
printf("Occurrence of %d is: %d\n",num,count);
return 0;
}
A voir également:
- Nombre d'occurance Matrice en language C
- Nombre de jours entre deux dates excel - Guide
- Nombre facile - Télécharger - Outils professionnels
- Ascii nombre de caractères - Guide
- Vous ne pouvez pas modifier une partie de matrice ✓ - Forum Excel
- Gto nombre episode - Forum Cinéma / Télé
2 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour, deux suggestions:
1) en plus d'écrire "je n'arrive pas", écris aussi ce que fait ton programme, et en quoi c'est différent de ce que tu souhaites qu'il fasse. cela fait partie de ton travail, et t'aidera à progresser.
2) commence par afficher le contenu de la matrice. c'est une façon de décomposer ton exercice en éléments plus simples, ce qui te permettra de vérifier que tu maîtrises chaque élément. afficher le contenu te permettra de vérifier que tu maîtrises le remplissage de la matrice, ainsi que la technique pour la parcourir. et d'apprendre ce que tu ne connais pas encore.
1) en plus d'écrire "je n'arrive pas", écris aussi ce que fait ton programme, et en quoi c'est différent de ce que tu souhaites qu'il fasse. cela fait partie de ton travail, et t'aidera à progresser.
2) commence par afficher le contenu de la matrice. c'est une façon de décomposer ton exercice en éléments plus simples, ce qui te permettra de vérifier que tu maîtrises chaque élément. afficher le contenu te permettra de vérifier que tu maîtrises le remplissage de la matrice, ainsi que la technique pour la parcourir. et d'apprendre ce que tu ne connais pas encore.
Bonjour,
Quand ru remplis la matrice, tu accèdes à un élément par
Quand tu cherches dans la matrice, tu utilises
Quand ru remplis la matrice, tu accèdes à un élément par
arr[i][j]. Là je comprends.
Quand tu cherches dans la matrice, tu utilises
arr[i]et
arr[j], sais-tu ce que c'est? Ces éléments sont des lignes de la matrice. Le compilateur a dû lui aussi trouver cela bizarre et te l'a vraisemblablement signalé par des warnings.
mon programme doit affiche le nombre d'occurance dans une matrice hors,lorsque j'appelle la fonction occu dans la main affiche une erreur
la fonction
void occu (int tab [7][7], int n)
{
int num,i,j,count;
count=0;
printf("Entrer nombre d'occurance: ");
scanf("%d",&num);
for( int i=0;i< n;i++);
for( int j=0;j< n;j++)
{
if(tab[i][j]==num)
count++;
}
printf("Nombre d'occurance %d est: %d\n",num,count);
}
Merci d'avance
tu as introduit un élément de complexité supplémentaire, en passant une matrice comme paramètre. tu as commis deux erreurs en faisant cela.
je suggère de faire d'abord l'exercice sans appel de fonction.
ensuite, mon conseil : "afficher le contenu de la matrice" restera valable, quand tu feras une fonction.
La fonction occu doit être définie pour recevoir un tableau dont toutes les dimensions sauf la première doivent être strictement identiques à celles de ton tableau.
int tab[50][50]; ...... occu( tab , n ); // on utilise le nom du tableau, cela passe un pointeur sur la première ligne ...... //la fonction void occu( int tab[][50] , int n ) // reçoit un pointeur sur la première ligne (ligne de taille 50) { ......