検索結果 1942 件

by box
2日前
フォーラム: C言語何でも質問掲示板
トピック: 3分木の実装について
返信数: 6
閲覧数: 139

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...
by box
2日前
フォーラム: C言語何でも質問掲示板
トピック: 3分木の実装について
返信数: 6
閲覧数: 139

Re: 3分木の実装について

えっと、こっちでもsegmentation faultは起きませんでした。 気になることといえば、 tall = height(root); なぜこの値を確認しようとしていないのか。 srand(time(NULL)); 乱数の種を初期化する場所は本当にここでいいのか。 本来、そういうことはmain()の「先頭で1回だけ」すればいいんじゃないのか。 double GetRandom(){ return ((float)rand()/RAND_MAX); 何で型が微妙に異なっているのか。どうせならdoubleに統一する方がいいんじゃないのか。 p = (NODE *)malloc(sizeof(...
by box
3日前
フォーラム: C言語何でも質問掲示板
トピック: C言語 静的変数 [漸化式問題]
返信数: 6
閲覧数: 161

Re: C言語 静的変数 [漸化式問題]

こういうことでええんかな?

コード:

#include <stdio.h>

int seq(void)
{
    static int n = 1;

    return n = 3 * n + 1;
}

int main(void)
{
    int i;

    for (i = 2; i <= 10; i++) {
        printf("%d ", seq());
    }
    putchar('\n');
    return 0;
}
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 降順ソートのプログラムにしたい
返信数: 13
閲覧数: 232

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...
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 降順ソートのプログラムにしたい
返信数: 13
閲覧数: 232

Re: 降順ソートのプログラムにしたい

if分の中は試しました。
そうやったら、今回のスレッドの先頭で
「今のコード全体はこうです。そやけど降順ソートできません」
っていうのをハッキリ示さなあきません。なんかまどろっこしい。
全部さらけ出さんと、的確な回答はいつまでたっても来ないですよ。
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 降順ソートのプログラムにしたい
返信数: 13
閲覧数: 232

Re: 降順ソートのプログラムにしたい

それやったらまず見るべきなんは

コード:

void downheap(int from,int to){
        if (j+1 <= to && a[j] > a[j+1])
ここの
a[j]とa[j+1]の
不等号を逆向きにしてみることちゃいますか?
自分やったらまずそうします。それであかんかったらまた別の手立てを考えるっちゅうことで。
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 降順ソートのプログラムにしたい
返信数: 13
閲覧数: 232

Re: 降順ソートのプログラムにしたい

ところで
swapとcomp
の件は解決したんですか?
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 降順ソートのプログラムにしたい
返信数: 13
閲覧数: 232

Re: 降順ソートのプログラムにしたい

void heapsort(){
tmp = a[1];
a[1] = a;
a = tmp;
}

おっと謎やなかった。外部変数やった。
えらいすんません。
そやけどやっぱり
tmpに入れるんが
何でa[1]固定なんかはようわかりません。
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 降順ソートのプログラムにしたい
返信数: 13
閲覧数: 232

Re: 降順ソートのプログラムにしたい

降順ソートなんかあとでどないでもなるから、
まずは、昇順ソートを完璧にすることを
考えた方がええんとちゃいますか?

直近のコードにある
heapsort()
っていう、引数も戻り値も何もない謎の関数は
ちゃんと動くようになったんですか?

コード:

void heapsort(){
            tmp = a[1];
            a[1] = a[i];
            a[i] = tmp;
}
ここの、何も定義してない
謎の配列
a[]
はどこを見てるんですか?
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: int型関数を用いた テスト点数の計算
返信数: 6
閲覧数: 192

Re: int型関数を用いた テスト点数の計算

printData()

score
を渡す必要もなかった。
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: int型関数を用いた テスト点数の計算
返信数: 6
閲覧数: 192

Re: int型関数を用いた テスト点数の計算

要は、どうせプログラム書くんやったら
ちょっとでも汎用性持たせた方が何かと便利ですやろ
ってことです。
使い捨てでええんやったら知らんけど。
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: int型関数を用いた テスト点数の計算
返信数: 6
閲覧数: 192

Re: int型関数を用いた テスト点数の計算

printData()のローカル変数jはいらんかった。
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: int型関数を用いた テスト点数の計算
返信数: 6
閲覧数: 192

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...
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: ヒープソートの比較回数と交換回数
返信数: 15
閲覧数: 328

Re: ヒープソートの比較回数と交換回数

あと、呼ばれていない
heapsort()
の中でいくら
swap++;
してもダメですよ。>質問者さん
その関数、使いたいんならどっかから呼んであげないと。
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: ヒープソートの比較回数と交換回数
返信数: 15
閲覧数: 328

Re: ヒープソートの比較回数と交換回数

確かに。終わりの添字は
n - 1
です。
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: ヒープソートの比較回数と交換回数
返信数: 15
閲覧数: 328

Re: ヒープソートの比較回数と交換回数

もしかして、downheap()を呼ぶときに、

コード:

    downheap(i,n);         /* ヒープソートを実行 */  

コード:

    downheap(i,n);         /* ヒープソートを実行 */  

コード:

    downheap(i,n);         /*  ヒープソートを実行 */  
ここ、全部

コード:

    downheap(0, n);
じゃないとダメ、とか?
引数のfrom, toの意味合いからして、そんな気がしないでもない。
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: ヒープソートの比較回数と交換回数
返信数: 15
閲覧数: 328

Re: ヒープソートの比較回数と交換回数

試して見ましたが変わりませんでした。
そうですか?
こちらでは、「どこからも呼ばれている形跡がなさそうな」
いちばん下の方にあるheapsortっていう関数で
nが未定義
っていうコンパイルエラーが出ましたが…。
そもそも、heapsortって、必要なんですか?
使ってないんだったら、外せばいいんじゃないでしょうか。
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: for文を使用した2次関数のグラフ表示
返信数: 8
閲覧数: 224

Re: for文を使用した2次関数のグラフ表示

>int x = sqrt(16 * y) + 1;
なぜ末尾に+ 1しているのでしょうか。
+1を省いて実行してみてください。
最下行の表示が、要求されている仕様と異なってしまうはずです。
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: ヒープソートの比較回数と交換回数
返信数: 15
閲覧数: 328

Re: ヒープソートの比較回数と交換回数

コード:

int n = 0;
この文、本当に必要ですか?ってことを言ってるのではないかと思います。
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: ヒープソートの比較回数と交換回数
返信数: 15
閲覧数: 328

Re: ヒープソートの比較回数と交換回数

比較回数と交換回数が0と表示されます。
これはいったんわきへ置いておくとして、
ソートの結果自体は正しいんですか?そっちの方が大切ですよね?
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: ヒープソートの比較回数と交換回数
返信数: 15
閲覧数: 328

Re: ヒープソートの比較回数と交換回数

もしかして、となりのスレッドと同じ人?
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: for文を使用した2次関数のグラフ表示
返信数: 8
閲覧数: 224

Re: for文を使用した2次関数のグラフ表示

コード:

	y = int( x*x/16.f + 0.5f );
intっていう関数がある処理系をお使いなんですか?
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: for文を使用した2次関数のグラフ表示
返信数: 8
閲覧数: 224

Re: for文を使用した2次関数のグラフ表示

表示と計算を別々に考えて、それぞれがそれぞれの役割に集中すると簡単かもしれません。
何か結果おかしくないですか?
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: for文を使用した2次関数のグラフ表示
返信数: 8
閲覧数: 224

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(...
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: for文を使用した2次関数のグラフ表示
返信数: 8
閲覧数: 224

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...
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: stdin はどこから読み込む?
返信数: 4
閲覧数: 230

Re: stdin はどこから読み込む?

そうですか。それは知りませんでした。
区別できて何がうれしいんだろうとは思いますけどね。
by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: stdin はどこから読み込む?
返信数: 4
閲覧数: 230

Re: stdin はどこから読み込む?

プログラム側では知るすべはありません。
パイプであろうがリダイレクトであろうが
同じ標準入力として扱うのみです。
by box
2週間前
フォーラム: C言語何でも質問掲示板
トピック: C言語でカレンダー作りたいです。アドバイスお願いしますm(_ _)m
返信数: 3
閲覧数: 332

Re: C言語でカレンダー作りたいです。アドバイスお願いしますm(_ _)m

コード:

    char *youbi[] = { "Su", "Mo", "Tu", "We", "Th", "Fr", "Sa" };
ここなんですけどね、仮に、曜日の出力形式が
Su Mo Tu We Th Fr Sa
てな具合に1とおりしかないのであれば、わざわざ配列にせずとも

コード:

    char *youbi = "Su Mo Tu We Th Fr Sa";
でよいです。どういう風に出力したいかは質問者さん次第。
by box
2週間前
フォーラム: C言語何でも質問掲示板
トピック: C言語でカレンダー作りたいです。アドバイスお願いしますm(_ _)m
返信数: 3
閲覧数: 332

Re: C言語でカレンダー作りたいです。アドバイスお願いしますm(_ _)m

あと、何でもかんでもmain()でやろうとしないこと。
main()は下請け関数を呼び出すことに専念して、
必要な処理はmain()から呼ばれた関数群で実施することがポイント。
by box
2週間前
フォーラム: C言語何でも質問掲示板
トピック: RLC回路の数値計算がエクセルとずれてしまいます
返信数: 4
閲覧数: 194

Re: RLC回路の数値計算がエクセルとずれてしまいます

つまりね、Excelでの処理内容と処理結果、
C言語による処理結果をともに提示しないと、
比較対象のしようがないってことです。
わかりますよね?
by box
2週間前
フォーラム: C言語何でも質問掲示板
トピック: RLC回路の数値計算がエクセルとずれてしまいます
返信数: 4
閲覧数: 194

Re: RLC回路の数値計算がエクセルとずれてしまいます

Excelではどういう処理をして
どういう結果を得たのか「も」提示しないと、
どうズレているかがこちらには判断できません。
by box
2週間前
フォーラム: C言語何でも質問掲示板
トピック: C言語でカレンダー作りたいです。アドバイスお願いしますm(_ _)m
返信数: 3
閲覧数: 332

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月...
by box
3週間前
フォーラム: C言語何でも質問掲示板
トピック: ポインタとアドレス
返信数: 7
閲覧数: 328

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...
by box
3週間前
フォーラム: C言語何でも質問掲示板
トピック: ポインタとアドレス
返信数: 7
閲覧数: 328

Re: ポインタとアドレス

関数f()には、main()て定義した配列array[]の先頭要素のアドレスっていう値(ここがちょっとややこしい)を
渡しています。
f()は配列の先頭要素のアドレスを受け取っていますので、f()の中で施した変更が
main()に反映されてます。
by box
3週間前
フォーラム: C言語何でも質問掲示板
トピック: ポインタとアドレス
返信数: 7
閲覧数: 328

Re: ポインタとアドレス

別に二段構えにしなくても…。

コード:

#include <stdio.h>

void f1(int *gn);

int main(void)
{
    int gn = 1234;

    f1(&gn);
    printf("%d\n", gn);
    return 0;
}

void f1(int *gn)
{
    *gn += 100;
}
by box
3週間前
フォーラム: C言語何でも質問掲示板
トピック: 最小値が出力できない、(ド素人質問です)
返信数: 5
閲覧数: 276

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; } ...
by box
3週間前
フォーラム: C言語何でも質問掲示板
トピック: 最小値が出力できない、(ド素人質問です)
返信数: 5
閲覧数: 276

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 >...
by box
3週間前
フォーラム: C言語何でも質問掲示板
トピック: 最小値が出力できない、(ド素人質問です)
返信数: 5
閲覧数: 276

Re: 最小値が出力できない、(ド素人質問です)

仕様の確認です。
10回数値を入力して
数字を入力して下さい(0で終了)
10回という回数が決まっているのか、0を入力するまでずっと
入力し続けるのか、どちらですか?
本質とはあまり関係ないかもしれませんが、コードを書く上ではずいぶん違ってくると思います。
by box
4週間前
フォーラム: C言語何でも質問掲示板
トピック: sqlite3_prepare_v2でエラー処理に入ってしまいます
返信数: 7
閲覧数: 386

Re: sqlite3_prepare_v2でエラー処理に入ってしまいます

sqlite系関数から返ってきたリターンコードを
printf()してみる、などという、最もシンプルな
デバッグ手法は試していますか?
by box
4週間前
フォーラム: C言語何でも質問掲示板
トピック: sqlite3_prepare_v2でエラー処理に入ってしまいます
返信数: 7
閲覧数: 386

Re: sqlite3_prepare_v2でエラー処理に入ってしまいます

SQLのど素人が横から失礼します。
投げているSQL文の
insert into MY_DATA values (?, ?, ?, ?);
?, ?, ?, ?の部分、本当にそれでいいんですか?
それとも伏せ字にしているだけですか?
by box
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: C言語でカレンダー
返信数: 6
閲覧数: 2057

Re: C言語でカレンダー

まずはコンパイルが通るように修正しましょう。
エラーメッセージをよく読んで、今のコードはどこが間違っているかを
よく調べてください。
by box
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: C言語でカレンダー
返信数: 6
閲覧数: 2057

Re: C言語でカレンダー

コンパイルが通らないコードだけを示して、何が質問したいのですか?
by box
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 中央値をifで
返信数: 4
閲覧数: 431

Re: 中央値をifで

データが3つしかないならif文でもよいかもしれませんが、
データがもっと多くなったときや個数が偶数の場合などに
対応することを考えると、別の回答にあるとおり
ソートして求める(関数を作る)のが妥当ではないかと思います。
by box
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 変数のスコープについて
返信数: 1
閲覧数: 352

Re: 変数のスコープについて

変数のスコープとは全然関係ないです。
関数の呼び出し・実行順は
1)mainの先頭でsub1を呼んでいる。
2)sub1の先頭でsub2を呼んでいる。
3)sub2でaの値を出力している。
4)sub1に戻り、cの値を出力している。
5)mainに戻り、bの値を出力している。
ってだけです。
by box
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: main関数の引数argvとcharについて
返信数: 4
閲覧数: 393

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...
by box
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: main関数の引数argvとcharについて
返信数: 4
閲覧数: 393

