2016-06-01 93 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來檢查數組的每個元素是正數還是負數(零元素怎麼樣?)。

相關問題