掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.25684

ループ処理
投稿者---山田(2006/01/24 12:30:49)


char input1[100]="1.bmp";
char input2[100]="2.bmp";
...
char input5[100]="5.bmp";

unsigned char image_in_1[Y_SIZE][X_SIZE][3];
unsigned char image_in_2[Y_SIZE][X_SIZE][3];
...
unsigned char image_in_5[Y_SIZE][X_SIZE][3];

  readBmp(input1,image_in_1);
  readBmp(input2,image_in_2);
  readBmp(input3,image_in_3);
  readBmp(input4,image_in_4);
  readBmp(input5,image_in_5);

上記の関数呼び出しの処理部分をfor文などでループ処理したいんですけど,配列名は文字列として認識されるのでうまくいきません.うまい方法ありませんか?




この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:ループ処理 25685 気分屋 2006/01/24 12:57:50
<子記事> Re:ループ処理 25686 επιστημη 2006/01/24 12:58:39


No.25685

Re:ループ処理
投稿者---気分屋(2006/01/24 12:57:50)


    char input[100];
    int i;
    unsigned char image_in[5][Y_SIZE][X_SIZE][3];

    for( i = 0 ; i < 5 ; i++ ) {
        sprintf( input,  "%d.bmp", (i+1) );
        readBmp( input, image_in[i] );
    }




この投稿にコメントする

削除パスワード

No.25687

Re:ループ処理
投稿者---山田(2006/01/24 14:06:49)


sprintfでうまくいきました.ありがとうございました


この投稿にコメントする

削除パスワード

No.25686

Re:ループ処理
投稿者---επιστημη(2006/01/24 12:58:39)


>上記の関数呼び出しの処理部分をfor文などでループ処理したいんですけど,配列名は文字列として認識されるのでうまくいきません.うまい方法ありませんか?

#define Y_SIZE 100
#define X_SIZE 100

void readBmp(unsigned char image[Y_SIZE][X_SIZE][3], const char* file) {}

typedef unsigned char image_type[Y_SIZE][X_SIZE][3];

int main() {

  int i;

  unsigned char image_in_1[Y_SIZE][X_SIZE][3];
  unsigned char image_in_2[Y_SIZE][X_SIZE][3];
  unsigned char image_in_3[Y_SIZE][X_SIZE][3];
  unsigned char image_in_4[Y_SIZE][X_SIZE][3];
  unsigned char image_in_5[Y_SIZE][X_SIZE][3];

  image_type* images[] = {
    &image_in_1,
    &image_in_2,
    &image_in_3,
    &image_in_4,
    &image_in_5 
  };

  const char* files[] = {
    "1.bmp",
    "2.bmp",
    "3.bmp",
    "4.bmp",
    "5.bmp"
  };

  for ( i = 0; i < 5; ++i ) {
    readBmp(*images[i], files[i]);
  }

  return 0;

}





この投稿にコメントする

削除パスワード

No.25688

Re:ループ処理
投稿者---山田(2006/01/24 14:08:57)


こういう方法もあるんですね.参考になりました.ありがとうございました


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