検索結果 1997 件

by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: for文とscanf関数を用いて行列計算プログラムをうまく作れない
返信数: 3
閲覧数: 3434

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

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

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

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

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

Re: C言語について質問

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

コード:

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

Re: 質問

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

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

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

Bytecheck()のNerror

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

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

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

コード:

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

コード:

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

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

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

コード:

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

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 戻り値をもたない関数voidを使った課題
返信数: 3
閲覧数: 3791

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

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

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

Re: 原因不明

コード:

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

コード:

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

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

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

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

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

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: 数学の質問
返信数: 6
閲覧数: 5162

Re: 数学の質問

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

Re: 数学の質問

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

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

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

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

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

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: 連結リストにおける重複要素の削除方法について
返信数: 2
閲覧数: 4145

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

コード:

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

コード:

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

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

コード:

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

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: Segmentation fault (core dumped)の解決方法
返信数: 4
閲覧数: 7052

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

コード:

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

Re: 課題について

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

Re: 課題について

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

コード:

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

Re: 課題について

コード:

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

Re: 課題について

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

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: csvファイルの読み込み
返信数: 4
閲覧数: 2991

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

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

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

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

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

Re: 学校の課題です

コード:

    person p[3];

コード:

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

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: 仮引数を受け取らない関数について
返信数: 3
閲覧数: 4618

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

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

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

2. 以下の関数は使用しないこととありますがm_sort.cで使用してるから、それを自分で作成した関数に置き換えることと読めますが。
これは読み間違いですね。
大文字小文字が混在しているcharの箇所「だけ」着目すればよいのであって、
当該ソースの他の箇所は「そのまま」書き出せばよいのです。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 2次元配列の作り方を教えてください。
返信数: 5
閲覧数: 5574

Re: 2次元配列の作り方を教えてください。

2次元配列の定義、値の格納、値の出力が正しくできる最低限のコードを書きたのはやまやまなのですが、調べても出てこなくて
それは調べ方がよろしくないのでは?
「C言語 2次元配列」あたりでググってみると、それこそ山ほど出てきますよ。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 2次元配列の作り方を教えてください。
返信数: 5
閲覧数: 5574

Re: 2次元配列の作り方を教えてください。

二次元配列を作りたいのですがどうもうまくいきません。
どんなコードを書いたときにどんな風にうまくいかないのかを書いてほしいところですが、
ともあれ、ゲームとはいったん切り離して、2次元配列の定義、値の格納、値の出力が
正しくできる最低限のコードを書いてみてはどうでしょうか。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: C# 五目並べが上手くいかない
返信数: 5
閲覧数: 5340

Re: C# 五目並べが上手くいかない

2次元の盤面の一つ一つの場所に数値を当てはめて(例えば10*10の盤面だったら0~99とか)、
そこに石が置いてあるかどうかをon/offで管理します。
コンピューターの手番になったとき、乱数によって
盤面のうち一つの場所を決め、そこがあいていれば
石を置き、あいてなければ別の乱数を発生させて場所を決めて石を置く
(石を置けるまでくり返す)ようにしてみてはどうでしょう。

p.s.
ただ、これだと、コンピューターには何の戦略もありませんので、
プレイヤーが連戦連勝になる気がします。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列から文字を探すプログラム
返信数: 3
閲覧数: 4677

Re: 文字列から文字を探すプログラム

ここを

コード:

scanf("%c", &c);
scanf(" %c", &c);
こうしてみるとか...。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: C# 五目並べが上手くいかない
返信数: 5
閲覧数: 5340

Re: C# 五目並べが上手くいかない

プレイヤーの入力のみになっていて、敵側が石を置くことができません。
敵側というのはコンピューターのことですか?だとすると、プレイヤーの打った手や
盤面の状況などによって最善手あるいはそれに近い手を選ぶためのアルゴリズムは
メチャクチャむずかしいと思います。少なくとも当方にはできません。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: c言語 問題の意味すら分かりません プログラムと問題の意味を教えてください
返信数: 2
閲覧数: 4451

Re: c言語 問題の意味すら分かりません プログラムと問題の意味を教えてください

