同じ配列をプリントアウトしただけなのに・・異なるアウトプット なぜ? – プログラミング – Home

同じ配列をプリントアウトしただけなのに...
 
通知
すべてクリア

[解決済] 同じ配列をプリントアウトしただけなのに・・異なるアウトプット なぜ?


たっく
 たっく
(@たっく)
ゲスト
結合: 22年前
投稿: 16
Topic starter  

こんにちは。 ちょっと質問させてください。

#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が二つある)


引用未解決
トピックタグ
pie
 pie
(@pie)
ゲスト
結合: 23年前
投稿: 28
 

最初のループ内でi=1、j=0のときにmatrix[0][5]を上書きしているからです。


返信引用
アイススケーター
 アイススケーター
(@アイススケーター)
ゲスト
結合: 23年前
投稿: 280
 

pieさんのおっしゃる通りで配列添え字を間違えています。

// char matrix[6][5];
char matrix[5][6];

の間違いでは


返信引用
たっく
 たっく
(@たっく)
ゲスト
結合: 22年前
投稿: 16
Topic starter  

アイススケーターさん、pieさん、ご返答、ありがとうございます。
おっしゃる通りでした。 おさわがせして、すみませんでした。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました