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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
好きなおでんの具材ドラフト会議しましょう
肌寒くなってきて、温かい食べ物がおいしい季節になってきましたね。 みなさんはおでんの具材でひとつ選ぶなら何にしますか? 1番好きなおでんの具材を教えてください。
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
許せない心理テスト
私は「あなたの目の前にケーキがあります。ろうそくは何本刺さっていますか」と言われ「12本」と答えたら「ろうそくの数はあなたが好きな人の数です」と言われ浮気者扱いされたことをいまだに根に持っています。
-
あなたの習慣について教えてください!!
あなたが習慣だと思って実践しているものを共有してくださいませんか? 筋肉トレーニングでも朝シャワーでも、あなたが習慣だなと思えば何でも構いません
-
C言語 プログラム
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「指定されたキャストは有効で...
-
複数桁10進数の*桁目だけを抽出...
-
std::set<int> で、ある値が何...
-
ラップ関数とはどんなものですか?
-
C言語 エラーの原因がわからな...
-
if と配列の組み合わせ
-
C++でRPGを作成する際のステー...
-
C言語での引数の省略方法
-
c言語の配列を使ってサイコロを...
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語
-
C#の質問
-
実数の整数部,小数部の取得
-
C言語での奇数の和
-
C言語 等差数列問題
-
(マルチスレッド)_beginthrea...
-
PowerShellがうまくいかない
-
systemの戻り値を取得する方法
-
任意の文字列のアルファベット...
-
(int *)の意味
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語での引数の省略方法
-
「指定されたキャストは有効で...
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語 エラーの原因がわからな...
-
複数桁10進数の*桁目だけを抽出...
-
ラップ関数とはどんなものですか?
-
(int *)の意味
-
c言語の配列を使ってサイコロを...
-
【C++】関数ポインタの使い方
-
(マルチスレッド)_beginthrea...
-
「{ } で囲むだけ」は正しい?
-
if と配列の組み合わせ
-
C言語でlookupのような関数って?
-
数字列を3桁ごとにカンマで区切...
-
課題でつまってます・・・
-
read関数をノンブロッキングで...
-
実数の整数部,小数部の取得
-
system関数がうまくいかない
-
商と剰余を同時に求める(C言語)
-
std::set<int> で、ある値が何...
おすすめ情報