ちょっとしたサンプルコードを書いてみました。読めますか? #include <stdio.h> #include <string.h> #define N (100) void inputData(char *s) { printf("データを入力してください:"), fgets(s, N, stdin); s[strlen(s)-1] = '\0'; } void outputData(char *s) { int i; for (i = 0; s[i]; i++) { switch (s[i]) { case 'T': putchar(' '), putchar(' '); break; ...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: c言語 問題の意味すら分かりません プログラムと問題の意味を教えてください
返信数: 2
閲覧数: 4451

Re: c言語 問題の意味すら分かりません プログラムと問題の意味を教えてください

C言語のスキルはどのくらいありますか?
なにがしかのプログラムを書いたことはありますか?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題 文字配列
返信数: 9
閲覧数: 7116

Re: 学校の課題 文字配列

とりあえず無限ループはいらないと思いますので、やめときましょう。 #include <stdio.h> int main(void) { char input[9], string[][9] = { "ヒロシ", "サトシ", "アキコ", "ユウコ" }; int i, j, result = 0; printf("メンバー:ヒロシ,サトシ,アキコ,ユウコ\n"); printf("名前を入力してください:"); scanf("%s", input); for (i = 0; i < 4; i++) { for (j = 0; j < 9; j++) { if (input[j] != st...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題 文字配列
返信数: 9
閲覧数: 7116

Re: 学校の課題 文字配列

仮に禁止されているとしても、
strcmp 自作
とか
C言語 文字列比較 自作
とかのキーワードでググってみると、
実装のサンプルがいくらでも見つかると思います。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題 文字配列
返信数: 9
閲覧数: 7116

Re: 学校の課題 文字配列

文字列を比較するための標準関数
strcmp()
を使う、というのは禁止されているのですか?
もし使ってよいのであれば、無理に自作するよりは
よほど安定した結果が得られると思うのですが...。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題2
返信数: 11
閲覧数: 8321

Re: 学校の課題2

read file error
開発環境によって、読み込み用のファイルの置き場所が異なるようです。
ソースファイルと同じ場所でなければなかったり、
実行ファイルと同じ場所でなければなかったりするみたいです。
読み込みファイルの置き場所を変えてみてください。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題を教えてください2
返信数: 1
閲覧数: 3624

Re: 学校の課題を教えてください2

うまくいきません。
「何をしたとき」
「どのように」
うまくいかないかを具体的に書いてください。

comp()の実体が2つありますが大丈夫ですか?
クイックソートの結果をwordlist_q.txtに書き込むコードがないように見えますが大丈夫ですか?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 結果が思った数字にならない件について
返信数: 4
閲覧数: 4940

Re: 結果が思った数字にならない件について

Butterさんからの返信にはどう対応しますか?

コード:

    int i, F[n+1];
    F[1]=1;
    for(i=0;i<=n+1;i++)
        F[i+2]=F[i+1]+F[i];
F[n+1]という定義をしているので、正しく参照できるのは
F[0]~F[n]の範囲です。それに対し、ループの中で
iがn-1になったとき
F[n+1]という定義範囲外の領域にアクセスするという悪さをしています。
これ、大丈夫ですか?という返信ですよ。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題2
返信数: 11
閲覧数: 8321

Re: 学校の課題2

https://qiita.com/softnakikaiya/items/d ... 913e1038a1
に、fopen_sをfopenのかわりに使うときのやり方がかいてあります。
その他、
fopen_s 使い方
あたりのキーワードでググってみると、いろんなことがわかると思います。

p.s.
fopen_sって、確かマイクロソフト社の処理系の独自関数だったような気が...。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 結果が思った数字にならない件について
返信数: 4
閲覧数: 4940

Re: 結果が思った数字にならない件について

下のコードの#define MAX が1のとき2のとき3以上のときでFibo()の結果が変わってしまいます。 そりゃ変わるでしょうね。 1文字っていうと改行コードしか受け取れないし、 2文字っていうと1桁の数値しか受け取れないし、 3文字っていうと2桁までの数値しか受け取れないですが、 そのあたりは大丈夫ですか? int i, F[n+1]; F[1]=1; for(i=0;i<=n+1;i++) F[i+2]=F[i+1]+F[i]; ループの中で、 初期化していないF[0]を参照してしまっていますが、 大丈夫ですか?たまたまゼロかもしれないし、そうでない変な値かもしれませんよ。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題2
返信数: 11
閲覧数: 8321

