2016-06-01 90 views
-6
#include <iostream> 
using namespace std; 

int main() 
{ 
    int A[6][6], i, j, k, max, min; 
    for (int i=0; i<6; i++) 
    { 
     cout << "Enter a number: "<<endl; 
     for (int j=0; j<6; j++) 
     { 
      cin >> A[i][j]; 
     } 
    } 
    for (int i=0; i<6; i++) 
    { 
     for (int j=0; j<6; j++) 
     { 
      cout << " " << A[i][j]; 
     } 
    } 
    if (j > 0) 
    { 
     cout << "A: "<<endl; 
    } 
    else if (j < 0) 
    { 
     cout << "B: "<<endl; 
    } 
    cin.get(); 
    char ch1; 
    cin>>ch1; 
    return 0; 
} 

我一直在寻找代码在这里,但他们都包括我还没有在C++中学到的东西,我需要让它如此积极数字放在A部分,B部分放入负数,并按顺序再次显示。我怎么做?我不知道如何排序正数和负数

+1

请缩进您的代码。这是不可读的。 – OldProgrammer

+0

你是什么意思?这对我来说很好http://puu.sh/pccs7/d76c28c362.png – user513497

+1

我已经编辑了你的问题来以更具可读性的格式格式化你的代码 – Tas

回答

0

首先你明白你的循环运行了6次,并一直要求输入数字,直到你输入36个输入。我建议使用1D数组而不是2D数组。如果可以,可以减少数量,或者增加一项功能,以在用户认为足够时停止输入。如果条件允许,你可以轻松地做到这一点。

反正只是为了让你的代码做它该做的(如果我没有得到它)​​,

#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; 
} 

可以改变过去像this.I循环已经改变了数组的大小为2,因为我不能输入36个输入。你的代码有什么问题是第二套for循环结束运行并打印所有数字,然后运行if语句,这又是不正确的,因为你正在检查j的值检查你输入的数字。希望这会有所帮助。

+0

谢谢,现在我明白了,我试图做类似的事情,但没有奏效 – user513497

0

你可以包括然后使用排序功能。在排序函数可以编写一个排序方法,也可以使用更大的()作为一种方法

0

j变量没有在

if (j > 0) 
{ 
    cout << "A: "<<endl; 
} 
else if (j < 0) 
{ 
    cout << "B: "<<endl; 
} 

它是不一样的j那些其用于初始化因为这些循环中声明了for循环(使用int)。

小心只使用初始化变量。

另外我想你只需要再做一个for循环,用ij来检查数组的每个元素是正数还是负数(零元素怎么样?)。

相关问题