右90度回転のみを行うプログラム

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
XXXX816
記事: 1
登録日時: 12年前
住所: japan

右90度回転のみを行うプログラム

#1

投稿記事 by XXXX816 » 12年前

char **allocarray(int, int);:引数はx、yの大きさ。戻り値は配列。
void freearray(char **, int);:メモリの解放を行う。引数は配列とyの大きさ という関数を使用し
  プログラムを作成するという課題です。

  右90度回転を行う関数を void rotate90r_data(char**, int, int); として

2次元配列と、x、yの大きさを引数にもらう
上記の方法で別の2次元配列を作成し、これに入力データを右90度回転させた結果を代入する。
最後にその配列のデータを元の配列に上書きする
配列で縦横を入れ替えるので、画像データは縦横同じ大きさのデータに限定する。縦横が同じ大きさでない場合は、「x,yの大きさが違うので90度回転は出来無い」と標準エラー出力に出力し、何もしない というふうにするという課題なのですが char **allocarray(int, int);: void freearray(char **, int);:の使い方がよくわかりません。
どのようにすればいいのでしょうか

アバター
usao
記事: 1892
登録日時: 13年前
連絡を取る:

Re: 右90度回転のみを行うプログラム

#2

投稿記事 by usao » 12年前

それら2つの関数の
>使い方がよくわかりません
というのは,以下のどちらの意味でしょうか.

(1)関数そのものの使い方(使うコードの書き方,そもそもの意味)がわからない
 例えば,「allocarray()を使ってメモリを作成し,freearray()で解放する」というだけの
 コードを書く時点でわからない という感じ

(2) (1)の内容はわかるのだが,課題の中で{何のために/どこで}それらの関数を
 使う必要があるのか がわからない



(1)の場合,課題なのであればそれなりの情報は前もって与えられていると思うので
確認等されるとよいでしょう.
(2)の場合,課題の内容(rotate90r_data()内で行う処理の手順)を箇条書きにでもして,
それら個々の処理において必要な物(その処理は何と何があればできるのか)を考えてみるとよいでしょう.

その上でわからない点が残るようであれば,
ご自身でわかるところまでを書いたコード を示されると
不明点の範囲が具体的に読み取れて良いのではないかと思います.

閉鎖

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