Re: 学校の課題2

さすがにmain()に何でもかんでもやらせるのはちょっとアレなので... #include <stdio.h> #include <stdlib.h> typedef struct anthrop { int id; char initial[3]; double height; double weight; } anthrop; void openFile(FILE **fp) { *fp = fopen("bodydata.dat", "r"); if (!*fp) { fprintf(stderr, "read file error!\n"); exit(1); } } int inpu...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題2
返信数: 11
閲覧数: 8321

Re: 学校の課題2

きたないコードですが… #include <stdio.h> #include <stdlib.h> typedef struct anthrop { int id; char initial[3]; double height; double weight; } anthrop; int main(void) { anthrop bodydata[10]; FILE* fp; int num, i; fp = fopen("bodydata.dat", "r"); if (!fp) { fprintf(stderr, "read file error!\n"); exit(1); } fsc...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: else文が機能しない
返信数: 3
閲覧数: 4458

Re: else文が機能しない

コード:

if (a > 80) {
		printf("20以上80未満です"); //  正の数だった場合に実行
if文の内容とprintf()で出力している内容とコメントの内容が
すべて食い違っています。ホントは何がしたいんですか?

コード:

	else if (a < 19)
	{
		printf("20以下です");
ここもそう。
19未満と20以下は、中身が全く違います。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 行列の和・差・積を繰返し計算する電卓を作成する課題を解いてます。
返信数: 3
閲覧数: 4899

Re: 行列の和・差・積を繰返し計算する電卓を作成する課題を解いてます。

あと、行列の積って、確か
かけられる側の列数とかける側の行数が
同じでないと計算できないはずなので、
そこら辺のチェックが必要かも。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 行列の和・差・積を繰返し計算する電卓を作成する課題を解いてます。
返信数: 3
閲覧数: 4899

Re: 行列の和・差・積を繰返し計算する電卓を作成する課題を解いてます。

for文の間違いは直せたとして、 void matrix_add(struct matrix A, struct matrix B, struct matrix* C) C[i][j] = a[i][j] + b[i][j]; void matrix_sub(struct matrix A, struct matrix B, struct matrix* C) C[i][j] = a[i][j] - b[i][j]; void matrix_mul(struct matrix A, struct matrix B, struct matrix* C) C[i][j] = a[i][j] * b...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 行列の和・差・積を繰返し計算する電卓を作成する課題を解いてます。
返信数: 3
閲覧数: 4899

Re: 行列の和・差・積を繰返し計算する電卓を作成する課題を解いてます。

コード:

	int 行;
	int 列;
悪いことは言わんので、マルチバイト文字の変数名は使わない方がよい。

コード:

	for ("i=0;P.行>i;i++")
		for ("j=0;P.列>j;j++")
	for ("i=0;P.行>i;i++")
		for ("j=0;P.列>j;j++")
	for ("i=0;P.行>i;i++")
		for ("j=0;P.列>j;j++")
そりゃダブルクォーテーションで囲ったら動きませんわ。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの読み書き
返信数: 3
閲覧数: 4619

Re: テキストファイルの読み書き

1行4列限定ならばこんなのでいいかも。 ただし、読み込むファイルの置き場所は注意が必要そうです。 開発環境によって置くべき場所が異なると思いますので。 当方の環境ではソースファイルと同じ場所でOKでした。 #include <stdio.h> #include <stdlib.h> #define N (4) void inputData(int num[]) { FILE *fp; fp = fopen("read.txt", "r"); if (!fp) { fprintf(stderr, "read file open error! operation denied.\n"); exit...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 乱数でいくつかの弾を同時に落としたい
返信数: 4
閲覧数: 4863

Re: 乱数でいくつかの弾を同時に落としたい

rand()の使い方について、
当方の稚拙な知識では、
乱数の種を初期化してから
rand()を呼ぶ、
というやり方しか知りません。

質問者さんの今のコードには
初期化の部分が見当たらないように
思えますが、そこはそれで
いいんですね?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題
返信数: 14
閲覧数: 8432

Re: 学校の課題

lmsq関数に、meanxやmeanyで計算した
mxやmyの値を渡さなくていいんですか?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: sin,cos,tanのマクローリン展開について
返信数: 1
閲覧数: 3915

Re: sin,cos,tanのマクローリン展開について

まずはマクローリン展開についてググってみましょう。
三角関数などの複雑な関数をn次式の和で近似できることがわかり、
かつ、微分をどうプログラミングすればいいかはわからなくてもいいことが
わかるでしょう。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの読み書き
返信数: 3
閲覧数: 4619

Re: テキストファイルの読み書き

数値が書かれたテキストファイル
何行ありますか?また、1行あたりいくつの数値が並んでいますか?
合計は最後の行に追加します。

20,21,4,27 → 20,21,4,27,72
最後の「列」でいいですね?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題
返信数: 14
閲覧数: 8432

Re: 学校の課題

コード:

	a = lmsq(x, y, n, &a, &b);
	b = lmsq(x, y, n, &a, &b);
何度も指摘されているように、lmsq関数の型はvoidなので、戻り値を取れません。
つまり、右辺に来ることはできません。

コード:

lmsq(x, y, n, &a, &b);
lmsq(x, y, n, &a, &b);
としたらどうですか?と言われています。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の足し算
返信数: 4
閲覧数: 5041

Re: 配列の足し算

#include <stdio.h> #define N (3) void inputData(int *a1, int *a2) { int i; for (i = 0; i < N; i++) { printf("arr1 %d番目の値 = ", i + 1), scanf("%d", a1 + i); printf("arr2 %d番目の値 = ", i + 1), scanf("%d", a2 + i); } } void getSumArray(int *a1, int *a2, int *s) { int i; for (i = 0; i < N; i++) { *(s + i)...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題
返信数: 14
閲覧数: 8432

Re: 学校の課題

自分でもやってみたのですがエラーが出てしまい出来ません。
何をしたときにどんなエラーが出たかを詳しく示してください。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の足し算
返信数: 4
閲覧数: 5041

Re: 配列の足し算

初期値0
どこで初期値を設定していますか?
任意の値を入力
どこで入力していますか?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の暴走
返信数: 1
閲覧数: 3779

Re: 配列の暴走

別に暴走でも何でもないと思うが…。 #include <stdio.h> int main(void) { int i, x, max[2] = { 0, 0 }; while (1) { printf("整数を入力>"); scanf("%d", &x); if (x < 0) break; else if (x > max[0]) { max[1] = max[0]; max[0] = x; } else if (x > max[1]) max[1] = x; } for(i = 0; i < 2; i++) { printf("%d位:%d\n", i + 1, max[i]); } r...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 数列
返信数: 4
閲覧数: 5359

Re: 数列

どのように計算すればいいのですか
その数列の一般項の分母にあたる
2i+1
を適切に計算するコードを追加する。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 数列
返信数: 4
閲覧数: 5359

Re: 数列

#include <stdio.h> int getIteration(void) { int n; do { printf("0以上の整数を入力> "); scanf("%d", &n); if (n >= 0) break; printf("入力エラー\n"); } while (n < 0); return n; } double calcPI_4(int n) { double sum, x; int i; for (sum = i = 0; i <= n; i++) { x = 2 * i + 1; if (i % 2 != 0) x = -x; sum += 1 / x; } r...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: じゃんけんのためのじゃんけん
返信数: 9
閲覧数: 8042

Re: じゃんけんのためのじゃんけん

当方が思うには、1回のジャンケンでどっちが勝とうが負けようがあいこになろうが、 次の勝負のときに出そうとするメッセージは勝負開始の合図だけでいいような気がするんですが…。 あいこの場合を特別視しすぎているように感じます。 質問者さんの希望している仕様を満たそうとすると、  1)直前の勝負があいこであったかどうかをON/OFFで管理する変数  2)その変数がONであるとき、間違った入力の回数を管理する変数(この変数の値が2であるときに「あいこでしょ」を出力する必要がある) がおそらく必要となり、ジャンケンの結果と本質的に関係ないところではっきり言ってムダな処理を しようとしているように思います。...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: じゃんけんのためのじゃんけん
返信数: 9
閲覧数: 8042

