我需要找到二维数组中每个元素的频率。任何人都可以通过代码帮助我。
答案 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);
}
}
}
}