C++ で、文字列配列を作成しようとしています。また、文字にアクセスして、次のように変更したいと思います。
#include<iostream>
using namespace std;
int main(){
int n;
cin >> n;
char lines[4][n+1];
int color = 0;
for(int a = 0; a < n; a++){
for(int i = 0; i < 4; i++){
lines[i][a] = (char) (color % 25 + 97);
if(i == 1 || i == 3){
color++;
}
}
}
cout << lines[0] << endl << lines[1] << endl << lines[2] << endl << lines[3];
return 0;
}
「lines[i]」のすべてを印刷したい場合、不明な文字が表示されます。
期待される:
エーセグ
エーセグ
bdfh
bdfh
出力:( http://i.stack.imgur.com/SR4Y4.png )
aceg'aceg■bdfh
エーセグ■bdfh
bdfh
bdfh
その理由を知っていますか?(私はコード全体を何度もチェックしましたが、私が考えたchar配列の配列について私が知らない何かを引き起こします)
これを行う他の方法はありますか?(可能であれば、Cのようなライブラリなしで)
編集
すべてのコードをこのメッセージに追加しました。