Re: じゃんけんのためのじゃんけん

あいこになり、二度0, 1, 2, 3以外の値を入力したときにあいこでしょの表示になりません。じゃんけんぽんと出てしまいます。
あいこになり、一度0, 1, 2, 3以外の値を入力したときにはどうなってほしいですか?
あいこになり、三度以上0, 1, 2, 3以外の値を入力したときにはどうなってほしいですか?
「二度」と限定している理由は何ですか?
それから、「今の」ソースコードを見せずに改善してほしいっていわれましても、
いかんともしがたいです。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: じゃんけんのためのじゃんけん
返信数: 9
閲覧数: 8042

Re: じゃんけんのためのじゃんけん

1あいこになる
2あいこでしょの表示
3再度入力する際にグー、チョキ、パー以外をだす
4注意を表示
52へ仕切り直し
あとは、これらの処理にフラグをいつ立てていつリセットするか、
0, 1, 2, 3以外の値を入力したときに適切なメッセージを
どうやって出力するかを追加すれば、ロジックの完成ですね。
そうすれば、それをコードへ落とし込めば完成です。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: じゃんけんのためのじゃんけん
返信数: 9
閲覧数: 8042

Re: じゃんけんのためのじゃんけん

あいこになった後に間違った入力をしたらそのように表示します
まだよくわかりません。
間違った入力をしたということは、プレイヤーの選択はグーでもチョキでもパーでも終了でもない、
ということですよね?つまり、勝負をしている状況にないわけですよね?
なのに「あいこでしょ!」という表示を出すのはおかしくないですか?

