char 型 2 次元配列 a に空白と#で表現したイメージ情報を表示するプログラムを作りました
これを左右反転させたいのですが、r2=,とc2はどのような数値を入れれば良いのでしょうか。
code
#include<stdio.h>;
void main()
{
char a[10][11] = { " ### " ,
" # # " ,
" ### # " ,
" # # " ,
" ##### " ,
" # # " ,
" # # " ,
" # " ,
" # # " ,
" # # " };
char b[10][11];
int r1, c1, r2, c2; /* a、bに対する行(row)と列(column)の添え字*/
for (r1 = 0; r1 < 10; r1++){
for (c1 = 0; c1 < 10; c1++) {
r2 =???; /*コピー先の行の添え字*/
c2 =???; /*コピー先の列の添え字*/
b[r2][c2] = a[r1][c1]; /*1コマ分のコピー*/}
}
for (r2 = 0; r2 < 10; r2++) {
for (c2 = 0; c2 < 10; c2++) {
printf("%c", b[r2][c2]);
}
printf("¥n");
}
/code
char 型 2 次元配列
Re: char 型 2 次元配列
まず、半角空白が、うまく表示されてないようです。
半角空白のかわりに、’_’(アンダースコア)を使うといいかもしれません。
C++ だとして、
char a[10][11]
char b[10][11]
for (r1 = 0; r1 < 10; r1++){
等は、
const int DX=10;
const int DY=11;
char a[DX][DY];
char b[DX][DY];
for (r1 = 0; r1 < DX; r1++){
等とすると、マップの大きさを変えるときに
変更が一箇所ですみます。
で、本題は
b[DX-r1-1][c1] = a[r1][c1];
という具合で、どうでしょうか ?
半角空白のかわりに、’_’(アンダースコア)を使うといいかもしれません。
C++ だとして、
char a[10][11]
char b[10][11]
for (r1 = 0; r1 < 10; r1++){
等は、
const int DX=10;
const int DY=11;
char a[DX][DY];
char b[DX][DY];
for (r1 = 0; r1 < DX; r1++){
等とすると、マップの大きさを変えるときに
変更が一箇所ですみます。
で、本題は
b[DX-r1-1][c1] = a[r1][c1];
という具合で、どうでしょうか ?
VTuber:
[香車]東上☆Aho(暎帆)☆海美
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。
中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。
[香車]東上☆Aho(暎帆)☆海美
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。
中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。
Re: char 型 2 次元配列
そんな仕様変更をしなくても、普通にcodeタグを使ってくれればいいではないですか。あたっしゅ さんが書きました: まず、半角空白が、うまく表示されてないようです。
半角空白のかわりに、’_’(アンダースコア)を使うといいかもしれません。
IEなんて使うのはやめましょう。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)