Re: main関数の引数argvとcharについて

argvはchar型の配列へのポインターだからです。
argvはchar型へのポインターの配列、と言った方が正確だったかな?
by box
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: main関数の引数argvとcharについて
返信数: 4
閲覧数: 393

Re: main関数の引数argvとcharについて

argvはchar型の配列へのポインターだからです。
argv[1]はchar型の配列の要素であり、型はchar *です。
by box
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 文字列を逆順に表示したい
返信数: 12
閲覧数: 821

Re: 文字列を逆順に表示したい

こんな例はいかが?

コード:

#include <stdio.h>
#include <string.h>

#define LEN (10)

int main(void)
{
    char moji[LEN];
    int i;

    printf("mojiretsu:"), fgets(moji, LEN, stdin);
    for (i = strlen(moji) - 2; i >= 0; i--) {
        putchar(moji[i]);
    }
    putchar('\n');
    return 0;
}
by box
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 違いを教えてください
返信数: 4
閲覧数: 586

Re: 違いを教えてください

コード:

 	int *w = 5;
ポインター変数wに、即値を直接代入することは未定義のはずです。
したがって、どんな結果が出ても不思議ではありません。
もし、アドレス値を出力したいのであれば、

コード:

#include <stdio.h>

int main(void)
{
    int *w;

    printf("%p\n", w);
    return 0;
}
な風にすればよいと思います。
by box
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 違いを教えてください
返信数: 4
閲覧数: 586