それとも、1回でもあいこがあったならばその状況を覚えておく、ということですか?
もしそうだとすると、覚えておく必要性は何ですか?
過去の勝ち・負け・あいこがどうであろうと、それ以降の勝負には関係ないのではありませんか?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: じゃんけんのためのじゃんけん
返信数: 9
閲覧数: 8042

Re: じゃんけんのためのじゃんけん

「グー・チョキ・パーを出して下さい あいこでしょ!」と表示したいです
間違った入力をしたのに「あいこでしょ!」って表示するのは
おかしくないですか?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 平均と標準偏差を求める
返信数: 6
閲覧数: 5726

Re: 平均と標準偏差を求める

とりあえず配列を使いましょうよ。
データが100個あったらどうしますか?

コード:

int x1, x2, x3, x4, (略) , x100;
って定義するんですか?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 標準偏差がマイナスになってしまいます
返信数: 6
閲覧数: 5292

Re: 標準偏差がマイナスになってしまいます

ああ空文とみなすだけか…。でも何か気持ち悪い…。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 標準偏差がマイナスになってしまいます
返信数: 6
閲覧数: 5292

Re: 標準偏差がマイナスになってしまいます

コード:

for(i=0;i<=4;i++){;
こんなところにセミコロンがあって、本当に大丈夫ですか?
自分にはそうは思えません。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 評価値,整数値
返信数: 4
閲覧数: 5113

Re: 評価値,整数値

他の質問に付いている回答に対して、適切にレスしてくださいね。解決したとかしてないとか。ここがまだわからんとか。
答えもらいっぱなしじゃダメですよ。掲示板っていうメディアはそういうところですから。

1.処理系に依存し、必ず1とは言い切れない。
2.正しい。
3.正しい。
4.誤り。
5.1以外の整数でもよい。
6.正しい。
7.正しい。
8.誤り。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 条件
返信数: 8
閲覧数: 6950

Re: 条件

ていうか、過去のいくつかの質問に回答が付いてるわけだが、
それで問題が解決したかどうかの返事くらいよこせよ。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 条件
返信数: 8
閲覧数: 6950

Re: 条件

5つもエラー出ねぇよ
5つって何のことかよくわからんけど、
質問するときは、
「こんな入力をしてみたら」
「自分はこうなると思ったけど」
「考えに相違してこうなった」ってことなんかを
『具体的に』書くんです。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: エラーコード不明について
返信数: 1
閲覧数: 3608

Re: エラーコード不明について

たぶん、
OUTPUT
HIGH
LOW
あたりに適切な値が入っていないからだと思います。
それから、コードを貼るときは、適切にタグで挟んでください。
やり方はフォーラムルールを見てください。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: if文の問題です…
返信数: 4
閲覧数: 4789

Re: if文の問題です…

もっと遊んでみた。 #include <stdio.h> int getHour(void) { int hour; printf("時間を入力> "); scanf("%d", &hour); return hour; } int calcFee(int hour) { int fee = 1500 * (hour / 24 + ((hour % 24 == 0) ? 0 : 1)); if (hour <= 24) fee = ((fee = 80 * hour) > 1500) ? 1500 : fee; return fee; } void printFee(int fee) { pr...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: if文の問題です…
返信数: 4
閲覧数: 4789

Re: if文の問題です…

main()は他の関数を呼び出すだけにしたのと、 calcFee()の仕様を一部見直してみました。 p.s. 変数名は(自作関数名も)意味のあるものにしましょう。 aとかbとかcとかじゃ何のことかわかりません。>質問者さん #include <stdio.h> int getHour(void) { int hour; printf("時間を入力> "); scanf("%d", &hour); return hour; } int calcFee(int hour) { int fee; fee = 1500 * (hour / 24 + ((hour % 24 == 0) ? 0 : 1)...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: if文の問題です…
返信数: 4
閲覧数: 4789

Re: if文の問題です…

たぶん合ってるんじゃないかと思いますがどうでしょう…。 #include <stdio.h> int getHour(void) { int hour; printf("時間を入力> "); scanf("%d", &hour); return hour; } int calcFee(int hour) { int fee; if (hour <= 24) { fee = 80 * hour; if (fee > 1500) { fee = 1500; } } else { fee = 1500 * (hour / 24 + ((hour % 24 == 0) ? 0 : 1)); } ret...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: じゃんけん
返信数: 1
閲覧数: 1960

Re: じゃんけん

なんでプレイヤーの手もランダムに決めさせるんですかね? 手で入力したいんじゃないんですか? #include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) { int player, computer; srand((unsigned int) time(NULL)); computer = rand() % 3 + 1; do { printf("your hand(1:stone, 2:scissors, 3:paper) > "); scanf("%d", &player); if (player != 1 ...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 計算が途中で落ちてしまいます
返信数: 1
閲覧数: 3250

Re: 計算が途中で落ちてしまいます

少なくともソースコードは開示していただきたいですね。権利関係で問題なければ。
だって、「落ちます」だけでどんな回答ができると思いますか?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: while文 数列を表す
返信数: 2
閲覧数: 3720

Re: while文 数列を表す

たぶん正しく動くサンプルコードを書いてみました。 ご自分のと見比べてみてください。 #include <stdio.h> #include <math.h> int main(void) { int n, i; double sum = 0; printf("n="); scanf("%d", &n); i = 1; while (i <= n) { sum += sqrt((double) (2 * i - 1)); i++; } printf("sum=%f\n", sum); return 0; }
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 多分、演算子の優先度の問題です…
返信数: 5
閲覧数: 4606

Re: 多分、演算子の優先度の問題です…

ソースコードの空欄 (???) を埋め, 以下の実行結果を再現しなさい.
「以下の実行結果」はどこに記載があるのでしょうか。

以下独白

コード:

    int a, b, c;
    a = ???; 
    printf("a = %d, b = %d, c = %d\n", a, b, c);
???に何が入るのかよくわからんが、何が入っているかわからないbとcの値を出力することの意味がわからん。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 条件
返信数: 8
閲覧数: 6950

Re: 条件

分かんねぇから聞いてんだろ
え?言っている意味がわからん。開発環境持ってないの?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 条件
返信数: 1
閲覧数: 3049

Re: 条件

if文のすぐ下のprintf()→字下げしすぎ
if文のすぐ下のprintf()のすぐ下の}→字下げしすぎ(if文の先頭と合わせるべき)
elseのすぐ下のprintf()→字下げが足りない
そのprintf()のすぐ下の}→字下げが足りない(elseの先頭と合わせるべき)
return 0;→字下げが足りない(int型変数の定義やscnaf()と合わせるべき)

