c++ - 期望:代码打印出x(您输入的)出现在矩阵中的次数...实际:代码打印出值的数量
问题描述
期望:代码打印出 x(您输入的)出现在矩阵中的次数...实际:代码打印出值的数量 嘿伙计们,对于你们中的一些人来说,这个问题可能是愚蠢的,但我刚刚开始学习 C++最近所以请,同情:((我为我的英语不好道歉
#include <iostream>
using namespace std;
int NhapMang(int A[100][100], int &n)
{
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
cout << "Nhap A[" << i << "][" << j << "]: ";
cin >> A[i][j];
}
}
return 0;
}
int XuatMang(int A[100][100], int &n)
{
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
cout << A[i][j] << " ";
}
cout << "\n";
}
return 0;
}
int SoLanXuatHien(int A[100][100], int &n, int &x)
{
int dem=0;
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
if(A[i][j]==x);
{
dem++;
}
}
}
return dem;
}
int main()
{
int n, A[100][100],x;
cout << "moi nhap n: ";
cin >> n;
NhapMang(A,n);
XuatMang(A,n);
cout << "moi nhap x: ";
cin >> x;
cout << "\nso lan xuat hien: \n";
cout << SoLanXuatHien(A,n,x);
return 0;
}
矩阵:1 2 3 4 5 6 7 8 9 x:4
预期:1 实际:9
解决方案
问题是这条线
if(A[i][j]==x);
在 C++ 中,即使是简单的分号也被视为语句。它实际上相当于:
if (A[i][j] == x)
;
在您的情况下,因为您没有在语句周围加上大括号,所以您的代码将与此等效:
....
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if(A[i][j]==x) {
}
{
dem++; // dem will be incremented every time loop iterates. That's why you got 9
}
}
}
删除分号,一切都会正常工作。
更正的代码:
#include <iostream>
using namespace std;
int NhapMang(int A[100][100], int &n)
{
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
cout << "Nhap A[" << i << "][" << j << "]: ";
cin >> A[i][j];
}
}
return 0;
}
int XuatMang(int A[100][100], int &n)
{
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
cout << A[i][j] << " ";
}
cout << "\n";
}
return 0;
}
int SoLanXuatHien(int A[100][100], int &n, int &x)
{
int dem=0;
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
if(A[i][j]==x)
{
dem++;
}
}
}
return dem;
}
int main()
{
int n, A[100][100],x;
cout << "moi nhap n: ";
cin >> n;
NhapMang(A,n);
XuatMang(A,n);
cout << "moi nhap x: ";
cin >> x;
cout << "\nso lan xuat hien: \n";
cout << SoLanXuatHien(A,n,x);
return 0;
}
推荐阅读
- regex - Apache 元字符
- wordpress - 分别显示每个类别
- javascript - 在不使用属性名称的情况下访问大型嵌套数组中的 JSON 属性值
- python - 问题抓取亚马逊,元素无法滚动到视图中
- c# - SetCurrentConsoleFontEx 不适用于长字体名称
- php - 路径组件上缺少 AWS Apache 搜索权限
- android - USB 调试不适用于 MK809V Android 棒
- java - Android:将 JSON 数据存储在单例中以在活动之间传递?
- r - R 代码 adehabitatHR - 网格对于 kernelUD /getverticeshr/adehabitatHR 家庭范围估计来说太小了
- django - 时间数据与格式 YYYY-MM-DD 不匹配