如何找到二维数组中元素的频率?

时间:2018-10-01 05:50:42

标签: c arrays

我需要找到二维数组中每个元素的频率。任何人都可以通过代码帮助我。

1 个答案:

答案 0 :(得分:0)

我猜您是编程的绝对初学者。假设您使用的是简单的编程语言,我在下面发布了代码。它不是最优雅的代码,但是对于初学者来说,它应该做您想做的事情。但是,总是尝试自己编写代码,然后尝试几次后再进行澄清。

代码如下:

#include<stdio.h>
#define MAX 20
void frequency(int[][20],int,int);

int main()
{
     int a[MAX][MAX],n,n2,i,j;
     printf("Enter row and column sizes of array: ");//row and column sizes
     scanf("%d%d",&n, &n2);
     printf("\nEnter array: ");
     for(i=0;i<n;i++)
     {
       for(j=0;j<n2;j++) 
       {
          scanf("%d",&a[i][j]);
       }
     }
     frequency(a,n,n2);
     return(0);
}
void frequency(int a[][20],int n, int n2) {
     int i,j,k,c=0,num;
     int x, y,visited[n][n2];
     for(i=0;i<n;i++) {
       for(j=0; j<n2;j++) {
          c=1;
          num=a[i][j];
          if(visited[i][j]!=1) {
          for(x=0;x<n;x++) {
            for(y=0;y<n2;y++) {
              if((i==x)&&(j==y)) {
                continue;
              }
              if(a[i][j]==a[x][y]) {
                visited[x][y]=1;
                c++;
              }
            }
          }
          printf("\nthe frequency of element %d  is %d",num,c);
          }
       }
     }
}