2017-10-30 5 views
-3

私の入力は行列とその次元です!私はこのコードを持っていますが、私は非常に大きな問題のために入力として自分のコードにtxtファイルを使いたいです!私はそれをどうすればいいのか誰にでも教えてくれますか?私は入力としてtxtファイルをC++で使用する方法

あなたが行うことができます
 int main() { 
int i = 0, H = 0; 

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

int A[i][H] = { }; 

int p = 0, q = 0; 

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

     q = q + 1; 
    } 
    p = p + 1; 
    q = 0; 
} 
return 0; 
    } 
+0

_a大きな問題は何ですか?基本的に 'std :: cin'の入力を' std :: ifstream'の入力で置き換えます。 – user0042

+0

私は、手で行列の要素を入力することができないことを意味しました!私はファイルを使いたい!詳細を教えてください。 – shere

+0

http://en.cppreference.com/w/cpp/io/basic_ifstream – user0042

答えて

0

ifstream input("text"); 
if (!input) { 
     cout << "Failed to open file"; 
     return -1; 
} 

input >> i; 
cout << "No. of rows of the matrix k5: " << i << endl; 

input >> H; 
cout << "No. of columns of the matrix: " << H << endl; 


int A[i][H]; 

for (int y = 0; y < i; y++) { 
     for (int x = 0; x < H; x++) { 
       input >> A[x][y]; 
     } 
} 
input.close(); 

このコードは、入力中にあなたの行列とそれに続く行で、入力ファイルの最初の2行は、それぞれ、行と列の数の数を含むことを前提としていfileはあなたの行列の値です。例えば、 5x5行列入力ファイルは次のようになります。

5 
5 
1 7 9 6 1 
6 5 6 8 0 
7 9 7 5 3 
3 2 2 2 7 
5 4 6 6 6 
+0

ありがとうございましたが、マトリックスインデックスについては確かですか?それは行または列で読み取られますか? – shere

+0

@shere: "行または列で読み込まれますか?" - >これは、入力ファイルから値を読み込んだ直後に行列を出力することで簡単に見つけることができます。私は 'ifstream'について読むことをお勧めします。 –

+0

ああありがとう!私は別の質問がある。行列を配列に入れる方法を教えてください。私は各ステップでループを持っているので、配列を取得するので、これらの配列を2次元ベクトルに入れたい! – shere

関連する問題