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);:の使い方がよくわかりません。
どのようにすればいいのでしょうか
右90度回転のみを行うプログラム
Re: 右90度回転のみを行うプログラム
それら2つの関数の
>使い方がよくわかりません
というのは,以下のどちらの意味でしょうか.
(1)関数そのものの使い方(使うコードの書き方,そもそもの意味)がわからない
例えば,「allocarray()を使ってメモリを作成し,freearray()で解放する」というだけの
コードを書く時点でわからない という感じ
(2) (1)の内容はわかるのだが,課題の中で{何のために/どこで}それらの関数を
使う必要があるのか がわからない
(1)の場合,課題なのであればそれなりの情報は前もって与えられていると思うので
確認等されるとよいでしょう.
(2)の場合,課題の内容(rotate90r_data()内で行う処理の手順)を箇条書きにでもして,
それら個々の処理において必要な物(その処理は何と何があればできるのか)を考えてみるとよいでしょう.
その上でわからない点が残るようであれば,
ご自身でわかるところまでを書いたコード を示されると
不明点の範囲が具体的に読み取れて良いのではないかと思います.
>使い方がよくわかりません
というのは,以下のどちらの意味でしょうか.
(1)関数そのものの使い方(使うコードの書き方,そもそもの意味)がわからない
例えば,「allocarray()を使ってメモリを作成し,freearray()で解放する」というだけの
コードを書く時点でわからない という感じ
(2) (1)の内容はわかるのだが,課題の中で{何のために/どこで}それらの関数を
使う必要があるのか がわからない
(1)の場合,課題なのであればそれなりの情報は前もって与えられていると思うので
確認等されるとよいでしょう.
(2)の場合,課題の内容(rotate90r_data()内で行う処理の手順)を箇条書きにでもして,
それら個々の処理において必要な物(その処理は何と何があればできるのか)を考えてみるとよいでしょう.
その上でわからない点が残るようであれば,
ご自身でわかるところまでを書いたコード を示されると
不明点の範囲が具体的に読み取れて良いのではないかと思います.