- 締切済み
コマンドライン引数
コマンドライン引数で以下のようなプログラムを実行したいのですが どうしたらいいのか分かりません!! みなさんの意見を聞かせてください(lll´Д`lll) □☆□□□☆□□□☆□□□☆□ ☆★☆☆☆★☆☆☆★☆☆☆★☆ □☆□□□☆□□□☆□□□☆□ □☆□□□☆□□□☆□□□☆□ ☆★☆☆☆★☆☆☆★☆☆☆★☆ □☆□□□☆□□□☆□□□☆□ □☆□□□☆□□□☆□□□☆□ ☆★☆☆☆★☆☆☆★☆☆☆★☆ □☆□□□☆□□□☆□□□☆□ □☆□□□☆□□□☆□□□☆□ プログラムは途中まで作ったのですが、肝心なとこは 全く分りませんっっ #include <stdio.h> int main(int argc, char *argv[]) { int yoko, tate, i, j; if( argc < 3 ) return(1); sscanf( argv[1], "%d", &yoko ); sscanf( argv[2], "%d", &tate ); for( j = 0; j < tate; j++ ) { printf("\n"); } return(0); } /* end of pat2.c */
- みんなの回答 (12)
- 専門家の回答
みんなの回答
- Oh-Orange
- ベストアンサー率63% (854/1345)
★アドバイス ・それではもう少し。 まずは縦の行単位に『スペース行』と『☆の行』を if() 文で処理を分けます。 ・次は『スペース行』について考えます。 この行は『2列目』に『☆の列』があるがこの場所に着目します。 すると『4列』間隔で『☆の列』があることから4で割ってそのあまりを使う。 4割ると 0~3 となる。 『1列目』が 0 『2列目』が 1 ←☆の列 『3列目』が 2 『4列目』が 3 『5列目』が 0 『6列目』が 1 ←☆の列 『7列目』が 2 『8列目』が 3 となることが分かる。 ・次には『☆の行』について考えます。 この行は『2列目』に『★の列』があるがこの場所に着目します。 すると『4列』間隔で『★の列』があることから4で割ってそのあまりを使う。 4割ると 0~3 となる。 『1列目』が 0 『2列目』が 1 ←★の列 『3列目』が 2 『4列目』が 3 『5列目』が 0 『6列目』が 1 ←★の列 『7列目』が 2 『8列目』が 3 となることが分かる。 ・行、列と処理を分ければ以外に簡単に処理できそうだ。 回答者 No.1 さんの回答と一緒に参考にして下さい。 ・以上。
お礼
if文を2つ作ればいいってことですよね??