通知
すべてクリア
Topic starter
2003年3月20日 7:35 AM
こんにちは。 ちょっと質問させてください。
#include <iostream>
#include <string>
using namespace std;
int main(){
char matrix[6][5];
string str = abcdefghijklmnopqrstuvwxyz ;
int count = 0;
for(int i=0; i < 5; i++){
for(int j=0; j < 6; j++){
matrix[i][j] = str[count];
cout << matrix[i][j];
count++;
}
}
cout << endl;
for(i=0; i < 5; i++){
for(int j=0; j < 6; j++){
cout << matrix[i][j];
}
}
return 0;
}
上のプログラムで、同じ配列をプリントアウトしただけに見えるんですが、
どうしてアウトプットが異なるんですか?
(下のアウトプットはfがなくてgが二つある)
2003年3月20日 7:48 AM
最初のループ内でi=1、j=0のときにmatrix[0][5]を上書きしているからです。
2003年3月20日 8:01 AM
pieさんのおっしゃる通りで配列添え字を間違えています。
// char matrix[6][5];
char matrix[5][6];
の間違いでは
Topic starter
2003年3月20日 3:23 PM
アイススケーターさん、pieさん、ご返答、ありがとうございます。
おっしゃる通りでした。 おさわがせして、すみませんでした。