2017-08-17 11 views
-3

以下のコーディングがあります:)また、コードの出力を理解することがより簡単になるように、いくつかの部分にコメントしました。テーブルの総数-1と1の合計数はどのように計算されますか? (C++)

「1」と-1だけの合計を計算することをプログラムが認識していることを確認するために、「if文」と「rand()%」を使用する必要があるという少しの考えがあります。たとえば "rand()%2-1"を使用すると、テーブルに出力される1の総和が得られます。このアイデアがうまくいくかどうかはわかりません。

だから、プログラムは次のように出力何か「テーブル内の1の量は5、表内-1,2の量は3である」必要があり、初めてその走ったため。 2回目の実行時には、「テーブルの1の量は2で、その量は-1で表は5です」

ご不便をおかけして申し訳ありません高く評価:) :)

#include<iostream> 
#include<iomanip> 
#include<ctime> 


using namespace std; 

int main() { 
srand(time(0)); 
const int ROWS=3; 
const int COLS=4; 

int table[ROWS][COLS]; 

for (int i = 0; i < ROWS; i ++) { 
    for (int j = 0; j < COLS; j++) { 
     table[i][j] = rand()%3-1; 
    } 
} 

for (int i = 0; i < ROWS; i ++) { 
    for (int j = 0; j < COLS; j++) 
     cout << setw(3) << table[i][j]; 

    cout << endl; 
} 



bool checkTable [ROWS][COLS]; 

for (int i = 0; i < ROWS; i ++) { 
    for (int j = 0; j < COLS; j++) { 
     if (table[i][j] !=0) { 
checkTable[i][j] = true; 
    } 
    else{ 
checkTable[i][j] = false; 
    } 


    //The output in the line below is the final line outputted by the 
    console. This prints out "1" if there is a value in the index within 
    the table provided above (the value is represented by 1 or -1), and 
    prints out "0" if there is no value in the index (represented by 0) 

    cout << " " << checkTable[i][j]; 



    } 
} 

return 0; 
} 
+5

なぜ 'ランド()'を??テーブル内の1の数を乱数と比較すると何がありますか?あなたがそれを埋めると、 'rand()'は必要ありません。 – user463035818

+0

"rand()"は、このコード化ではタスクをより挑戦的にするために使用されます。 -1から0までの範囲があります(これは、テーブル内で-1、0、1を出力します)。プログラムが実行されるたびに、3つの数字が "rand()"によって異なる順序で出力されます。トリッキーなビットは、プログラムが実行されるたびにテーブル内に出力される1と-1の量を計算する方法を理解することです。そして、 "rand()"関数のために、毎回異なる合計があります。私はそれを明確にするために今私の質問を編集しました – Learning2code

+0

質問を明確にしようとしてください。あなたがなぜカウントするために 'rand()'が必要だと思うのかははっきりしない。また、私はあなたが何か計算を行うコードを見つけることはありません。犯罪はありませんが、あなたのコードはあなたの仕事と無関係であるようです。「1秒のカウント」 – user463035818

答えて

1

[...]のために例えば用いて "ランド()%2-1" テーブルで出力1S の総和を取得するに役立つことができます。

私は本当にあなたがそれによって何を意味するか理解しません。カウントとランダム性はうまくいっていません。私はあなたには、いくつかのカウントを行い、その後、ランダムな数字とを行列を埋めることができますが、rand()は文句を言わない、カウントのために何を助け、もちろん意味します。

あなたはそのような単純なものが必要です。

int main() { 
srand(time(0)); 
const int ROWS=3; 
const int COLS=4; 

int table[ROWS][COLS]; 

for (int i = 0; i < ROWS; i ++) { 
    for (int j = 0; j < COLS; j++) { 
     table[i][j] = rand()%3-1; 
    } 
} 

unsigned ones_counter = 0; 

for (int i = 0; i < ROWS; i ++) { 
    for (int j = 0; j < COLS; j++) {    // dont forget the bracket 
     cout << setw(3) << table[i][j]; 
     if (table[i][j] == 1) { ones_counter++;} // <- this is counting 
    } 
    cout << endl; 
} 

std::cout << "number of 1s in the table : " << ones_counter << "\n"; 
.... 
+0

はい、私は彼らが理解できないと理解しています...しかし、それは私の家庭教師が私に提供したタスクです。助けてくれてありがとう :) – Learning2code

関連する問題