Re: 違いを教えてください

本当にprint関数を使っているんですか?
標準ライブラリーのprintf関数ではなくて?
もし、print関数が自作であるなら、そのコードを含めて
すべてのソースを正確に見せてください。
もし、printf関数を使っているのならば、そのコードを
正確に見せてください。まずはそこからです。
by box
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: バブルソートの結果がうまく表示されない
返信数: 4
閲覧数: 612

Re: バブルソートの結果がうまく表示されない

あと、元のコードで問題なのは、
外側のiに関するループは何をしてるんですか?ってことです。
比較にも何にも使ってないので、そのループ、なくていいんじゃないですか?
単に9回回ってるだけなんじゃないんですか?ってことです。
実際にはないと困るのですけれど。配列の比較時に必要なので。
by box
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: バブルソートの結果がうまく表示されない
返信数: 4
閲覧数: 612

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...
by box
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: バブルソートの結果がうまく表示されない
返信数: 4
閲覧数: 612

Re: バブルソートの結果がうまく表示されない

コード:

			if (a[j] > a[j + 1]) {
ここでは、a[j]とa[j + 1]の大小関係を比べている。
ところが、大小関係を比べた結果、

コード:

				temp = a[j]; 
				a[j] = a[j - 1]; 
				a[j - 1] = temp;
a[j]とa[j - 1]を入れ替えている。
何だか矛盾していませんか?
by box
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 関数ポインタの仕組みについて
返信数: 2
閲覧数: 982

Re: 関数ポインタの仕組みについて

関数はメモリに保存されているのでしょうか?
だって、何らかのアドレスを持っている(メモリー中のどこかにある)からこそ
呼び出せるわけでしょ?
by box
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: c++ リンクエラー
返信数: 5
閲覧数: 1209

Re: c++ リンクエラー

multiple definition of `main'
main関数の定義が複数ある、と言っています。
if ($?) { g++ main.cpp *.cpp -o main } ; if ($?) { .\main }
試しにmain.cppの記述をはずしてみたらどうなるでしょうか。
by box
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: c++ リンクエラー
返信数: 5
閲覧数: 1209

Re: c++ リンクエラー

ビルド時のコマンドを提示してください。
sample.cpp
を正しくコンパイルできているでしょうか。
リンカーからのメッセージは、
set()
とか
get()
とかを呼んでるけど実体がないよ、って言っています。
by box
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 浮動小数点にの計算について
返信数: 2
閲覧数: 1059

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...
by box
4ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 関数ポインター
返信数: 2
閲覧数: 1167

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...
by box
4ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 関数ポインター
返信数: 2
閲覧数: 1167

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...
by box
4ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 乱数から最大値と最小値を求める
返信数: 3
閲覧数: 1204

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...
by box
4ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 乱数から最大値と最小値を求める
返信数: 3
閲覧数: 1204

Re: 乱数から最大値と最小値を求める

コード:

    int b[10];
こう書いたとき、配列bの添字として有効なのは
0~9の10個です。
したがって、

コード:

    for(a=1; a<=10; a++){
このループの回し方が間違っていますので、

コード:

    for (a = 0; a < 10; a++) {
または

コード:

    for (a = 0; a <= 9; a++) {
としなければなりません。まあ普通は前者でしょう。
by box
4ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 質問
返信数: 5
閲覧数: 1274

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("検索する文字を入力>")...
by box
4ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 質問2
返信数: 4
閲覧数: 1260

Re: 質問2

ユーザが指定した文字を探してその文字が含まれている個数を返すプログラム
話題が全然違うので、別のトピックを作りましょう。
その際、タイトルは「質問」なんかではなく、投稿の内容を端的に示す具体的なものにしましょう。
他のトピックを見てみてください。

入力例と出力例をいくつか挙げてください。
何をしたいのかイマイチピンと来ません。
by box
4ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 質問
返信数: 7
閲覧数: 1493

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...
by box
4ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ヘッダファイルについてうまくいかない
返信数: 25
閲覧数: 3051

Re: ヘッダファイルについてうまくいかない

window.cpp
の2行目に
#include "window.h"
と書いたらどうなりますか?
by box
4ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: for文とscanf関数を用いて行列計算プログラムをうまく作れない
返信数: 3
閲覧数: 1280

Re: for文とscanf関数を用いて行列計算プログラムをうまく作れない

列方向に入力させようとしているところに
違和感がぬぐえないのは当方だけ?
by box
5ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: nの階乗を求めるプログラム
返信数: 4
閲覧数: 1235

Re: nの階乗を求めるプログラム

少なくとも下記のコードではfor文の初期値は1でも2でもOKです。
もちろん、int型でオーバーフローしない範囲のnにおいては、ということです。
by box
5ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: nの階乗を求めるプログラム
返信数: 4
閲覧数: 1235

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; }
by box
6ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: C言語について質問
返信数: 2
閲覧数: 1794

Re: C言語について質問

質問者さんの疑問が解決するかどうかはわかりませんが、

コード:

    srand((unsigned)time(NULL));
このコードはmain関数の先頭で「1回だけ」実行すればいいのではないでしょうか。
neuron_learning関数で、毎回乱数の種を初期化する必要はどこにあるのでしょうか。
by box
6ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 質問
返信数: 1
閲覧数: 730

Re: 質問

• 入力された数が 1988 以下の数の場合は再入力を要求する
まずは、この仕様をみたすinputYear関数を作ることを考えましょうか。
inputYear関数では、do ~ while ループか何かを使って、
誤った入力をしている間は再入力を促し、1989以上の整数値を入力したら
その値を呼び出し元に返すとよいでしょう。
引数の有無、戻り値をどうするか、考えてみましょう。
by box
6ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: アドレス帳を作っています。
返信数: 6
閲覧数: 2358

Re: アドレス帳を作っています。

えっと、まさか、
main()のNerror

Bytecheck()のNerror

同じだとは思ってませんよね?
両者は、ともにその関数内のローカル変数ですので、
別々の場所(アドレス)にありますよ。名前は同じですが、ひも付けはありません。

あと、なんでもかんでもmain()に押し込んでいるのが気になります。
main()は司令塔の役割を果たすだけにして、
データ入力用の関数とか表示用の関数とかに分割する方が
プログラム全体の見通しがよくなると思うんですけど。
仮に自分が質問者さんの上司か何かなら、
「設計やり直し!」
って言うところです。
by box
6ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: アドレス帳を作っています。
返信数: 6
閲覧数: 2358

Re: アドレス帳を作っています。

コード:

		Bytecheck(bytesu);					//バイト数のチェックをする
		Bytecheck(bytesu);
		Bytecheck(bytesu);
戻り値を捨てているのはどうしてですか?

コード:

    Nerror = Bytecheck(bytesu);
のようにして、戻り値をきちんと受け取らないとまずくないですか?
by box
7ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: C言語[ポインタ変数を使用したプログラムの修正]
返信数: 3
閲覧数: 1912

Re: C言語[ポインタ変数を使用したプログラムの修正]

11行目:前「p++」→後「(*p)++」
これが最悪の改修です。
これは、配列の先頭要素である1.6を出力した後、
「その値に1を加え」た値を

コード:

while (*p > 0)
である間ずっと出力し続けますので、
1.6
2.6
3.6
4.6
...
と無限に出力されます。
by box
7ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: C言語[ポインタ変数を使用したプログラムの修正]
返信数: 3
閲覧数: 1912

Re: C言語[ポインタ変数を使用したプログラムの修正]

修正の一例です。

コード:

#include <stdio.h>

int main(void)
{
    double data[] = { 1.6, 5.3, -1.5, 8.2, 1.7, -4.0, 1.8, 1.6, 0 };
    double *p;

    for (p = data; *p; p++) {
        printf("%0.1f\n", *p);
    }
    return 0;
}
by box
7ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: C言語 戻り値をもたない関数voidを使った課題
返信数: 3
閲覧数: 1942

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...
by box
7ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 大学の数学の問題集ってないんですか?
返信数: 3
閲覧数: 2323

Re: 大学の数学の問題集ってないんですか?

高校ではチャートをやってましたが、大学でも同じような問題集はないのでしょうか?
数研出版から
チャート式 大学教養微分積分
チャート式 大学教養線形代数
という大学生向けの参考書が出てますが、
それが質問者さんのニーズに合うかどうかはわかりません。
興味があれば数研出版のサイトへ行ってみてください。
by box
8ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 原因不明
返信数: 3
閲覧数: 2456

Re: 原因不明

コード:

	char space[15][61];  /*[行][列]*/
spaceはいわゆる2次元配列なのに

コード:

		printf("%s\n", space[i]);
ポインター値を%sで出力するって、これは何がしたいんですか?
by box
8ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: C言語 原因がわからない
返信数: 1
閲覧数: 2202

Re: C言語 原因がわからない

各々の点数や合計点がint型なのはいいとして、 平均点や偏差値といった小数点以下の値を取る変数がint型でいいんでしょうか。 自分ならdouble型にします。 それから、aとかbとかcとかxとか、一見何を表わしているのかわかりづらい変数名は やめとく方がいいと思います。 例えば、国語の点数はjpn, 数学の点数はmath, 英語の点数はeng, 国語の平均はavg_jpn, 数学の平均はavg_math, 英語の点数はavg_engといった具合に パッと見てイメージしやすい名前を付けるだけでもずいぶん見通しがよくなると思いますが いかがでしょう。 「名は体を表す」という言葉は、変数名を付けると...
by box
8ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: C++ 表示が思う通りにいかない
返信数: 4
閲覧数: 2873

Re: C++ 表示が思う通りにいかない

筆算(足し算)をしたい
のに、
入力>123
1個だけの入力でホントにいいんですか?
足される数と足す数の2個の入力をしなくてホントにいいんですか?
by box
8ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 数学の質問
返信数: 6
閲覧数: 2966

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
には、どう転んでもなりません。
by box
8ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 数学の質問
返信数: 6
閲覧数: 2966

Re: 数学の質問

ここを見ている人がすべからくプラチカを持っているとは限らないので、
どうしてもここで続けたければ、その問題を、句読点や改行を含めて
今一度正確にあげていただけますか?
あるいは、ここよりもYahoo!掲示板とかOKwaveとかの数学カテゴリーへ行った方が
いいのかもしれません。画像貼れるはずですから。
by box
8ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 数学の質問
返信数: 6
閲覧数: 2966

Re: 数学の質問

①から②にはならないと思います。
問題の写し方が間違ってないですか?
by box
8ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: C言語の基礎がわかりません。
返信数: 3
閲覧数: 2671

Re: C言語の基礎がわかりません。

この問題で詰まってしまいました。
手で計算するとしたらどうするかっていう話なんですけど...。
by box
9ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 関数の外にあるブロック文の扱い?について
返信数: 6
閲覧数: 3052

Re: 関数の外にあるブロック文の扱い?について

これがコードの全体
ホントに?
main関数の閉じカッコがないんですが...。
by box
10ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 文字列比較のアルゴリズムについて
返信数: 4
閲覧数: 4116

Re: 文字列比較のアルゴリズムについて

ロジック以前の話としておかしいのは

コード:

 s1[i]='1';
 s2[i]='1';
 s_cmp[i]='1';
 for(i=0;s1[i-1]!= '2';i++)scanf("%c",&s1[i]);//二つの文字列を読み込みます
 for(j=0;s2[j-1]!='2';j++)scanf("%c",&s2[j]);
比較したい文字列に'1'や'2'を含めたいときはどうするんでしょうね?ってことです。
なので全面的に見直したコードを載せました。
aiueoとoeuiaを同一視したいのであれば、比較する前にソートすりゃいいじゃん、ってことです。
by box
10ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 連結リストにおける重複要素の削除方法について
返信数: 2
閲覧数: 2941

Re: 連結リストにおける重複要素の削除方法について

コード:

current=d;
current2=d;
DATA型の値をDATA *型へ代入しようとしていますが、正しいですか?

コード:

printf("%d %d %d %d\n",d.next->data
構造体にdataっていうメンバーはありませんが、いいんですか?
by box
10ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 連結リストにおける重複要素の削除方法について
返信数: 2
閲覧数: 2941

Re: 連結リストにおける重複要素の削除方法について

コード:

}DATA
ここにセミコロンがなくていいんですか?
by box
10ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 文字列比較のアルゴリズムについて
返信数: 4
閲覧数: 4116

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]); } } } }...
by box
10ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: Segmentation fault (core dumped)の解決方法
返信数: 4
閲覧数: 3507

Re: Segmentation fault (core dumped)の解決方法

コード:

  char *str;
まあ通常は適切なサイズの配列にするんでしょうね。
バッファーオーバーフローへの対応をすべきかどうかはお任せします。
by box
10ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 課題について
返信数: 3
閲覧数: 3522

Re: 課題について

identifierを付け忘れています。というエラー
コードの何行目で出ているんですか?
by box
10ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 課題について
返信数: 3
閲覧数: 3522

Re: 課題について

codeと/codeで囲んだコードがこちらにありましたね。
maxof()とminof()を呼び出してないのはなぜですか?

コード:

min = in > b[i] ? b[i] : min;[/code/[/quote]
ここのinが直ってないので直しましょう。
by box
10ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 課題について
返信数: 2
閲覧数: 1515

Re: 課題について

コード:

min = in > b[i] ? b[i] : min;
後、ここのinは変数名が間違ってるのではないでしょうか。
by box
10ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 課題について
返信数: 2
閲覧数: 1515

Re: 課題について

ここの掲示板の仕様で、配列のインデックスであるiを[と]で囲むと
勝手に斜体にするというよけいなお世話をしてくれますので、コード全体を、この掲示板の
先頭にあるようにcodeタグと/codeタグで囲んで、現状お持ちのコードを正確に提示してください。
by box
10ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: int型からchar*にする方法を教えて下さい、、、
返信数: 6
閲覧数: 3731

Re: int型からchar*にする方法を教えて下さい、、、

解決していたら何よりですが、英語のエラーメッセージを見て
わけわかめ状態になっていたりはしませんか?
Instead, use the ISO C and C++ conformant name: _itoa.
Consider using sprintf_s instead.
詳細は割愛しますが、要は、itoa()のかわりに_itoa()を、
sprintf()のかわりにsprintf_s()を使ってみたらどうですか?
って言ってくれてます。
by box
10ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: csvファイルの読み込み
返信数: 4
閲覧数: 1805

Re: csvファイルの読み込み

くだんのコードでは1行目しか読んでいないように見えますが、
それでいいんですね?
by box
10ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: csvファイルの読み込み
返信数: 4
閲覧数: 1805

Re: csvファイルの読み込み

csvファイルはドキュメントに入れています。
置いてある場所が正しくないのでは?
開発環境によって異なると思いますが、通常は、
ソースコードがあるフォルダーや
実行ファイルがあるフォルダーに置くことが多いと思います。

というわけで、何を使って開発しているかを提示していただけますと、
同じものを使っている識者の方々から有益な回答が来るかもしれませんし
来ないかもしれません。
by box
11ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題です
返信数: 4
閲覧数: 2385

Re: 学校の課題です

コード:

    person p[3];

コード:

    person p[N];
とするべきですね。
なお、くだんのサンプルコードはご自由に改変してくださってかまいません。
by box
11ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題です
返信数: 4
閲覧数: 2385

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("名前 番号 点数>"); ...
by box
11ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 仮引数を受け取らない関数について
返信数: 3
閲覧数: 3466

Re: 仮引数を受け取らない関数について

グローバル変数でやったらできました!
そのくらいの小さいプログラムならばまだいいですが、
ある程度以上の規模のプログラムではグローバルはなるべく使わない方が
無難だと思います。
なぜなら、どの関数からでも参照・変更ができてしまうので、
思わぬところで変更されていたりするとそれを見つけるのが
なかなかむずかしかったりしますから。
その辺の危険性をよくわかった上で使ってください。
by box
11ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 課題を教えてください
返信数: 4
閲覧数: 3775

Re: 課題を教えてください

2. 以下の関数は使用しないこととありますがm_sort.cで使用してるから、それを自分で作成した関数に置き換えることと読めますが。
これは読み間違いですね。
大文字小文字が混在しているcharの箇所「だけ」着目すればよいのであって、
当該ソースの他の箇所は「そのまま」書き出せばよいのです。

詳細検索ページへ移動する