以上のように当方は思っておりますが、他の回答者の方々は
また別の考えをお持ちかもしれませんしそうではないかもしれません。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 条件
返信数: 8
閲覧数: 6950

Re: 条件

そんなの自分でコンパイル~実行したらわかるんじゃね?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 条件
返信数: 1
閲覧数: 3153

Re: 条件

「当方が」正しいと思っている下記のコードにおける字下げと見比べてみてください。
なお、今後、コードを貼る際、行番号は除いてください。

コード:

#include <stdio.h>

int main(void)
{
    int x;

    scanf("%d", &x);
    if (x > 0) {
        printf("A");
    }
    else {
        printf("B");
    }
    return 0;
}
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 式と演算子の問題です
返信数: 8
閲覧数: 5665

Re: 式と演算子の問題です

質問の内容が違うものになったら、新しくトピックを立てる方がよいと思います。 #include <stdio.h> int main(void) { int n, i; char *s[] = { "いち", "じゅう", "ひゃく" }; printf("正の整数を入力> "); scanf("%d", &n); for (i = 0; i < 3; i++, n /= 10) { printf("%sの位は %d\n", s[i], n % 10); } return 0; } 一、十、百が漢字でないのは、当方の開発環境のせいだと思ってください。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 配列について
返信数: 9
閲覧数: 4671

