No.4ベストアンサー
- 回答日時:
No.1 No.3のarukamunです。
皆さんが書かれているのは関数です。
main等から正しく呼び出せば良いのです。
sample.cとした場合
#include <stdio.h>
#include <stdlib.h>
void ichimatsu(int v,int h)
{
int i,j ;
for (i=0 ;i<v ;i++){
for (j=0 ;j<h ;j++){
if ( (i+j)%2 ){
printf("*");
} else {
printf(" ");
}
}
printf("\n");
}
}
main(int argc,char *argv[])
{
if ( argc < 3 ){
printf("usage : sample 縦 横");
} else {
ichimatsu(atoi(argv[1]),atoi(argv[2]));
}
}
No.5
- 回答日時:
>私の使っているのでコンパイルしたら
>エラーが出てできませんでした
環境とエラーの内容を提示すれば助言できます。
念のため確認します。arukamunさんのコード(私のコードも)はレイアウトの都合上行頭のスペースが全角になっていますが、それをきちんと半角スペースかTABに直してますか?
>#include <stdio.h>
>int main()
>から始まる形で作りたい
#include <stdio.h>
int main(int argc, char* argv[])
{
void ichimatsu(int, int); // プロトタイプ宣言
ichimatsu(10, 20);
return 0;
}
void ichimatsu(int v,int h)
{
~(略)~
}
厳しいことを言うようですが、市松模様以前の問題かと思います。
C/C++のテキストはお持ちでしょうか。
後々のためにも、応用に入る前にテキスト片手に基礎知識を固めておきましょう。
そうすれば道は必ず開けますよ。
No.3
- 回答日時:
No.1のarukamunです。
解説します。
void ichimatsu(int v,int h)
// 市松模様を書き込む関数
// v 縦の個数
// h 横の個数
{
int i,j ;
for (i=0 ;i<v ;i++){ // 縦方向のループ
for (j=0 ;j<h ;j++){ // 横方向のループ
// ここがこの問題の鍵になります。市松模様になるためには、
if ( (i+j)%2 ){ // (縦+横)を2で割った余りが
printf("*"); // 1の場合は"*"を表示
} else {
printf(" "); // 0の場合は" "を表示
}
}
printf("\n"); // 一行分表示したので、改行
}
}
判らないところがありましたら、補足してください。
この回答への補足
私の使っているのでコンパイルしたら
エラーが出てできませんでした
#include <stdio.h>
int main()
殻始まる形で作りたいのですが
どうすればいいでしょうか?
No.2
- 回答日時:
別解。
void ichimatsu(int v,int h)
{
const char ptn[2][2] = {{'*', ' '}, {' ', '*'}};
int i, j;
for (i = 0; i < v; i++) {
for (j = 0; j < h; j++) {
putchar(ptn[i % 2][j % 2]);
}
printf("\n");
}
}
やってることはarukamunさんと同じです。
一つの目的を実現するための手段は一つではないということの参考程度にでもなれば幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 数学の問題を教えて下さい。 画像が問題です。 〈解説〉 平行四辺形は常に2本の縦線と2本の横線によっ 3 2023/05/01 19:21
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- 一戸建て こうゆう縦長の横すべりだし窓、 家に付いてる人いませんか? (横すべりだし窓ってどちらかというと横長 2 2022/07/02 16:32
- その他(悩み相談・人生相談) この死者数の激増は、なに!!! 6 2022/11/09 09:19
- 情報・ワイドショー NHKチコちゃん放送の「バーコードと比較して、QRコードはなぜ情報量が多いのか?」の解説お願いします 5 2022/06/18 13:48
- その他(ニュース・時事問題) 不自然な死者数の推移 1 2022/11/09 22:17
- その他(ニュース・時事問題) 不自然な死者数の増加 3 2022/11/09 10:45
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
- 数学 標準正規分布表の見方を教えてください。縦と横でそれぞれ何を意味してどう見るのかわかりません。 7 2022/07/25 02:46
- 高校 高校からの作文 今日高校から入学にあたっての 作文の宿題が出ました。 ですが書き方が分かりません。 2 2022/03/29 17:59
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語での引数の省略方法
-
「指定されたキャストは有効で...
-
c言語
-
複数桁10進数の*桁目だけを抽出...
-
C言語での奇数の和
-
#define _CRT_SECURE_NO_WARNIN...
-
ラップ関数とはどんなものですか?
-
c言語のリダイレクトによる円...
-
C言語 エラーの原因がわからな...
-
(int *)の意味
-
【C++】関数ポインタの使い方
-
比較回数と交換回数表示について
-
C言語
-
課題でつまってます・・・
-
数字列を3桁ごとにカンマで区切...
-
if と配列の組み合わせ
-
acceptをalarmでタイムアウトさ...
-
市松模様
-
「{ } で囲むだけ」は正しい?
-
実数の整数部,小数部の取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
#define _CRT_SECURE_NO_WARNIN...
-
複数桁10進数の*桁目だけを抽出...
-
【C++】関数ポインタの使い方
-
C言語 エラーの原因がわからな...
-
c++でテンプレートのコードでわ...
-
(int *)の意味
-
ラップ関数とはどんなものですか?
-
数字列を3桁ごとにカンマで区切...
-
c言語のリダイレクトによる円...
-
比較回数と交換回数表示について
-
実数の整数部,小数部の取得
-
if と配列の組み合わせ
-
構造体の勉強中です 合計点の高...
-
PowerShellがうまくいかない
-
課題でつまってます・・・
-
c言語の配列を使ってサイコロを...
-
C言語のサイコロシミュレート
-
エラー 添字が付けられた値が、...
おすすめ情報