c - 查找二维数组中每列的元素数
问题描述
我尝试制作 C 程序但遇到问题。该程序正在查找每列中的元素数量。
输入 :
4 4
矩阵:
1 0 1 1
0 0 0 0
0 0 0 1
1 1 1 1
输出应该是列中 1 的数量
输出 :
2 1 2 3
这是我的程序,但它不能正常工作:
#include<stdio.h>
int main()
{
int i , j, r , c , n , a[100][100],max[100];
printf("Enter the number of rows: ");
scanf("%d",&r);
printf("Enter the number of columns: ");
scanf("%d",&c);
printf("Enter the elements of the array- \n");
printf("The input matrix is:- \n");
for(i = 0; i < r; i++)
{
for(j = 0; j < c; j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
for(i = 0; i < r; i++)
{
max[i] = a[i][j];
for(j = 0; j < c ; j++)
{
if(a[i][j]>max[i])
{
max[i]=a[i][j];
}
}
}
for(i = 0; i < r; i++)
{
printf("the element of the row %d is: %d\n",i,max[i]);
}
}
我需要帮助来修复程序。谢谢 :)
解决方案
你需要改变
max[i] = a[i][j];
for(j = 0; j < c ; j++)
和
max[i] = a[i][0];
for(j = 1; j < c ; j++)
否则,您将值存储a[i][c]
为max
每次迭代,这不是您想要的。
此外,您没有填充数组,您可以使用一些随机值来测试您的程序:
...
#include <time.h>
...
int main(void)
{
srand((unsigned)time(NULL));
...
for(i = 0; i < r; i++)
{
for(j = 0; j < c; j++)
{
a[i][j] = rand();
printf("%d\t",a[i][j]);
}
printf("\n");
}
编辑:
max
如果您想计算1
's 的数量,这不是一个好名字。
和
printf("the element of the row %d is: %d\n",i,max[i]);
应该
printf("Number of 1's in row %d is: %d\n",i,max[i]);
请下次努力解释问题。
您的代码使用随机数,只需将其调整为scanf
:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int i , j, r = 5, c = 10, n , a[100][100],max[100];
srand((unsigned)time(NULL));
printf("The input matrix is:- \n");
for(i = 0; i < r; i++)
{
for(j = 0; j < c; j++)
{
a[i][j] = rand() & 1;
printf("%d\t",a[i][j]);
}
printf("\n");
}
for(i = 0; i < r; i++)
{
max[i] = 0;
for(j = 0; j < c ; j++)
{
if(a[i][j] == 1)
{
max[i]++;
}
}
}
for(i = 0; i < r; i++)
{
printf("Number of 1's in row %d is: %d\n",i,max[i]);
}
}
推荐阅读
- spring - 如何模拟spring bean的特定方法
- python - 在两个数据框列之间更快地查找 - Python/Pandas Way
- python - 如何从 .CSV 调用特定列
- reactjs - React - 我可以在 componentDidMount 中添加组件吗?
- json - 如果父元素不是最高元素,如何访问父 JSON 记录和子 JSON 记录?
- c# - 生成两个日期之间的每周营业日期列表,不包括周末和节假日
- angular - 角度谷歌地图@agm/core
- haskell - 如何在 Nix 中制作这个 Haskell 开发环境?
- php - PHP preg_match_all 具有类名的父级
- c++ - std::initializer_list: 错误 C2064: 术语不计算为采用 0 个参数的函数