Re: 配列について

それはそうと…
何そんなにカリカリしてるんですか?>noir氏もしくはNoir氏
たかがCプログラムじゃないですか。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 配列について
返信数: 9
閲覧数: 4671

Re: 配列について

業務でそのような発注が合った場合にも、その理論に基づいたものを納品してトラブルにならないんですね。
業務システムのことあまりよくわからないのでアレですが
発注者:それはバグじゃないのか。
受注者:それは仕様です。
なんてやりとりがあるようなないようなwww
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 配列について
返信数: 9
閲覧数: 4671

Re: 配列について

"wrwwrrw150fs6" 以外を入力しても"150と6"が出力されるので、
「wrwwrrw150fs6 と入力したら」という条件に合っていないように思いますね。
wrwwrrw150fs6 と入力することをp, "150と6"と出力することをqと書くと、
質問者さんの要望を満たさないのはpと入力したのにqと出力しない(つまりp∩¬qの場合)であって、
みけCATさんの返信は¬(p∩¬q)、つまり¬p∪qを満たしていますから、
解答例として極めて適切です。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 値の代入
返信数: 2
閲覧数: 3387

Re: 値の代入

コード:

printf("小数を入力>");
scanf("%d",&a);
どうしてこんな不要な入力をさせるのですか?
int型変数aの役割は何ですか?
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 文字コード変換
返信数: 2
閲覧数: 3811

Re: 文字コード変換

よかったら使ってください。
ソースコードはちゃんと字下げしましょうね。

コード:

#include <stdio.h>

int main(void)
{
    int c;

    printf("文字入力> ");
    scanf("%c", &c);
    printf("%c の文字コードは %d です。\n", c, c);
    return 0;
}
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 添削見直しをお願いします
返信数: 3
閲覧数: 3647

Re: 添削見直しをお願いします

うまくいかず困っている
これだけだと、何もわかりません。こちらには質問者さんのパソコンは見えませんので。
というわけで、
何をしたとき(ビルド?実行?その他?)に
どううまくいかない(エラーが出る?どんなエラー?メッセージは?
結果が全く出ない?結果は出るけど想定外?)のか
を具体的に示してください。じゃないと、回答できないんですよね。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: コンパイル時の動作
返信数: 4
閲覧数: 3769

Re: コンパイル時の動作

設定を確認してみては?
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: サイコロのプログラミングについて
返信数: 4
閲覧数: 4574

Re: サイコロのプログラミングについて

コード:

        int a[100];
100個しかなくていいんですか?10000じゃないんですか?

コード:

        for (j = 0; i < 10000; j++)
i < 10000
でいいんですか?
j < 10000
じゃないんですか?

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