C言語 可変長引数 個数
あたりのキーワードでググってみると、
解決への道が開けるかもしれませんし、開けないかもしれません。
検索結果 1997 件
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 構造体には上限がある?
- 返信数: 6
- 閲覧数: 10983
Re: 構造体には上限がある?
提示された構造体を使って、
・どこに(関数のローカル領域?staticな領域?globalな領域?)
・どれくらいの大きさの
メモリーを取ろうとしてるかな?
そらコンピューターの記憶域を超えるような領域を確保しようと
してるんなら、何が起きるかはわからんわな。別に構造体でなくても
intでもdoubleでも同じやで。
・どこに(関数のローカル領域?staticな領域?globalな領域?)
・どれくらいの大きさの
メモリーを取ろうとしてるかな?
そらコンピューターの記憶域を超えるような領域を確保しようと
してるんなら、何が起きるかはわからんわな。別に構造体でなくても
intでもdoubleでも同じやで。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: c言語のint char
- 返信数: 2
- 閲覧数: 9480
Re: c言語のint char
そもそも、getchar関数の戻り値の型はintです。
また、本当にchar moji[]と書いたのであれば、
要素数がわからない配列を定義しようとしているので
コンパイルが通らないはずです。
また、本当にchar moji[]と書いたのであれば、
要素数がわからない配列を定義しようとしているので
コンパイルが通らないはずです。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語 自然数x,yの合計値を求めるプログラム
- 返信数: 6
- 閲覧数: 18124
Re: C言語 自然数x,yの合計値を求めるプログラム
a, bとかいう中間的な変数はいらんかったね。 #include <stdio.h> void inputData(int *a, int *b) { printf("1個目の自然数を入力:"), scanf("%d", a); printf("2個目の自然数を入力:"), scanf("%d", b); } int mysum(int *x, int *y) { int t, i, sum = 0; if (*x >= *y) { t = *x, *x = *y, *y = t; } for (i = *x; i <= *y; i++) { sum += i; } return sum; }...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語 自然数x,yの合計値を求めるプログラム
- 返信数: 6
- 閲覧数: 18124
Re: C言語 自然数x,yの合計値を求めるプログラム
お好きなように改変してかまいません。 なお、main文ではなくてmain関数ね。 #include <stdio.h> void inputData(int *a, int *b) { printf("1個目の自然数を入力:"), scanf("%d", a); printf("2個目の自然数を入力:"), scanf("%d", b); } int mysum(int *x, int *y) { int a = *x, b = *y, t, i, sum = 0; if (*x >= *y) { t = a, a = b, b = t; } for (i = a; i <= b; i++) ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 数値を大きくすると動かなくなる
- 返信数: 8
- 閲覧数: 20481
Re: 数値を大きくすると動かなくなる
外部シンボルが未解決っちゅうんは
配列のサイズの問題やなくて
関数名のスペリングが間違うてるとかいう感じで
あるはずのない関数を呼んでしもてる、とかとちゃうかな?
確認してみては?
あるいは、そのときのエラーメッセージを提示するとか?
配列のサイズの問題やなくて
関数名のスペリングが間違うてるとかいう感じで
あるはずのない関数を呼んでしもてる、とかとちゃうかな?
確認してみては?
あるいは、そのときのエラーメッセージを提示するとか?
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 数値を大きくすると動かなくなる
- 返信数: 8
- 閲覧数: 20481
Re: 数値を大きくすると動かなくなる
ソースコードが提示されてへんから何とも言えんけど、
配列をstaticにしてみるとか?
配列をstaticにしてみるとか?
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語のエンキューの問題の答えと合わない
- 返信数: 4
- 閲覧数: 13112
Re: C言語のエンキューの問題の答えと合わない
https://okwave.jp/qa/q10086024.html
に対する回答にも、適切にレスポンスを返してくださいね。
に対する回答にも、適切にレスポンスを返してくださいね。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 大学の乱数についての課題
- 返信数: 8
- 閲覧数: 17321
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: printfの有無によるsegmentation faultの発生について
- 返信数: 7
- 閲覧数: 16773
Re: printfの有無によるsegmentation faultの発生について
それで、問題は解決したんですか?
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: printfの有無によるsegmentation faultの発生について
- 返信数: 7
- 閲覧数: 16773
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語 ソートについて
- 返信数: 5
- 閲覧数: 13372
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 4桁の連番に1桁のチェックディジットを付加して5桁のコードを生成したい
- 返信数: 12
- 閲覧数: 16287
Re: 4桁の連番に1桁のチェックディジットを付加して5桁のコードを生成したい
ところで
って書いてあるので、codeMakeっていう関数を書く必要があると思うのですが、ここは大丈夫ですか?手続codeMakeは、商品の開発順に割り振られた連番を基に5桁の商品コードを生成する。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 4桁の連番に1桁のチェックディジットを付加して5桁のコードを生成したい
- 返信数: 12
- 閲覧数: 16287
Re: 4桁の連番に1桁のチェックディジットを付加して5桁のコードを生成したい
48
とかっていう謎の即値をかくより
'0'
とかってかく方が
可読性が高くなるような気がしないでもない。
とかっていう謎の即値をかくより
'0'
とかってかく方が
可読性が高くなるような気がしないでもない。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 文字列を交互に
- 返信数: 11
- 閲覧数: 18508
Re: 文字列を交互に
何を入力したときにそうなってほしいかを具体的に述べてください。実行結果例 st ABC st1 ZXW st2 AZBXCW
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 何故、引数にconstがついているのか
- 返信数: 2
- 閲覧数: 13459
Re: 何故、引数にconstがついているのか
s2の値を変更したら(つまりs2に何かを代入したら)ダメだよ、警告を出すよ
てなくらいの意味です。
てなくらいの意味です。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 最大と平均を同時に出します。
- 返信数: 5
- 閲覧数: 16128
Re: 最大と平均を同時に出します。
じゃあ次。
仮に、
sub1()で10と20を、
sun2()で30と40を入力したとき、
どんな結果がほしいんですか?
仮に、
sub1()で10と20を、
sun2()で30と40を入力したとき、
どんな結果がほしいんですか?
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 最大と平均を同時に出します。
- 返信数: 5
- 閲覧数: 16128
Re: 最大と平均を同時に出します。
いろいろ突っ込みどころのあるコードですが、
まず、
関数sub1()における配列a
と
関数sub2()における配列a
とは、全く別物であることは理解できていますか?
同じaっていう名前ですけど、両者の間には何の関係もありません。
まず、
関数sub1()における配列a
と
関数sub2()における配列a
とは、全く別物であることは理解できていますか?
同じaっていう名前ですけど、両者の間には何の関係もありません。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: scanfでのエラー
- 返信数: 3
- 閲覧数: 12959
Re: scanfでのエラー
念のためですけどね。
iをループ制御変数に使うこと自体は正しいです。
その範囲が怪しいってことです。
0以上2以下
または
0以上3未満
になるようなfor文を書いてくださいってことです。
iをループ制御変数に使うこと自体は正しいです。
その範囲が怪しいってことです。
0以上2以下
または
0以上3未満
になるようなfor文を書いてくださいってことです。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 無限ループ
- 返信数: 4
- 閲覧数: 10567
Re: 無限ループ
ホントですか?これで一応望んだ結果がでたので、課題は成功
nからmまでの総和を求めたいということは
n ≦ m
の場合を想定しているんでしょうけど、その条件に反する
n > m
という入力があったとき、if文で再入力を促すメッセージを出力しているにもかかわらず
再入力させるコードがないように見えるのはOKですか?
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語の条件分岐
- 返信数: 1
- 閲覧数: 7193
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: ソースファイルの分割について
- 返信数: 4
- 閲覧数: 11443
Re: ソースファイルの分割について
test2.c と function.c, function.h, test.c の関連性はどこにありますか?ぱっと見、全然違う内容のソースコードであるように見えたんですけど、 見方が悪いせいでしょうか? function.hでプロトタイプ宣言している関数群の実体は function.cにあるように見えます。ならば、function.hをインクルードすべきは test.cではなく、function.cの方ではないでしょうか。 int_aes関数の仕様は明確になっていますか?いませんか? 何を引数として与えてどう計算して何を返すのか、そのあたりは大丈夫なんでしょうか? function.hの2行...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: ISBNコードのルーンチェックサムを作成中です。
- 返信数: 4
- 閲覧数: 11941
Re: ISBNコードのルーンチェックサムを作成中です。
13桁のISBNコードをチェックしたいのであれば、最後の'\0'を含めて
char なんちゃら[14];
っていう定義が必要なんじゃないかと思うのは当方だけ?
char なんちゃら[14];
っていう定義が必要なんじゃないかと思うのは当方だけ?
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語 配列 数の大きさ
- 返信数: 4
- 閲覧数: 14280
Re: C言語 配列 数の大きさ
おお、これは失礼なことをしてしまいました。main()を含めたコンパイル可能なコードが提示されていますが、これだけでは不満なのでしょうか?
「書いたコードを『全部』」とは、この問題に限らず、生まれてから今までに書いたコードを全部でしょうか?
申し訳ありません。>質問者さん
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語 配列 数の大きさ
- 返信数: 4
- 閲覧数: 14280
Re: C言語 配列 数の大きさ
rank()「だけ」示されましても、
rank()を「どうやって」使っているかがこちらには全く伝わりません。
main()などを含め、書いたコードを「全部」見せてください。
rank()を「どうやって」使っているかがこちらには全く伝わりません。
main()などを含め、書いたコードを「全部」見せてください。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 降順にソートする
- 返信数: 8
- 閲覧数: 24846
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 降順にソートする
- 返信数: 8
- 閲覧数: 24846
Re: 降順にソートする
降順ソートうんぬんの前に、そもそも
ファイルから読んでいる箇所(fscanfとか)がなかった…。
ファイルから読んでいる箇所(fscanfとか)がなかった…。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 降順にソートする
- 返信数: 8
- 閲覧数: 24846
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 降順にソートする
- 返信数: 8
- 閲覧数: 24846
Re: 降順にソートする
その関数を呼び出しているmain関数など、コード全体は
提示していただけないのですか?
また、今のtotalinformation関数は
戻り値の型がvoidなので
return 0;
しようとするとコンパイルエラーになるはずです。大丈夫ですか?
提示していただけないのですか?
また、今のtotalinformation関数は
戻り値の型がvoidなので
return 0;
しようとするとコンパイルエラーになるはずです。大丈夫ですか?
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 演算子のエラーについて
- 返信数: 8
- 閲覧数: 13192
Re: 演算子のエラーについて
エラーメッセージの読み方を練習しましょう。
特に今回は英語じゃないので、それほどむずかしくはないと思います。
ここで、「ああ、配列全体には^は使えないんだ。配列の各要素に対して^を使えばいいんだ」と
気づいていただきたいです。
今後、何かエラーメッセージが出るたびに、毎回こことか他の掲示板とかへ
質問したくはないですよね?
特に今回は英語じゃないので、それほどむずかしくはないと思います。
ポインターに対して「^」っていう演算子は使えないといっています。:200:14: エラー: 二項演算子 ^ への無効な被演算子です (‘int *’ と ‘int *’)
200 | data ^= datai;
ここで、「ああ、配列全体には^は使えないんだ。配列の各要素に対して^を使えばいいんだ」と
気づいていただきたいです。
今後、何かエラーメッセージが出るたびに、毎回こことか他の掲示板とかへ
質問したくはないですよね?
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 演算子のエラーについて
- 返信数: 8
- 閲覧数: 13192
Re: 演算子のエラーについて
これ、何がしたいのか日本語で説明できますか?data ^= datai;
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 文字化け
- 返信数: 3
- 閲覧数: 8136
Re: 文字化け
うちの環境(Netbeans8.2 古っ)で #include <stdio.h> int main(void) { printf("文字化けいい加減にしろ\n"); return 0; } を実行したけど、特に文字化けはせんかったで。 まあ著名なところでは「表」ちゅう文字が確かShift-JIS環境では 思いっきり文字化けするっちゅうんは有名な話やと思うし、 そもそも2バイト文字とか3バイト文字とかを「すべて完璧に」出力させよう っちゅう考え方が少し甘いんかもな。どっかのバイトが制御文字と かぶってる可能性があるみたいやし。 ところで、どうでもええ話やけど、提示コードの最後の行のセミコロンは...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 天下茶屋と深井の運賃が正確に出ない。
- 返信数: 6
- 閲覧数: 15715
Re: 天下茶屋と深井の運賃が正確に出ない。
お~JavaScriptやったか。
C言語の掲示板なので頭からCの話と思い込んどったわ。
C言語の掲示板なので頭からCの話と思い込んどったわ。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 天下茶屋と深井の運賃が正確に出ない。
- 返信数: 6
- 閲覧数: 15715
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: コンソールアプリケーションの表示方法の質問
- 返信数: 4
- 閲覧数: 8579
Re: コンソールアプリケーションの表示方法の質問
入力回数の上限は決まっているんですか?
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: char型とint型について
- 返信数: 2
- 閲覧数: 10974
Re: char型とint型について
unsigned intint型は必ず符号付き、char型が符号付きかは環境による、という違いもあります
って型、なかったでしたっけ?当方の勘違いかな?
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 連結リストに住所を格納し、それを検索するプログラムを作ってます
- 返信数: 5
- 閲覧数: 14912
Re: 連結リストに住所を格納し、それを検索するプログラムを作ってます
構造体のメンバーに謎の
char *value;
っていうのがあります。これの役目は?
char *value;
っていうのがあります。これの役目は?
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 連結リストに住所を格納し、それを検索するプログラムを作ってます
- 返信数: 5
- 閲覧数: 14912
Re: 連結リストに住所を格納し、それを検索するプログラムを作ってます
そもそもの仕様として、検索する文字列は
郵便番号の「先頭文字だけ」でいいんですか?
char b;
の定義から、そう読めます。
もしそうだとすると
「理想の実行結果」にあがっている「郵便番号全体」の話と
食い違ってますよ。
郵便番号の「先頭文字だけ」でいいんですか?
char b;
の定義から、そう読めます。
もしそうだとすると
「理想の実行結果」にあがっている「郵便番号全体」の話と
食い違ってますよ。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 連結リストに住所を格納し、それを検索するプログラムを作ってます
- 返信数: 5
- 閲覧数: 14912
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 2 の倍数でも 3 の倍数でもないものの和を求めたい
- 返信数: 4
- 閲覧数: 13937
Re: 2 の倍数でも 3 の倍数でもないものの和を求めたい
何で同じことをmainでもsum_nでもやるかな? #include <stdio.h> int sum_n(int n) { int sum, i; for (sum = 0, i = 1; i <= n; i++) { if ((i % 2 != 0) && (i % 3 != 0)) sum += i; } return sum; } int main(void) { int a, b; do { printf("a="), scanf("%d", &a); printf("b="), scanf("%d", &b); } while (!(a <= b)); printf("answe...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 条件式のelseの書き方
- 返信数: 10
- 閲覧数: 24285
Re: 条件式のelseの書き方
ということはその部分を理解できずにmoji()の上の方を書いたってことですね。int r〜以下の部分は配布された資料に書かれていたコードであり、理解できていません。
そういうことでしたら、このトピックに関する当方からの回答は差し控えることにします。
わからずに書いているコードに論評する資格は当方にはありませんので。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 条件式のelseの書き方
- 返信数: 10
- 閲覧数: 24285
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 条件式のelseの書き方
- 返信数: 10
- 閲覧数: 24285
Re: 条件式のelseの書き方
またもやぱっと見ですけどね
main()が長すぎると思います。プログラム全体をいくつかに機能に適切に分割し、
それらを実行する関数群を構成し、mainはそれらを呼ぶだけで全体の司令塔に徹する、
という設計がいいのかな~と個人的には思います。他の人がどう思うかは知らんけど。
あと、mojiっていう関数の動作を「日本語で」説明できますか?
main()が長すぎると思います。プログラム全体をいくつかに機能に適切に分割し、
それらを実行する関数群を構成し、mainはそれらを呼ぶだけで全体の司令塔に徹する、
という設計がいいのかな~と個人的には思います。他の人がどう思うかは知らんけど。
あと、mojiっていう関数の動作を「日本語で」説明できますか?
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 条件式のelseの書き方
- 返信数: 10
- 閲覧数: 24285
Re: 条件式のelseの書き方
そしたらですね、
質問者さんのところにあるコードを
「そのままコピペして」
すべて見せていただくことは可能ですか?
そうしないと、質問者さんとここにいる人たちが
同じものを見ていることにならず、
的確な回答が来ないおそれがあるからです。
質問者さんのところにあるコードを
「そのままコピペして」
すべて見せていただくことは可能ですか?
そうしないと、質問者さんとここにいる人たちが
同じものを見ていることにならず、
的確な回答が来ないおそれがあるからです。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 条件式のelseの書き方
- 返信数: 10
- 閲覧数: 24285
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 連結リストを用いて文字列を格納する方法
- 返信数: 1
- 閲覧数: 7955
Re: 連結リストを用いて文字列を格納する方法
えっと、連結リストに格納するコードの提示がないように見えるのは
こっちの目の錯覚?
今こっちに見えてるコードって、つまるところ、
ぐるぐるループしながらファイルから読んでるところだけ
しかないと思うんですけど。
こっちの目の錯覚?
今こっちに見えてるコードって、つまるところ、
ぐるぐるループしながらファイルから読んでるところだけ
しかないと思うんですけど。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 実際に二分探索を使うとして
- 返信数: 4
- 閲覧数: 9527
Re: 実際に二分探索を使うとして
実行結果さえ正しければ実装の方法は自由と思いますが、いかがですか?
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 配列を使って様々な値を求める方法(素人質問ですみません)
- 返信数: 6
- 閲覧数: 22357
Re: 配列を使って様々な値を求める方法(素人質問ですみません)
こんな時間に酒かっくらっていいかげんなコードしか
アップできなくてすまそ。
もう思考能力ゼロ。
アップできなくてすまそ。
もう思考能力ゼロ。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 配列を使って様々な値を求める方法(素人質問ですみません)
- 返信数: 6
- 閲覧数: 22357
Re: 配列を使って様々な値を求める方法(素人質問ですみません)
ちゃんと動くよう、適切に手直ししてください。>質問者さん #include <stdio.h> #define N (30) // データの最大個数 void inputData(int *a, int *c, int *t) { int n, x; while (1) { printf("数字を入力(0で終了)"); do { x = scanf("%d", &n); } while (x != 1); if (n == 0 || *c >= N) break; a[(*c)++] = n, *t += n; } } void sortData(int *a, int c) { int i,...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 配列を使って様々な値を求める方法(素人質問ですみません)
- 返信数: 6
- 閲覧数: 22357
Re: 配列を使って様々な値を求める方法(素人質問ですみません)
ちょっとだけ手直ししました。ご自由にどうぞ。 #include <stdio.h> #define N (30) // データの最大個数 void inputData(int *a, int *c, int *t) { int n; while (1) { printf("数字を入力(0で終了)"); scanf("%d", &n); if (n == 0 || *c >= N) break; a[(*c)++] = n, *t += n; } } void sortData(int *a, int c) { int i, j; for (i = 0; i < c - 1; i++) { fo...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 配列を使って様々な値を求める方法(素人質問ですみません)
- 返信数: 6
- 閲覧数: 22357
Re: 配列を使って様々な値を求める方法(素人質問ですみません)
1000個も値を入力させる可能性があるのはあまり現実的とは思えないのと main()に何でもかんでもやらせるのはあまりよろしくない(main()は全体の司令塔、 必要な処理は下請け関数に任せる)のとから、こんなサンプルを用意してみました。 関数分けが適切かどうかはよくわからないので、加工はお任せします。 #include <stdio.h> #define N (30) // データの最大個数 void inputData(int *a, int *c, int *t) { int n; while (1) { printf("数字を入力(0で終了)"); scanf("%d", &n); i...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 配列を使って様々な値を求める方法(素人質問ですみません)
- 返信数: 6
- 閲覧数: 22357
Re: 配列を使って様々な値を求める方法(素人質問ですみません)
if (times == 0) { max = min = n; } 初回入力時に、入力値を仮の最大値・最小値にするという発想自体は ええと思うんやけど、いかんせん書く場所がちょっと違うてるみたいやね。 それから、中央値を求める際はデータがソートされてなあかんのやけど、 配列を使わんと中央値を求める方法(変にこねくり回さない)があるんやったらこっちが知りたいくらい。 つまりやね、配列を使うことで変なロジックを使わんでも いろんな値が求められるんやったら、それでええんとちゃう?ってこと。 配列を使うことで楽できるんやったら、それがいちばんええやろ?
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: ハッシュ表を作る課題がうまくいかない
- 返信数: 5
- 閲覧数: 8818
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語でピラミッドをつくる課題のアドバイスをいただきたいです
- 返信数: 3
- 閲覧数: 8707
Re: C言語でピラミッドをつくる課題のアドバイスをいただきたいです
こんなことがしたいんかな? #include <stdio.h> void getShapeAndHeight(int *s, int *h) { do { printf("形は?(1:○, 2:△, 3:□)"), scanf("%d", s); } while (!(1 <= *s && *s <= 3)); do { printf("段数は?(1から20)"), scanf("%d", h); } while (!(1 <= *h && *h <= 20)); } void drawPyramid(int n, int h) { char *s[] = { "", "○", "△", "...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 3分木の実装について
- 返信数: 6
- 閲覧数: 12707
Re: 3分木の実装について
こちらの環境で下記のコードを実行してみる(20回以上)と、 12~16のいずれかの値を出力します。 想定どおりかどうかはわかりません。 #include <stdio.h> #include <stdlib.h> #include <time.h> typedef struct _node{ int data; struct _node *left; struct _node *center; struct _node *right; } NODE; NODE *root; void insert_data(int d, double t); double GetRandom(void); i...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 3分木の実装について
- 返信数: 6
- 閲覧数: 12707
Re: 3分木の実装について
えっと、こっちでもsegmentation faultは起きませんでした。 気になることといえば、 tall = height(root); なぜこの値を確認しようとしていないのか。 srand(time(NULL)); 乱数の種を初期化する場所は本当にここでいいのか。 本来、そういうことはmain()の「先頭で1回だけ」すればいいんじゃないのか。 double GetRandom(){ return ((float)rand()/RAND_MAX); 何で型が微妙に異なっているのか。どうせならdoubleに統一する方がいいんじゃないのか。 p = (NODE *)malloc(sizeof(...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語 静的変数 [漸化式問題]
- 返信数: 6
- 閲覧数: 9815
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 降順ソートのプログラムにしたい
- 返信数: 13
- 閲覧数: 27676
Re: 降順ソートのプログラムにしたい
下記のコードを実行したとき、 50 40 30 20 10 って出力する関数sortArray()の中身を書けますか?>質問者さん #include <stdio.h> #define N (5) void sortArray(int *src, int *dest, int n) { /* ここに、配列srcを降順に並べ直して配列destに格納するコードを書く */ } void printArray(int *a, int n) { int i; for (i = 0; i < n; i++) { printf("%d\n", a[i]); } } int main(void) { int...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 降順ソートのプログラムにしたい
- 返信数: 13
- 閲覧数: 27676
Re: 降順ソートのプログラムにしたい
そうやったら、今回のスレッドの先頭でif分の中は試しました。
「今のコード全体はこうです。そやけど降順ソートできません」
っていうのをハッキリ示さなあきません。なんかまどろっこしい。
全部さらけ出さんと、的確な回答はいつまでたっても来ないですよ。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 降順ソートのプログラムにしたい
- 返信数: 13
- 閲覧数: 27676
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 降順ソートのプログラムにしたい
- 返信数: 13
- 閲覧数: 27676
Re: 降順ソートのプログラムにしたい
ところで
swapとcomp
の件は解決したんですか?
swapとcomp
の件は解決したんですか?
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 降順ソートのプログラムにしたい
- 返信数: 13
- 閲覧数: 27676
Re: 降順ソートのプログラムにしたい
void heapsort(){
tmp = a[1];
a[1] = a;
a = tmp;
}
おっと謎やなかった。外部変数やった。
えらいすんません。
そやけどやっぱり
tmpに入れるんが
何でa[1]固定なんかはようわかりません。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 降順ソートのプログラムにしたい
- 返信数: 13
- 閲覧数: 27676
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: int型関数を用いた テスト点数の計算
- 返信数: 6
- 閲覧数: 18640
Re: int型関数を用いた テスト点数の計算
printData()
に
score
を渡す必要もなかった。
に
score
を渡す必要もなかった。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: int型関数を用いた テスト点数の計算
- 返信数: 6
- 閲覧数: 18640
Re: int型関数を用いた テスト点数の計算
要は、どうせプログラム書くんやったら
ちょっとでも汎用性持たせた方が何かと便利ですやろ
ってことです。
使い捨てでええんやったら知らんけど。
ちょっとでも汎用性持たせた方が何かと便利ですやろ
ってことです。
使い捨てでええんやったら知らんけど。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: int型関数を用いた テスト点数の計算
- 返信数: 6
- 閲覧数: 18640
Re: int型関数を用いた テスト点数の計算
printData()のローカル変数jはいらんかった。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: int型関数を用いた テスト点数の計算
- 返信数: 6
- 閲覧数: 18640
Re: int型関数を用いた テスト点数の計算
ちょっとした手直し。 ポイント: main()は全体の司令塔に徹し、「データを入力しろ」「計算しろ」「出力しろ」という 指示を出すのみ。 必要な処理は呼ばれた側で行なう。 科目数や人数が変わった場合にも、コンパイルし直せば対応できる。 #include <stdio.h> #define NINZUU (3) #define KAMOKU (2) void inputData(int (*score)[NINZUU]) { char *kamoku[KAMOKU] = { "英語", "数学" }; int i, j; for (i = 0; i < KAMOKU; i++) { printf...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: ヒープソートの比較回数と交換回数
- 返信数: 15
- 閲覧数: 32666
Re: ヒープソートの比較回数と交換回数
あと、呼ばれていない
heapsort()
の中でいくら
swap++;
してもダメですよ。>質問者さん
その関数、使いたいんならどっかから呼んであげないと。
heapsort()
の中でいくら
swap++;
してもダメですよ。>質問者さん
その関数、使いたいんならどっかから呼んであげないと。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: ヒープソートの比較回数と交換回数
- 返信数: 15
- 閲覧数: 32666
Re: ヒープソートの比較回数と交換回数
確かに。終わりの添字は
n - 1
です。
n - 1
です。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: ヒープソートの比較回数と交換回数
- 返信数: 15
- 閲覧数: 32666
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: ヒープソートの比較回数と交換回数
- 返信数: 15
- 閲覧数: 32666
Re: ヒープソートの比較回数と交換回数
そうですか?試して見ましたが変わりませんでした。
こちらでは、「どこからも呼ばれている形跡がなさそうな」
いちばん下の方にあるheapsortっていう関数で
nが未定義
っていうコンパイルエラーが出ましたが…。
そもそも、heapsortって、必要なんですか?
使ってないんだったら、外せばいいんじゃないでしょうか。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: for文を使用した2次関数のグラフ表示
- 返信数: 8
- 閲覧数: 22509
Re: for文を使用した2次関数のグラフ表示
+1を省いて実行してみてください。>int x = sqrt(16 * y) + 1;
なぜ末尾に+ 1しているのでしょうか。
最下行の表示が、要求されている仕様と異なってしまうはずです。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: ヒープソートの比較回数と交換回数
- 返信数: 15
- 閲覧数: 32666
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: ヒープソートの比較回数と交換回数
- 返信数: 15
- 閲覧数: 32666
Re: ヒープソートの比較回数と交換回数
これはいったんわきへ置いておくとして、比較回数と交換回数が0と表示されます。
ソートの結果自体は正しいんですか?そっちの方が大切ですよね?
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: ヒープソートの比較回数と交換回数
- 返信数: 15
- 閲覧数: 32666
Re: ヒープソートの比較回数と交換回数
もしかして、となりのスレッドと同じ人?
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: for文を使用した2次関数のグラフ表示
- 返信数: 8
- 閲覧数: 22509
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: for文を使用した2次関数のグラフ表示
- 返信数: 8
- 閲覧数: 22509
Re: for文を使用した2次関数のグラフ表示
何か結果おかしくないですか?表示と計算を別々に考えて、それぞれがそれぞれの役割に集中すると簡単かもしれません。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: for文を使用した2次関数のグラフ表示
- 返信数: 8
- 閲覧数: 22509
Re: for文を使用した2次関数のグラフ表示
何か暇だったので遊んでみた。 #include <stdio.h> #include <math.h> #define YMAX (49) void plot(void) { int y, mx, i; for (y = YMAX; y >= 0; y--) { int x = sqrt(16 * y) + 1; if (y == YMAX) mx = x; for (i = -mx; i <= mx; i++) { putchar((i == 0) ? '|' : (i == -x || i == x) ? '*' : ' '); } putchar('\n'); } } int main(...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: for文を使用した2次関数のグラフ表示
- 返信数: 8
- 閲覧数: 22509
Re: for文を使用した2次関数のグラフ表示
こんな感じ? #include <stdio.h> #include <math.h> #define YMAX (49) int func(double y) { return sqrt(16 * y) + 1; } void plot(int y) { int x = func((double) y), i; static int mx; if (y == YMAX) mx = x; for (i = -mx; i <= mx; i++) { if (i == 0) putchar('|'); else if (i == -x || i == x) putchar('*'); else p...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: stdin はどこから読み込む?
- 返信数: 4
- 閲覧数: 11951
Re: stdin はどこから読み込む?
そうですか。それは知りませんでした。
区別できて何がうれしいんだろうとは思いますけどね。
区別できて何がうれしいんだろうとは思いますけどね。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: stdin はどこから読み込む?
- 返信数: 4
- 閲覧数: 11951
Re: stdin はどこから読み込む?
プログラム側では知るすべはありません。
パイプであろうがリダイレクトであろうが
同じ標準入力として扱うのみです。
パイプであろうがリダイレクトであろうが
同じ標準入力として扱うのみです。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語でカレンダー作りたいです。アドバイスお願いしますm(_ _)m
- 返信数: 3
- 閲覧数: 14825
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語でカレンダー作りたいです。アドバイスお願いしますm(_ _)m
- 返信数: 3
- 閲覧数: 14825
Re: C言語でカレンダー作りたいです。アドバイスお願いしますm(_ _)m
あと、何でもかんでもmain()でやろうとしないこと。
main()は下請け関数を呼び出すことに専念して、
必要な処理はmain()から呼ばれた関数群で実施することがポイント。
main()は下請け関数を呼び出すことに専念して、
必要な処理はmain()から呼ばれた関数群で実施することがポイント。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: RLC回路の数値計算がエクセルとずれてしまいます
- 返信数: 4
- 閲覧数: 12193
Re: RLC回路の数値計算がエクセルとずれてしまいます
つまりね、Excelでの処理内容と処理結果、
C言語による処理結果をともに提示しないと、
比較対象のしようがないってことです。
わかりますよね?
C言語による処理結果をともに提示しないと、
比較対象のしようがないってことです。
わかりますよね?
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: RLC回路の数値計算がエクセルとずれてしまいます
- 返信数: 4
- 閲覧数: 12193
Re: RLC回路の数値計算がエクセルとずれてしまいます
Excelではどういう処理をして
どういう結果を得たのか「も」提示しないと、
どうズレているかがこちらには判断できません。
どういう結果を得たのか「も」提示しないと、
どうズレているかがこちらには判断できません。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語でカレンダー作りたいです。アドバイスお願いしますm(_ _)m
- 返信数: 3
- 閲覧数: 14825
Re: C言語でカレンダー作りたいです。アドバイスお願いしますm(_ _)m
どんな出力がほしいんですか? 仮に、仮にですよ、年と月を入力してその月1ヶ月分のカレンダーが ほしいのであればですよ、 do{ printf("what day"); scanf("%d",&day); }while(day <1 || day > 31); } この入力、いらなくないですか? int year,month,day; // int day[13]={0,31,28,31,30,31,30,31,31}; // day={"sun,mon,tue,wed,thu,fri,sat\n"} 何で同じ変数名を使い回そうとしてるんですか?そんなことできないでしょ? 何で1ヶ月の日数が8月...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタとアドレス
- 返信数: 7
- 閲覧数: 16524
Re: ポインタとアドレス
こんなサンプルコードを動かしてみると、 arrayのアドレス値 array[0]のアドレス値 array[1]のアドレス値は main()とf()とで不変(∵コピー値が渡っている)であり、 また、関数に配列を渡すときはその先頭要素のアドレス値が渡っており、 array[0]とarray[1]が指している先の内容(アドレス値そのものじゃないですよ)が 1増えたり2増えたりして異なっていることに気づくかもしれません。 #include <stdio.h> void f(int array[]); int main(void) { int array[2] = { 123, 456 }; print...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタとアドレス
- 返信数: 7
- 閲覧数: 16524
Re: ポインタとアドレス
関数f()には、main()て定義した配列array[]の先頭要素のアドレスっていう値(ここがちょっとややこしい)を
渡しています。
f()は配列の先頭要素のアドレスを受け取っていますので、f()の中で施した変更が
main()に反映されてます。
渡しています。
f()は配列の先頭要素のアドレスを受け取っていますので、f()の中で施した変更が
main()に反映されてます。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタとアドレス
- 返信数: 7
- 閲覧数: 16524
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 最小値が出力できない、(ド素人質問です)
- 返信数: 5
- 閲覧数: 15618
Re: 最小値が出力できない、(ド素人質問です)
typoその他があったので一部手を加えました。よかったら適当に使ってください。 #include <stdio.h> int main(void) { int n, max, min, total = 0, times = 0; while (1) { printf("input integer(if you input 0, this program will end) "); scanf("%d", &n); if (n == 0) { break; } if (times == 0) { max = min = n; } else { if (n > max) { max = n; } ...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 最小値が出力できない、(ド素人質問です)
- 返信数: 5
- 閲覧数: 15618
Re: 最小値が出力できない、(ド素人質問です)
いきなりゼロを入力したときにゼロ割りが起きそうなので、 こんな風にするのがよいでしょう。フラグ変数は使いませんでした。 #include <stdio.h> int main(void) { int n, max, min, total = 0, times = 0; while (1) { printf("input number(if you inout 0, this program will end) "); scanf("%d", &n); if (n == 0) { break; } if (times == 0) { max = min = n; } else { if (n >...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 最小値が出力できない、(ド素人質問です)
- 返信数: 5
- 閲覧数: 15618
Re: 最小値が出力できない、(ド素人質問です)
仕様の確認です。
入力し続けるのか、どちらですか?
本質とはあまり関係ないかもしれませんが、コードを書く上ではずいぶん違ってくると思います。
10回数値を入力して
10回という回数が決まっているのか、0を入力するまでずっと数字を入力して下さい(0で終了)
入力し続けるのか、どちらですか?
本質とはあまり関係ないかもしれませんが、コードを書く上ではずいぶん違ってくると思います。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: sqlite3_prepare_v2でエラー処理に入ってしまいます
- 返信数: 7
- 閲覧数: 15003
Re: sqlite3_prepare_v2でエラー処理に入ってしまいます
sqlite系関数から返ってきたリターンコードを
printf()してみる、などという、最もシンプルな
デバッグ手法は試していますか?
printf()してみる、などという、最もシンプルな
デバッグ手法は試していますか?
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: sqlite3_prepare_v2でエラー処理に入ってしまいます
- 返信数: 7
- 閲覧数: 15003
Re: sqlite3_prepare_v2でエラー処理に入ってしまいます
SQLのど素人が横から失礼します。
投げているSQL文の
それとも伏せ字にしているだけですか?
投げているSQL文の
?, ?, ?, ?の部分、本当にそれでいいんですか?insert into MY_DATA values (?, ?, ?, ?);
それとも伏せ字にしているだけですか?
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語でカレンダー
- 返信数: 6
- 閲覧数: 14971
Re: C言語でカレンダー
まずはコンパイルが通るように修正しましょう。
エラーメッセージをよく読んで、今のコードはどこが間違っているかを
よく調べてください。
エラーメッセージをよく読んで、今のコードはどこが間違っているかを
よく調べてください。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語でカレンダー
- 返信数: 6
- 閲覧数: 14971
Re: C言語でカレンダー
コンパイルが通らないコードだけを示して、何が質問したいのですか?
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 中央値をifで
- 返信数: 4
- 閲覧数: 9830
Re: 中央値をifで
データが3つしかないならif文でもよいかもしれませんが、
データがもっと多くなったときや個数が偶数の場合などに
対応することを考えると、別の回答にあるとおり
ソートして求める(関数を作る)のが妥当ではないかと思います。
データがもっと多くなったときや個数が偶数の場合などに
対応することを考えると、別の回答にあるとおり
ソートして求める(関数を作る)のが妥当ではないかと思います。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 変数のスコープについて
- 返信数: 1
- 閲覧数: 31089
Re: 変数のスコープについて
変数のスコープとは全然関係ないです。
関数の呼び出し・実行順は
1)mainの先頭でsub1を呼んでいる。
2)sub1の先頭でsub2を呼んでいる。
3)sub2でaの値を出力している。
4)sub1に戻り、cの値を出力している。
5)mainに戻り、bの値を出力している。
ってだけです。
関数の呼び出し・実行順は
1)mainの先頭でsub1を呼んでいる。
2)sub1の先頭でsub2を呼んでいる。
3)sub2でaの値を出力している。
4)sub1に戻り、cの値を出力している。
5)mainに戻り、bの値を出力している。
ってだけです。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: main関数の引数argvとcharについて
- 返信数: 4
- 閲覧数: 34202
Re: main関数の引数argvとcharについて
こんなサンプルコードをコマンドプロンプトかどこかで 実行ファイル名 hoge foobar <enter> みたいに実行してみると、何か体感できるかもしれません。 #include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { int i, j; for (i = 1; i < argc; i++) { printf("%s\n", argv[i]); for (j = 0; j < strlen(argv[i]); j++) { putchar(argv[i][j]); putchar('\n'); } pu...