char 型 2 次元配列

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
momoyo

char 型 2 次元配列

#1

投稿記事 by momoyo » 12年前

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

アバター
あたっしゅ
記事: 667
登録日時: 15年前
住所: 東京23区
連絡を取る:

Re: char 型 2 次元配列

#2

投稿記事 by あたっしゅ » 12年前

 まず、半角空白が、うまく表示されてないようです。
半角空白のかわりに、’_’(アンダースコア)を使うといいかもしれません。

 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, 電子ブロック 持ち。

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: char 型 2 次元配列

#3

投稿記事 by みけCAT » 12年前

あたっしゅ さんが書きました: まず、半角空白が、うまく表示されてないようです。
半角空白のかわりに、’_’(アンダースコア)を使うといいかもしれません。
そんな仕様変更をしなくても、普通にcodeタグを使ってくれればいいではないですか。
IEなんて使うのはやめましょう。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

閉鎖

“C言語何でも質問掲示板” へ戻る