-3

私は の初心者でC++、 order の行列を入力して表示するプログラムを書きたいと思っていますi * j。以下のプログラムを書いたのですが、うまくいきません。

親切に私を案内してください。

アクセス方法が間違っているとか、そういうこともあると思います。

プログラムは次のとおりです。

#include <iostream>

using namespace std;

int main() {
  int i = 0,j = 0;

  cout << "Enter no of rows of the matrix";
  cin >> i;
  cout << "Enter no of columns of the matrix";
  cin >> j;

  float l[i][j];

  int p = 0, q = 0;

  while (p < i) {
    while (q < j) {
      cout << "Enter the" << p + 1 << "*" << q + 1 << "entry";
      cin >> l[p][q];

      q = q + 1;
    }
    p = p + 1;
    q = 0;
  }
  cout << l;
}
4

2 に答える 2

2

可変長の配列を定義することはできません。動的配列または std::vector を定義する必要があります

#include<vector>
std::vector<std::vector<int> > l(i, std::vector<int>(j, 0));

そしてcout << l、 a の値のみを出力しますint**。個々の整数を出力するには、それぞれに対してループする必要があります。

for(int x = 0; x < i; ++i){
   for(int y = 0; y < j; ++y){
     cout << l[x][y] << " "
   }
   cout << "\n";
}
于 2013-10-12T17:09:31.433 に答える