sudo phpenmod mbstring
我一直在查看这里的代码,但它们都包含了我尚未在C ++中学到的东西,我需要这样做才能将正数放在A部分中,将负数放在B中,并且按顺序再次显示它们。我该怎么做?
答案 0 :(得分:0)
你可以包括然后使用sort函数。在sort函数中,您可以编写排序方法,也可以使用greater()作为排序方法
答案 1 :(得分:0)
j
变量未在
if (j > 0)
{
cout << "A: "<<endl;
}
else if (j < 0)
{
cout << "B: "<<endl;
}
它与用于j
循环的for
不同,因为这些循环在int
}中声明。
小心只使用初始化变量。
此外,我认为您只需要使用for
和i
进行另一个j
循环,以检查数组的每个元素是正数还是负数(零元素怎么样?)。
答案 2 :(得分:0)
首先,你明白你的循环运行了6次并且一直要求输入数字,直到你输入36个输入。
我建议使用1D数组而不是2D数组。如果可以,请减少数量,或者在用户认为足够时添加停止输入的功能。您可以使用if条件轻松完成此操作。
无论如何只是为了让你的代码做它想做的事情(如果我得到了正确的话),
#include <iostream>
using namespace std;
int main ()
{
int A[2][2], i, j, k, max, min;
for (int i=0; i<2; i++)
{
cout << "Enter a number: "<<endl;
for (int j=0; j<2; j++)
{
cin >> A[i][j];
}
}
for (int i=0; i<2; i++)
{
for (int j=0; j<2; j++)
{
if (A[i][j] > 0)
{
cout << "A: " << A[i][j] <<endl;
}
else if (A[i][j] < 0)
{
cout << "B: "<< A[i][j] <<endl;
}
}
}
cin.get();
char ch1;
cin>>ch1;
return 0;
}
您可以像这样更改最后一个for循环。我已经将数组大小更改为2,因为我无法输入36个输入。您的代码出了什么问题,第二组for循环完成运行并打印所有数字然后它运行if语句,这又是不正确的,因为你正在检查j的值而不是检查你输入的数字。希望这会有所帮助。