0

私はクラスの割り当てを行っていますが、それはかなり日常的なことです。私は以前にJavaでこれを行ったことがあるので、まったく新しいことではありませんが、ここで何が問題になっているのか完全にはわかりません。

基本的に、いくつかの行/列の情報を入力してから、列の合計を出力する必要がありますが、それはすべて特に難しいことではありません。ただし、配列の内容を出力するたびに、何があってもすべてが1になります。

なぜ私がそれを感謝するのか誰かが私に言うことができれば、私は何が悪いのかわかりません。

ああ、言及するのを忘れました、私はコンパイルにg++を使用しています。

#include <iostream>
#include <cstdio>
using namespace std;

const int ROWS = 4;
const int COLUMNS = 3;

void setupMatrix() {
    // Setup matrix
    double array[ROWS][COLUMNS];

    // Needed? Wouldn't think so.
    // for (int i = 0; i < COLUMNS; i++) {
    //      for (int j = 0; j < ROWS; j++) {
    //              array[i][j] = 0.0;
    //      }
    // }

    // Get array information from user
    for (int i = 0; i < COLUMNS; i++) {
            printf("Row %d\n", (i + 1));
            for (int j = 0; j < ROWS; j++) {
                    printf("Column %d ", (j + 1));
                    cin >> array[i][j];
            }
    }

    // Print array so I can see what's up first
    for (int i = 0; i < COLUMNS; i++) {
            // Row & column separation
            printf("\n");
            for (int j = 0; j < ROWS; j++) {
                    printf("%d ", array[j][i]);
            }
    }

}

int main () {
    setupMatrix();

    return 0;
}
4

2 に答える 2

5

配列の最初の次元はROWSで、2番目の次元はCOLUMNSです。サイクルの順序が間違っています。%lfまた、printfでフォーマット指定子を二重に使用して印刷します。printfを使用して読むときに使用することにした理由がわかりません。一貫性を保つためにcin使用する方が適切です。これが印刷の一般的な方法であるためです。coutC++

于 2013-02-04T12:07:42.540 に答える
1

使用しているもの:

array[i][j]);

「cin」と

array[j][i]);

印刷用:使用cout<<array[j][i]);

于 2013-02-04T12:09:45.823 に答える