それやったらまず見るべきなんは
ここの
a[j]とa[j+1]の
不等号を逆向きにしてみることちゃいますか?
自分やったらまずそうします。それであかんかったらまた別の手立てを考えるっちゅうことで。
検索結果 1997 件
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 降順ソートのプログラムにしたい
- 返信数: 13
- 閲覧数: 33057
Re: 降順ソートのプログラムにしたい
ところで
swapとcomp
の件は解決したんですか?
swapとcomp
の件は解決したんですか?
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 降順ソートのプログラムにしたい
- 返信数: 13
- 閲覧数: 33057
Re: 降順ソートのプログラムにしたい
void heapsort(){
tmp = a[1];
a[1] = a;
a = tmp;
}
おっと謎やなかった。外部変数やった。
えらいすんません。
そやけどやっぱり
tmpに入れるんが
何でa[1]固定なんかはようわかりません。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 降順ソートのプログラムにしたい
- 返信数: 13
- 閲覧数: 33057
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: int型関数を用いた テスト点数の計算
- 返信数: 6
- 閲覧数: 22324
Re: int型関数を用いた テスト点数の計算
printData()
に
score
を渡す必要もなかった。
に
score
を渡す必要もなかった。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: int型関数を用いた テスト点数の計算
- 返信数: 6
- 閲覧数: 22324
Re: int型関数を用いた テスト点数の計算
要は、どうせプログラム書くんやったら
ちょっとでも汎用性持たせた方が何かと便利ですやろ
ってことです。
使い捨てでええんやったら知らんけど。
ちょっとでも汎用性持たせた方が何かと便利ですやろ
ってことです。
使い捨てでええんやったら知らんけど。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: int型関数を用いた テスト点数の計算
- 返信数: 6
- 閲覧数: 22324
Re: int型関数を用いた テスト点数の計算
printData()のローカル変数jはいらんかった。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: int型関数を用いた テスト点数の計算
- 返信数: 6
- 閲覧数: 22324
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...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: ヒープソートの比較回数と交換回数
- 返信数: 15
- 閲覧数: 39008
Re: ヒープソートの比較回数と交換回数
あと、呼ばれていない
heapsort()
の中でいくら
swap++;
してもダメですよ。>質問者さん
その関数、使いたいんならどっかから呼んであげないと。
heapsort()
の中でいくら
swap++;
してもダメですよ。>質問者さん
その関数、使いたいんならどっかから呼んであげないと。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: ヒープソートの比較回数と交換回数
- 返信数: 15
- 閲覧数: 39008
Re: ヒープソートの比較回数と交換回数
確かに。終わりの添字は
n - 1
です。
n - 1
です。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: ヒープソートの比較回数と交換回数
- 返信数: 15
- 閲覧数: 39008
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: ヒープソートの比較回数と交換回数
- 返信数: 15
- 閲覧数: 39008
Re: ヒープソートの比較回数と交換回数
そうですか?試して見ましたが変わりませんでした。
こちらでは、「どこからも呼ばれている形跡がなさそうな」
いちばん下の方にあるheapsortっていう関数で
nが未定義
っていうコンパイルエラーが出ましたが…。
そもそも、heapsortって、必要なんですか?
使ってないんだったら、外せばいいんじゃないでしょうか。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: for文を使用した2次関数のグラフ表示
- 返信数: 8
- 閲覧数: 26963
Re: for文を使用した2次関数のグラフ表示
+1を省いて実行してみてください。>int x = sqrt(16 * y) + 1;
なぜ末尾に+ 1しているのでしょうか。
最下行の表示が、要求されている仕様と異なってしまうはずです。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: ヒープソートの比較回数と交換回数
- 返信数: 15
- 閲覧数: 39008
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: ヒープソートの比較回数と交換回数
- 返信数: 15
- 閲覧数: 39008
Re: ヒープソートの比較回数と交換回数
これはいったんわきへ置いておくとして、比較回数と交換回数が0と表示されます。
ソートの結果自体は正しいんですか?そっちの方が大切ですよね?
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: ヒープソートの比較回数と交換回数
- 返信数: 15
- 閲覧数: 39008
Re: ヒープソートの比較回数と交換回数
もしかして、となりのスレッドと同じ人?
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: for文を使用した2次関数のグラフ表示
- 返信数: 8
- 閲覧数: 26963
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: for文を使用した2次関数のグラフ表示
- 返信数: 8
- 閲覧数: 26963
Re: for文を使用した2次関数のグラフ表示
何か結果おかしくないですか?表示と計算を別々に考えて、それぞれがそれぞれの役割に集中すると簡単かもしれません。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: for文を使用した2次関数のグラフ表示
- 返信数: 8
- 閲覧数: 26963
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(...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: for文を使用した2次関数のグラフ表示
- 返信数: 8
- 閲覧数: 26963
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...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: stdin はどこから読み込む?
- 返信数: 4
- 閲覧数: 14242
Re: stdin はどこから読み込む?
そうですか。それは知りませんでした。
区別できて何がうれしいんだろうとは思いますけどね。
区別できて何がうれしいんだろうとは思いますけどね。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: stdin はどこから読み込む?
- 返信数: 4
- 閲覧数: 14242
Re: stdin はどこから読み込む?
プログラム側では知るすべはありません。
パイプであろうがリダイレクトであろうが
同じ標準入力として扱うのみです。
パイプであろうがリダイレクトであろうが
同じ標準入力として扱うのみです。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語でカレンダー作りたいです。アドバイスお願いしますm(_ _)m
- 返信数: 3
- 閲覧数: 17778
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語でカレンダー作りたいです。アドバイスお願いしますm(_ _)m
- 返信数: 3
- 閲覧数: 17778
Re: C言語でカレンダー作りたいです。アドバイスお願いしますm(_ _)m
あと、何でもかんでもmain()でやろうとしないこと。
main()は下請け関数を呼び出すことに専念して、
必要な処理はmain()から呼ばれた関数群で実施することがポイント。
main()は下請け関数を呼び出すことに専念して、
必要な処理はmain()から呼ばれた関数群で実施することがポイント。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: RLC回路の数値計算がエクセルとずれてしまいます
- 返信数: 4
- 閲覧数: 14801
Re: RLC回路の数値計算がエクセルとずれてしまいます
つまりね、Excelでの処理内容と処理結果、
C言語による処理結果をともに提示しないと、
比較対象のしようがないってことです。
わかりますよね?
C言語による処理結果をともに提示しないと、
比較対象のしようがないってことです。
わかりますよね?
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: RLC回路の数値計算がエクセルとずれてしまいます
- 返信数: 4
- 閲覧数: 14801
Re: RLC回路の数値計算がエクセルとずれてしまいます
Excelではどういう処理をして
どういう結果を得たのか「も」提示しないと、
どうズレているかがこちらには判断できません。
どういう結果を得たのか「も」提示しないと、
どうズレているかがこちらには判断できません。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語でカレンダー作りたいです。アドバイスお願いしますm(_ _)m
- 返信数: 3
- 閲覧数: 17778
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月...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタとアドレス
- 返信数: 7
- 閲覧数: 19820
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...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタとアドレス
- 返信数: 7
- 閲覧数: 19820
Re: ポインタとアドレス
関数f()には、main()て定義した配列array[]の先頭要素のアドレスっていう値(ここがちょっとややこしい)を
渡しています。
f()は配列の先頭要素のアドレスを受け取っていますので、f()の中で施した変更が
main()に反映されてます。
渡しています。
f()は配列の先頭要素のアドレスを受け取っていますので、f()の中で施した変更が
main()に反映されてます。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタとアドレス
- 返信数: 7
- 閲覧数: 19820
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 最小値が出力できない、(ド素人質問です)
- 返信数: 5
- 閲覧数: 18699
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; } ...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 最小値が出力できない、(ド素人質問です)
- 返信数: 5
- 閲覧数: 18699
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 >...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 最小値が出力できない、(ド素人質問です)
- 返信数: 5
- 閲覧数: 18699
Re: 最小値が出力できない、(ド素人質問です)
仕様の確認です。
入力し続けるのか、どちらですか?
本質とはあまり関係ないかもしれませんが、コードを書く上ではずいぶん違ってくると思います。
10回数値を入力して
10回という回数が決まっているのか、0を入力するまでずっと数字を入力して下さい(0で終了)
入力し続けるのか、どちらですか?
本質とはあまり関係ないかもしれませんが、コードを書く上ではずいぶん違ってくると思います。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: sqlite3_prepare_v2でエラー処理に入ってしまいます
- 返信数: 7
- 閲覧数: 17693
Re: sqlite3_prepare_v2でエラー処理に入ってしまいます
sqlite系関数から返ってきたリターンコードを
printf()してみる、などという、最もシンプルな
デバッグ手法は試していますか?
printf()してみる、などという、最もシンプルな
デバッグ手法は試していますか?
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: sqlite3_prepare_v2でエラー処理に入ってしまいます
- 返信数: 7
- 閲覧数: 17693
Re: sqlite3_prepare_v2でエラー処理に入ってしまいます
SQLのど素人が横から失礼します。
投げているSQL文の
それとも伏せ字にしているだけですか?
投げているSQL文の
?, ?, ?, ?の部分、本当にそれでいいんですか?insert into MY_DATA values (?, ?, ?, ?);
それとも伏せ字にしているだけですか?
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語でカレンダー
- 返信数: 6
- 閲覧数: 17741
Re: C言語でカレンダー
まずはコンパイルが通るように修正しましょう。
エラーメッセージをよく読んで、今のコードはどこが間違っているかを
よく調べてください。
エラーメッセージをよく読んで、今のコードはどこが間違っているかを
よく調べてください。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語でカレンダー
- 返信数: 6
- 閲覧数: 17741
Re: C言語でカレンダー
コンパイルが通らないコードだけを示して、何が質問したいのですか?
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 中央値をifで
- 返信数: 4
- 閲覧数: 11560
Re: 中央値をifで
データが3つしかないならif文でもよいかもしれませんが、
データがもっと多くなったときや個数が偶数の場合などに
対応することを考えると、別の回答にあるとおり
ソートして求める(関数を作る)のが妥当ではないかと思います。
データがもっと多くなったときや個数が偶数の場合などに
対応することを考えると、別の回答にあるとおり
ソートして求める(関数を作る)のが妥当ではないかと思います。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 変数のスコープについて
- 返信数: 1
- 閲覧数: 32527
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の値を出力している。
ってだけです。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: main関数の引数argvとcharについて
- 返信数: 4
- 閲覧数: 36062
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...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: main関数の引数argvとcharについて
- 返信数: 4
- 閲覧数: 36062
Re: main関数の引数argvとcharについて
argvはchar型へのポインターの配列、と言った方が正確だったかな?argvはchar型の配列へのポインターだからです。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: main関数の引数argvとcharについて
- 返信数: 4
- 閲覧数: 36062
Re: main関数の引数argvとcharについて
argvはchar型の配列へのポインターだからです。
argv[1]はchar型の配列の要素であり、型はchar *です。
argv[1]はchar型の配列の要素であり、型はchar *です。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 文字列を逆順に表示したい
- 返信数: 12
- 閲覧数: 8015
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 違いを教えてください
- 返信数: 4
- 閲覧数: 4274
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 違いを教えてください
- 返信数: 4
- 閲覧数: 4274
Re: 違いを教えてください
本当にprint関数を使っているんですか?
標準ライブラリーのprintf関数ではなくて?
もし、print関数が自作であるなら、そのコードを含めて
すべてのソースを正確に見せてください。
もし、printf関数を使っているのならば、そのコードを
正確に見せてください。まずはそこからです。
標準ライブラリーのprintf関数ではなくて?
もし、print関数が自作であるなら、そのコードを含めて
すべてのソースを正確に見せてください。
もし、printf関数を使っているのならば、そのコードを
正確に見せてください。まずはそこからです。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: バブルソートの結果がうまく表示されない
- 返信数: 4
- 閲覧数: 5178
Re: バブルソートの結果がうまく表示されない
あと、元のコードで問題なのは、
外側のiに関するループは何をしてるんですか?ってことです。
比較にも何にも使ってないので、そのループ、なくていいんじゃないですか?
単に9回回ってるだけなんじゃないんですか?ってことです。
実際にはないと困るのですけれど。配列の比較時に必要なので。
外側のiに関するループは何をしてるんですか?ってことです。
比較にも何にも使ってないので、そのループ、なくていいんじゃないですか?
単に9回回ってるだけなんじゃないんですか?ってことです。
実際にはないと困るのですけれど。配列の比較時に必要なので。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: バブルソートの結果がうまく表示されない
- 返信数: 4
- 閲覧数: 5178
Re: バブルソートの結果がうまく表示されない
参考までに、自分だったらこう書きます。 #include <stdio.h> #define NUM (10) void bubble_sort(int *a) { int i, j, t; for (i = 0; i < NUM - 1; i++) { for (j = i + 1; j < NUM; j++) { if (a[i] > a[j]) { t = a[i], a[i] = a[j], a[j] = t; } } } } int main(void) { unsigned int array[NUM] = { 2, 4, 5, 6, 8, 1, 3, 7, 9, 0 }; int...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: バブルソートの結果がうまく表示されない
- 返信数: 4
- 閲覧数: 5178
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 関数ポインタの仕組みについて
- 返信数: 2
- 閲覧数: 3742
Re: 関数ポインタの仕組みについて
だって、何らかのアドレスを持っている(メモリー中のどこかにある)からこそ関数はメモリに保存されているのでしょうか?
呼び出せるわけでしょ?
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: c++ リンクエラー
- 返信数: 5
- 閲覧数: 5541
Re: c++ リンクエラー
main関数の定義が複数ある、と言っています。multiple definition of `main'
試しにmain.cppの記述をはずしてみたらどうなるでしょうか。if ($?) { g++ main.cpp *.cpp -o main } ; if ($?) { .\main }
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: c++ リンクエラー
- 返信数: 5
- 閲覧数: 5541
Re: c++ リンクエラー
ビルド時のコマンドを提示してください。
sample.cpp
を正しくコンパイルできているでしょうか。
リンカーからのメッセージは、
set()
とか
get()
とかを呼んでるけど実体がないよ、って言っています。
sample.cpp
を正しくコンパイルできているでしょうか。
リンカーからのメッセージは、
set()
とか
get()
とかを呼んでるけど実体がないよ、って言っています。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 浮動小数点にの計算について
- 返信数: 2
- 閲覧数: 3816
Re: 浮動小数点にの計算について
ほんのちょっとしたサンプルコードです。 ところで、過去にご自分が立てたトピックは解決したんですかね? #include<stdio.h> #define N (4) void inputArray(double *a) { int i; for (i = 0; i < N; i++) { printf("Data No.%d > ", i + 1); scanf("%lf", &a[i]); } } void printArray(double *a) { int i; for (i = 0; i < N; i++) { printf("Data No.%d = %f\n", i + 1, a...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 関数ポインター
- 返信数: 2
- 閲覧数: 3916
Re: 関数ポインター
ほんのちょっとしたサンプルコードその2です。 #include<stdio.h> typedef int (*keisan)(int, int); int add(int a, int b) { return a + b; } int sub(int a, int b) { return a - b; } int mul(int a, int b) { return a * b; } int div(int a, int b) { return (b != 0) ? (a / b) : 0; } int main(void) { keisan f[] = { add, sub, mul, di...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 関数ポインター
- 返信数: 2
- 閲覧数: 3916
Re: 関数ポインター
ほんのちょっとしたサンプルコードです。 #include<stdio.h> typedef void (*func)(void); void hello(void) { printf("Hello\n"); } void bonjour(void) { printf("Bonjour\n"); } void gutentag(void) { printf("Guten Tag\n"); } int main(void) { func f[] = { hello, bonjour, gutentag }; int i; for (i = 0; i < sizeof(f) / sizeof(f[0...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 乱数から最大値と最小値を求める
- 返信数: 3
- 閲覧数: 5312
Re: 乱数から最大値と最小値を求める
そもそもbは配列である必要性が全くない(後で再利用しているわけでもない)ので、 こんな感じでいいんじゃないでしょうか。 #include <stdio.h> #include <time.h> #include <stdlib.h> int main(void) { int num, i, max = 1, min = 10; srand((unsigned) time(NULL)); for (i = 0; i < 10; i++){ num = rand() % 10 + 1; printf("%d ", num); if (num >= max) { max = num; } if (n...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 乱数から最大値と最小値を求める
- 返信数: 3
- 閲覧数: 5312
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 質問
- 返信数: 5
- 閲覧数: 4945
Re: 質問
#include <stdio.h> #include <string.h> #define SIZE (100) int searchChar(char *s, char c) { int n, i; for (n = i = 0; s[i]; i++) { if (s[i] == c) n++; } return n; } int main(void){ char str[SIZE], kensaku; printf("文字列を入力>"); fgets(str, SIZE, stdin); str[strlen(str) - 1] = '\0'; printf("検索する文字を入力>")...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 質問2
- 返信数: 4
- 閲覧数: 4749
Re: 質問2
話題が全然違うので、別のトピックを作りましょう。ユーザが指定した文字を探してその文字が含まれている個数を返すプログラム
その際、タイトルは「質問」なんかではなく、投稿の内容を端的に示す具体的なものにしましょう。
他のトピックを見てみてください。
入力例と出力例をいくつか挙げてください。
何をしたいのかイマイチピンと来ません。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 質問
- 返信数: 7
- 閲覧数: 5892
Re: 質問
#include <stdio.h> #define LEN (5) void array_sumof(int *vc, int no, int *psum); int main(void) { int ary[LEN], i, sum=0; printf("整数を%d回入力してください。\n", LEN); for (i = 0; i < LEN; i++) { printf("[%d]> ", i); scanf("%d", &ary[i]); } array_sumof(ary, LEN, &sum); printf("合計 : %d\n", sum); return 0; } voi...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: ヘッダファイルについてうまくいかない
- 返信数: 25
- 閲覧数: 28964
Re: ヘッダファイルについてうまくいかない
window.cpp
の2行目に
#include "window.h"
と書いたらどうなりますか?
の2行目に
#include "window.h"
と書いたらどうなりますか?
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: for文とscanf関数を用いて行列計算プログラムをうまく作れない
- 返信数: 3
- 閲覧数: 4424
Re: for文とscanf関数を用いて行列計算プログラムをうまく作れない
列方向に入力させようとしているところに
違和感がぬぐえないのは当方だけ?
違和感がぬぐえないのは当方だけ?
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: nの階乗を求めるプログラム
- 返信数: 4
- 閲覧数: 4298
Re: nの階乗を求めるプログラム
もちろん、int型でオーバーフローしない範囲のnにおいては、ということです。少なくとも下記のコードではfor文の初期値は1でも2でもOKです。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: nの階乗を求めるプログラム
- 返信数: 4
- 閲覧数: 4298
Re: nの階乗を求めるプログラム
元のコードはいろいろグダグダだったので書き換えました。 少なくとも下記のコードではfor文の初期値は1でも2でもOKです。 #include<stdio.h> int factorial(int n) { int ans = 1, i; for (i = 1; i <= n; i++) { ans *= i; } return ans; } int main(void) { int n; printf("n = "); scanf("%d", &n); printf("factorial of %d is %d\n", n, factorial(n)); return 0; }
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語について質問
- 返信数: 2
- 閲覧数: 4456
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 質問
- 返信数: 1
- 閲覧数: 2276
Re: 質問
まずは、この仕様をみたすinputYear関数を作ることを考えましょうか。• 入力された数が 1988 以下の数の場合は再入力を要求する
inputYear関数では、do ~ while ループか何かを使って、
誤った入力をしている間は再入力を促し、1989以上の整数値を入力したら
その値を呼び出し元に返すとよいでしょう。
引数の有無、戻り値をどうするか、考えてみましょう。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: アドレス帳を作っています。
- 返信数: 6
- 閲覧数: 6430
Re: アドレス帳を作っています。
えっと、まさか、
main()のNerror
と
Bytecheck()のNerror
が
同じだとは思ってませんよね?
両者は、ともにその関数内のローカル変数ですので、
別々の場所(アドレス)にありますよ。名前は同じですが、ひも付けはありません。
あと、なんでもかんでもmain()に押し込んでいるのが気になります。
main()は司令塔の役割を果たすだけにして、
データ入力用の関数とか表示用の関数とかに分割する方が
プログラム全体の見通しがよくなると思うんですけど。
仮に自分が質問者さんの上司か何かなら、
「設計やり直し!」
って言うところです。
main()のNerror
と
Bytecheck()のNerror
が
同じだとは思ってませんよね?
両者は、ともにその関数内のローカル変数ですので、
別々の場所(アドレス)にありますよ。名前は同じですが、ひも付けはありません。
あと、なんでもかんでもmain()に押し込んでいるのが気になります。
main()は司令塔の役割を果たすだけにして、
データ入力用の関数とか表示用の関数とかに分割する方が
プログラム全体の見通しがよくなると思うんですけど。
仮に自分が質問者さんの上司か何かなら、
「設計やり直し!」
って言うところです。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: アドレス帳を作っています。
- 返信数: 6
- 閲覧数: 6430
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語[ポインタ変数を使用したプログラムの修正]
- 返信数: 3
- 閲覧数: 4745
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語[ポインタ変数を使用したプログラムの修正]
- 返信数: 3
- 閲覧数: 4745
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語 戻り値をもたない関数voidを使った課題
- 返信数: 3
- 閲覧数: 4982
Re: C言語 戻り値をもたない関数voidを使った課題
以下はちょっとしたサンプルコードです。 質問者さんのコードのどこがおかしいかは ・scanfで読み込んだmを捨ててしまっている。 ・Aに渡すのは回数の10ではなく、読み込んだ文字であるはず ・Aの中で、定義されていない変数mを使っている #include <stdio.h> #include <ctype.h> void func(int c) { int i; for (i = 0; i < 10; i++) { putchar(c); } puts(""); } int main(void) { int c; do { printf("Capital Letter: "); c = get...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 大学の数学の問題集ってないんですか?
- 返信数: 3
- 閲覧数: 5975
Re: 大学の数学の問題集ってないんですか?
数研出版から高校ではチャートをやってましたが、大学でも同じような問題集はないのでしょうか?
チャート式 大学教養微分積分
チャート式 大学教養線形代数
という大学生向けの参考書が出てますが、
それが質問者さんのニーズに合うかどうかはわかりません。
興味があれば数研出版のサイトへ行ってみてください。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 原因不明
- 返信数: 3
- 閲覧数: 5631
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語 原因がわからない
- 返信数: 1
- 閲覧数: 4298
Re: C言語 原因がわからない
各々の点数や合計点がint型なのはいいとして、 平均点や偏差値といった小数点以下の値を取る変数がint型でいいんでしょうか。 自分ならdouble型にします。 それから、aとかbとかcとかxとか、一見何を表わしているのかわかりづらい変数名は やめとく方がいいと思います。 例えば、国語の点数はjpn, 数学の点数はmath, 英語の点数はeng, 国語の平均はavg_jpn, 数学の平均はavg_math, 英語の点数はavg_engといった具合に パッと見てイメージしやすい名前を付けるだけでもずいぶん見通しがよくなると思いますが いかがでしょう。 「名は体を表す」という言葉は、変数名を付けると...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++ 表示が思う通りにいかない
- 返信数: 4
- 閲覧数: 6505
Re: C++ 表示が思う通りにいかない
のに、筆算(足し算)をしたい
1個だけの入力でホントにいいんですか?入力>123
足される数と足す数の2個の入力をしなくてホントにいいんですか?
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 数学の質問
- 返信数: 6
- 閲覧数: 6597
Re: 数学の質問
質問者さんの①の写し間違いと本の誤植とのダブルパンチのようです。
質問者さんが書いた①
x^3-kx=(3a^2-2a^3)
本に載っている式
x^3 - kx = (3a^2 - k)x - 2a^3 → ね?違ってるでしょ?
これを整理すると
x^3 - (3a^2)x + 2a^3 = 0
となり、その本の「すなわち」の次にかいてある
x^3 - kx + 2a^3 = 0
には、どう転んでもなりません。
質問者さんが書いた①
x^3-kx=(3a^2-2a^3)
本に載っている式
x^3 - kx = (3a^2 - k)x - 2a^3 → ね?違ってるでしょ?
これを整理すると
x^3 - (3a^2)x + 2a^3 = 0
となり、その本の「すなわち」の次にかいてある
x^3 - kx + 2a^3 = 0
には、どう転んでもなりません。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 数学の質問
- 返信数: 6
- 閲覧数: 6597
Re: 数学の質問
ここを見ている人がすべからくプラチカを持っているとは限らないので、
どうしてもここで続けたければ、その問題を、句読点や改行を含めて
今一度正確にあげていただけますか?
あるいは、ここよりもYahoo!掲示板とかOKwaveとかの数学カテゴリーへ行った方が
いいのかもしれません。画像貼れるはずですから。
どうしてもここで続けたければ、その問題を、句読点や改行を含めて
今一度正確にあげていただけますか?
あるいは、ここよりもYahoo!掲示板とかOKwaveとかの数学カテゴリーへ行った方が
いいのかもしれません。画像貼れるはずですから。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 数学の質問
- 返信数: 6
- 閲覧数: 6597
Re: 数学の質問
①から②にはならないと思います。
問題の写し方が間違ってないですか?
問題の写し方が間違ってないですか?
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語の基礎がわかりません。
- 返信数: 3
- 閲覧数: 5765
Re: C言語の基礎がわかりません。
手で計算するとしたらどうするかっていう話なんですけど...。この問題で詰まってしまいました。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 関数の外にあるブロック文の扱い?について
- 返信数: 6
- 閲覧数: 7232
Re: 関数の外にあるブロック文の扱い?について
ホントに?これがコードの全体
main関数の閉じカッコがないんですが...。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 文字列比較のアルゴリズムについて
- 返信数: 4
- 閲覧数: 7662
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 連結リストにおける重複要素の削除方法について
- 返信数: 2
- 閲覧数: 5069
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 連結リストにおける重複要素の削除方法について
- 返信数: 2
- 閲覧数: 5069
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 文字列比較のアルゴリズムについて
- 返信数: 4
- 閲覧数: 7662
Re: 文字列比較のアルゴリズムについて
アルゴリズムを全面的に見直したサンプルです。 #include <stdio.h> #include <string.h> #define N (128) void swap(char *a, char *b) { char t; t = *a, *a = *b, *b = t; } void sortData(char *s) { int i, j; for (i = 0; i < strlen(s) - 1; i++) { for (j = i + 1; j < strlen(s); j++) { if (s[i] > s[j]) { swap(&s[i], &s[j]); } } } }...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: Segmentation fault (core dumped)の解決方法
- 返信数: 4
- 閲覧数: 8406
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 課題について
- 返信数: 3
- 閲覧数: 6061
Re: 課題について
コードの何行目で出ているんですか?identifierを付け忘れています。というエラー
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 課題について
- 返信数: 3
- 閲覧数: 6061
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 課題について
- 返信数: 2
- 閲覧数: 3233
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 課題について
- 返信数: 2
- 閲覧数: 3233
Re: 課題について
ここの掲示板の仕様で、配列のインデックスであるiを[と]で囲むと
勝手に斜体にするというよけいなお世話をしてくれますので、コード全体を、この掲示板の
先頭にあるようにcodeタグと/codeタグで囲んで、現状お持ちのコードを正確に提示してください。
勝手に斜体にするというよけいなお世話をしてくれますので、コード全体を、この掲示板の
先頭にあるようにcodeタグと/codeタグで囲んで、現状お持ちのコードを正確に提示してください。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: int型からchar*にする方法を教えて下さい、、、
- 返信数: 6
- 閲覧数: 7734
Re: int型からchar*にする方法を教えて下さい、、、
解決していたら何よりですが、英語のエラーメッセージを見て
わけわかめ状態になっていたりはしませんか?
sprintf()のかわりにsprintf_s()を使ってみたらどうですか?
って言ってくれてます。
わけわかめ状態になっていたりはしませんか?
詳細は割愛しますが、要は、itoa()のかわりに_itoa()を、Instead, use the ISO C and C++ conformant name: _itoa.
Consider using sprintf_s instead.
sprintf()のかわりにsprintf_s()を使ってみたらどうですか?
って言ってくれてます。
- 4年前
- フォーラム: C言語何でも質問掲示板
- トピック: csvファイルの読み込み
- 返信数: 4
- 閲覧数: 4138
Re: csvファイルの読み込み
くだんのコードでは1行目しか読んでいないように見えますが、
それでいいんですね?
それでいいんですね?
- 4年前
- フォーラム: C言語何でも質問掲示板
- トピック: csvファイルの読み込み
- 返信数: 4
- 閲覧数: 4138
Re: csvファイルの読み込み
置いてある場所が正しくないのでは?csvファイルはドキュメントに入れています。
開発環境によって異なると思いますが、通常は、
ソースコードがあるフォルダーや
実行ファイルがあるフォルダーに置くことが多いと思います。
というわけで、何を使って開発しているかを提示していただけますと、
同じものを使っている識者の方々から有益な回答が来るかもしれませんし
来ないかもしれません。
- 4年前
- フォーラム: C言語何でも質問掲示板
- トピック: 学校の課題です
- 返信数: 4
- 閲覧数: 4987
- 4年前
- フォーラム: C言語何でも質問掲示板
- トピック: 学校の課題です
- 返信数: 4
- 閲覧数: 4987
Re: 学校の課題です
main関数に何でもかんでもやらせない方がよいと思います。個人的には。 データの入力、評価、出力を適切に関数分けする方がよいのではないでしょうか。 #include <stdio.h> #include <stdlib.h> #define N (3) #define C (21) typedef struct { char name[C]; int number; int score; char class; } person; void inputData(person *p) { int i; for (i = 0; i < N; i++) { printf("名前 番号 点数>"); ...
- 4年前
- フォーラム: C言語何でも質問掲示板
- トピック: 仮引数を受け取らない関数について
- 返信数: 3
- 閲覧数: 5572
Re: 仮引数を受け取らない関数について
そのくらいの小さいプログラムならばまだいいですが、グローバル変数でやったらできました!
ある程度以上の規模のプログラムではグローバルはなるべく使わない方が
無難だと思います。
なぜなら、どの関数からでも参照・変更ができてしまうので、
思わぬところで変更されていたりするとそれを見つけるのが
なかなかむずかしかったりしますから。
その辺の危険性をよくわかった上で使ってください。
- 4年前
- フォーラム: C言語何でも質問掲示板
- トピック: 課題を教えてください
- 返信数: 4
- 閲覧数: 6760
Re: 課題を教えてください
これは読み間違いですね。2. 以下の関数は使用しないこととありますがm_sort.cで使用してるから、それを自分で作成した関数に置き換えることと読めますが。
大文字小文字が混在しているcharの箇所「だけ」着目すればよいのであって、
当該ソースの他の箇所は「そのまま」書き出せばよいのです。
- 4年前
- フォーラム: C言語何でも質問掲示板
- トピック: 2次元配列の作り方を教えてください。
- 返信数: 5
- 閲覧数: 6956
Re: 2次元配列の作り方を教えてください。
それは調べ方がよろしくないのでは?2次元配列の定義、値の格納、値の出力が正しくできる最低限のコードを書きたのはやまやまなのですが、調べても出てこなくて
「C言語 2次元配列」あたりでググってみると、それこそ山ほど出てきますよ。
- 4年前
- フォーラム: C言語何でも質問掲示板
- トピック: 2次元配列の作り方を教えてください。
- 返信数: 5
- 閲覧数: 6956
Re: 2次元配列の作り方を教えてください。
どんなコードを書いたときにどんな風にうまくいかないのかを書いてほしいところですが、二次元配列を作りたいのですがどうもうまくいきません。
ともあれ、ゲームとはいったん切り離して、2次元配列の定義、値の格納、値の出力が
正しくできる最低限のコードを書いてみてはどうでしょうか。
- 4年前
- フォーラム: C言語何でも質問掲示板
- トピック: C# 五目並べが上手くいかない
- 返信数: 5
- 閲覧数: 6756
Re: C# 五目並べが上手くいかない
2次元の盤面の一つ一つの場所に数値を当てはめて(例えば10*10の盤面だったら0~99とか)、
そこに石が置いてあるかどうかをon/offで管理します。
コンピューターの手番になったとき、乱数によって
盤面のうち一つの場所を決め、そこがあいていれば
石を置き、あいてなければ別の乱数を発生させて場所を決めて石を置く
(石を置けるまでくり返す)ようにしてみてはどうでしょう。
p.s.
ただ、これだと、コンピューターには何の戦略もありませんので、
プレイヤーが連戦連勝になる気がします。
そこに石が置いてあるかどうかをon/offで管理します。
コンピューターの手番になったとき、乱数によって
盤面のうち一つの場所を決め、そこがあいていれば
石を置き、あいてなければ別の乱数を発生させて場所を決めて石を置く
(石を置けるまでくり返す)ようにしてみてはどうでしょう。
p.s.
ただ、これだと、コンピューターには何の戦略もありませんので、
プレイヤーが連戦連勝になる気がします。
- 4年前
- フォーラム: C言語何でも質問掲示板
- トピック: 文字列から文字を探すプログラム
- 返信数: 3
- 閲覧数: 5724
- 4年前
- フォーラム: C言語何でも質問掲示板
- トピック: C# 五目並べが上手くいかない
- 返信数: 5
- 閲覧数: 6756
Re: C# 五目並べが上手くいかない
敵側というのはコンピューターのことですか?だとすると、プレイヤーの打った手やプレイヤーの入力のみになっていて、敵側が石を置くことができません。
盤面の状況などによって最善手あるいはそれに近い手を選ぶためのアルゴリズムは
メチャクチャむずかしいと思います。少なくとも当方にはできません。