検索結果 1739 件

by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 早急にお願いします。
返信数: 11
閲覧数: 1886

Re: 早急にお願いします。

purin52002 さんが書きました: 2、マイルを引数(double型がいいかな?)、kmを返り値(これもdouble型がいいかな?)の関数を作ります。
キロメートルをマイルに変換したいので、仕様誤り。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 急ぎです…。
返信数: 2
閲覧数: 982

Re: 急ぎです…。

全部見たわけではありませんが…
あみあみ さんが書きました:要素数100程度の2つのint型配列a,b
って書いてあるのに、どうして
あみあみ さんが書きました:

コード:

	double a[100], b[100]
こうなっちゃうんですか?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 二つの整数を入力してその間の全整数の和を出力
返信数: 6
閲覧数: 1211

Re: 二つの整数を入力してその間の全整数の和を出力

こちらの環境で下のようなコードを実行したら、ちゃんと答えが出ます。 #include <stdio.h> int main(void) { int no, no1, no2; int max, min; int sum = 0; do { printf("正の整数を二つ入力してください。\n"); printf("整数1:"); scanf("%d", &no1); printf("整数2:"); scanf("%d", &no2); } while(no1 < 0 || no2 < 0); if (no1 > no2) { max = no1; min = no2; } else { max...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 二つの整数を入力してその間の全整数の和を出力
返信数: 6
閲覧数: 1211

Re: 二つの整数を入力してその間の全整数の和を出力

うまく起動できない、というのは、どういった状況を指していますか?
コンパイルはできるけど、実行結果が思ったとおりにならないということですか?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: C++言語のキューの問題のことです
返信数: 3
閲覧数: 739

Re: C++言語のキューの問題のことです

コードをザッと見たところ、データ構造がキューではなくてスタックになっているようです。
関数名もpush()とかpop()とか、いかにもスタックを扱うかのような名前が付いてますね。
だからどうすれば?というのは、キューとか待ち行列とかでまずはググってみてはどうでしょう。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: c++で変数の数字を上書きせずに並べる
返信数: 5
閲覧数: 721

Re: c++で変数の数字を上書きせずに並べる

ほんの一例です。

コード:

#include <iostream>
using namespace std;

int main(void)
{
    int a;

    for (a = 1; a <= 10; a++) {
        cout << a;
    }
    cout << '\n';
    return 0;
}
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: たまに曜日が表示されないときがあります。
返信数: 8
閲覧数: 1876

Re: たまに曜日が表示されないときがあります。

hのiの値がいくつになっているか、printf()か何かで確認してみましょう。
0~6以外の値になっているような気がします。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルが作れない
返信数: 8
閲覧数: 1462

Re: ファイルが作れない

boru さんが書きました:DXライブラリでfopen関数でファイルを作ろうとしてもエラーが出ます。
エラー LNK2019 未解決の外部シンボル _WinMain@16 が関数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) で参照されました。
このエラーが出ているということは、たぶん、プロジェクトの設定でWindowsアプリケーションを作成するようになっているのに、
WinMain関数がないよ、と怒られているのだと思います。
直すには、たぶん、プロジェクトの設定でコンソール・アプリケーションを作成するようにすればよいと思います。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体(structure)のプログラムについて。
返信数: 27
閲覧数: 1615

Re: 構造体(structure)のプログラムについて。

割り算用の関数が意図どおりに動いているのであれば、それには手を触れずに
「新たに」足し算用の関数(名前の例:Add)と引き算用の関数(名前の例:Sub)を用意するのがよいと思います。
1つの関数で足し算も引き算も割り算も実行する、というのは避ける方がよいと思います。

なお、構造体に、商とあまりの他、和と差のためのメンバーを追加する必要があると思います。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: cmdの結果を追加しました。  結果を適正に表示するにはどのようにコードを修正すればよいでしょうか?
返信数: 3
閲覧数: 932

Re: cmdの結果を追加しました。  結果を適正に表示するにはどのようにコードを修正すればよいでしょうか?

11~19のかけ算をしたいのか1~19のかけ算をしたいのか、質問文からは判読不能。とりあえず1~19と解釈した。 単にかけ算の結果を表示するだけなので、配列を使う必要なし。 かけ算のときに+1するのがめんどくさいので、ループは素直に1~19で回す。 #include <stdio.h> int main(void) { int i, j; for (i = 1; i <= 19; i++) { for (j = 1; j <= 19; j++) { printf("%4d", i * j); } putchar('\n'); } putchar('\n'); return 0; }
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 1行で計算すると正しくなくて、2行に分けると正しい結果が得られる
返信数: 2
閲覧数: 756

Re: 1行で計算すると正しくなくて、2行に分けると正しい結果が得られる

result=284480*F/L; // 1行で計算すると result= 743 となって正しくない 右辺の計算の途中で、int型で表わせる数値の範囲を超えているように思います。 result=284480; // 1行目 result=result*F/L; // 2行目 → 2行に分けると正しい結果 (9482) が得られる こっちは、1行目で__int64型の変数に値を代入「した後で」続きの計算をしていますね。このように、__int64とintが混在しているとき、 2行目の右辺の型は最も大きい__int64型となるので、何も問題がない、ということでありましょう。 1行で片づけるには...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 幾つのベクトルの大きさを小さい順に並び替えるプログラムの作り方に関してです。
返信数: 7
閲覧数: 692

Re: 幾つのベクトルの大きさを小さい順に並び替えるプログラムの作り方に関してです。

Cで作るならこんな感じ? #include <stdio.h> #include <math.h> #define N 4 typedef struct vector { int x; int y; double r; double d; } vector; void InputData(vector *data) { data[0].x = 0; data[0].y = 3; data[1].x = 7; data[1].y = 7; data[2].x = 1; data[2].y = 5; data[3].x = 2; data[3].y = 1; } /*ベクトルの大きさを求める関数で...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: rand関数の不可解なエラーについて
返信数: 4
閲覧数: 701

Re: rand関数の不可解なエラーについて

kohei さんが書きました: 関数がない変数定義注釈~enumより上にrand関数を設定したのですが
何を言いたいのかよくわかりません。
kohei さんが書きました: 私では理解できないエラーが発生いたしました。
どんなエラーですか?エラーメッセージがあれば貼ってください。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 逆順表示の関数の作成方法
返信数: 9
閲覧数: 1050

Re: 逆順表示の関数の作成方法

ほんの一例です。 #include <stdio.h> #include <string.h> void gyaku(char s[]); int main(void) { char str[20]; scanf("%19s", str); gyaku(str); return 0; } void gyaku(char s[]) { int len = strlen(s), i; for (i = len - 1; i >= 0; i--) { putchar(s[i]); } putchar('\n'); } ちなみに、別の言語だったら1行で。逆順にしたい文字列の字数に制限なしで、楽勝。 p...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 特になにもないです
返信数: 7
閲覧数: 933

Re: 特になにもないです

質問は「特になにもないです」ですか?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 関数の作成の仕方が分かりません
返信数: 4
閲覧数: 557

Re: 関数の作成の仕方が分かりません

こんな感じ?ベストとは限らないけど。 #include <stdio.h> #include <string.h> void yoko(char s[]); void kuuhaku(char s[], int n); void tate(char s[]); int main(void) { char name[50]; printf("名前は?(全角入力) "); scanf("%s", name); printf("\n"); yoko(name); printf("\n"); kuuhaku(name, 3); printf("\n"); tate(name); printf("\n"...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 数字を入力をしないとprintfの文が表示されない
返信数: 3
閲覧数: 727

Re: 数字を入力をしないとprintfの文が表示されない

maxwell さんが書きました: 順番としては、printfで行う処理の番号を表示し、scanfで入力を受け付けています。
どなたか原因と改善策をご教授ください。
当該のコードを見せてください。そこで使っている変数の定義部分を含めて。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 課題について至急アドバイスをお願いします!
返信数: 5
閲覧数: 519

Re: 課題について至急アドバイスをお願いします!

ottochang さんが書きました: sounyuuhou.c:23: error: expected expression before ‘)’ token
sounyuuhou.c:29: error: expected declaration or statement at end of input
とでるのですが、どこが間違っているのでしょうか?
if文の勢力範囲が終わった後にelseが来ているのがよろしくなさそうです。
また、どうも閉じカッコ } の数が多いように見えます。それもエラーの原因だと思います。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: C言語の宿題が・・・
返信数: 19
閲覧数: 3259

Re: C言語の宿題が・・・

獅子丸 さんが書きました: また他にもおかしいところがあれば教えて欲しいです
間違いというわけではありませんが、
獅子丸 さんが書きました: int printPlayData(PLAYER p)
{
return printf("%s %d %d %d %f", p.name, p.number, p.at_bat, p.hit, p.ave);
}

printPlayerData(p);
int型の戻り値をどこでも使っていないので、思い切ってvoid型にしてみる(関数の中身はprintfするだけにして、
何もreturnしない)、という手はあるかもしれません。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: c言語和暦から西暦
返信数: 4
閲覧数: 1784

Re: c言語和暦から西暦

こんな感じ? 元のコードのインデントがあまりにグッチャングッチャンだったので自分なりに直しておきました。なお、 あと、仕様上問題になりそうなのは、M46とかT16とかS65とか、実際にはなかった年を入力したときにエラーとするのか 便宜上出力するのか(M46ならば1913、T16ならば1927、S65ならば1990)といったところでしょうか。 ここは後者の策を採りました。 #include <stdio.h> int myatoi(char *p); int main(void) { int y, n; char w[50]; printf("Input Wareki: "); scanf("%...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: c言語和暦から西暦
返信数: 4
閲覧数: 1784

Re: c言語和暦から西暦

あと、仕様上問題になりそうなのは、M46とかT16とかS65とか、実際にはなかった年を入力したときにエラーとするのか
便宜上出力するのか(M46ならば1913、T16ならば1927、S65ならば1990)といったところでしょうか。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: c言語和暦から西暦
返信数: 4
閲覧数: 1784

Re: c言語和暦から西暦

文字列をintがたの整数にして返す関数はできているのですが 元号をローマ字表記したときの先頭文字からその元号が始まったり(あるいは終わったり)する西暦の取得は? 標準入力から和暦で H29(平成29年の場合)などと入力すると、それが西暦何年かを計算して表示するプログラムを作成しなさい。 入力は1文字目がアルファベットで H, S, T, M がそれぞれ平成、昭和、大正、明治を表しており、数字との間にスペースなどの区切りは無いため、ひと続きの文字列として読み込む。 文字列から数値への変換には問題1で作成した関数 myatoi をそのままコピーして使用し、main関数のみを新たに作成すること。 ...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録プログラミングの館で勉強中にバグが出てきました。
返信数: 9
閲覧数: 1193

Re: 龍神録プログラミングの館で勉強中にバグが出てきました。

ポインタ さんが書きました: どのようにプログラムを変えれば正しいグラフィックになりますか?
まずは、今のプログラムを提示することでしょう。質問者さんがどういうコードを書いたのか、
回答しようとする側には今のところ全くわかっていません。その状態で、「どのように変えれば」と
言われましても、何とも答えようがありません。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: -1,2,-3,4…という数列
返信数: 27
閲覧数: 3343

Re: -1,2,-3,4…という数列

みなさんがんばってコードを書かれていますが、読みやすさや修正しやすさといった点においてどうなんでしょうか。

コード:

#include <stdio.h>

#define N (100)

int main(void)
{
    int i;

    for (i = 1; i <= N; i++) {
        printf("%d\t", i * ((i % 2 == 1) ? -1 : 1));
    }
    putchar('\n');
    return 0;
}
あたりで十分な気がします。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 分からないです!至急アドバイスお願いします!
返信数: 7
閲覧数: 1194

Re: 分からないです!至急アドバイスお願いします!

metaphor さんが書きました:

コード:

			break;                //再帰終了
			x0 = x1;         //前回の計算値に置き換えて再帰処理
再帰っていう表現を使っていいものかどうか、疑問ありです。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: -1,2,-3,4…という数列
返信数: 27
閲覧数: 3343

Re: -1,2,-3,4…という数列

こんにちは さんが書きました:-1,2,-3,4,-5…
何項めまで出力したいのですか?
さておき、ロジックとしては、
1から上限の数値までループする。
ループの中で、
・その数が奇数ならば-1倍した値を出力する
・その数が偶数ならば、そのまま出力する
てな感じでいいと思います。
どなたかの回答みたいにハードコーディングするのではなくて。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: スロットマシーン 作成
返信数: 67
閲覧数: 8199

Re: スロットマシーン 作成

ゆうtyt さんが書きました:

コード:

		a=rand()%9;
		b=rand()%9;
		c=rand()%9;
a, b, cには0~8の数値が入るので、
ゆうtyt さんが書きました:

コード:

[4][1][2]
[5][9][3]
[6][8][4][/quote]

こんな結果(1が出たり9が出たりする)になることは絶対にありません。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: スタック操作について
返信数: 9
閲覧数: 1179

Re: スタック操作について

main関数の話の前に、素朴な疑問があります。
のの さんが書きました:

コード:

void init_stack(){
  sp=-1;
}
スタックポインターの初期値が-1のときに
のの さんが書きました:

コード:

int push(int x){
  if(sp<stack_size-1){
    stack[sp++] = x;
pushを行なうと、おかしなことにならないでしょうか。stack[-1]に値を代入しようとしているように見えて仕方がありません。
てか、この手の問題においてはスタックポインターの初期値はゼロ一択であるように思っています。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: TANAKA
返信数: 3
閲覧数: 484

Re: TANAKA

ファイルから文章を読み込んで、その文章の空白の数と、改行の数を数えたいのですが、初期値0のままでうまくいきません。 どこが間違っているのでしょうか? インデント(字下げ)がグチャグチャで見づらいです。 int main(){ stdio.hなど、必要なヘッダーをインクルードしていません。 if(file == NULL) printf("開けません"); ファイルが存在しないなどのエラーが発生しても強引に先へ進んでいるのはまずいです。 while(scanf(file,"%c", &c) == 1){ 本当にscanf()の呼び出しでいいですか?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 16進数の下位2桁を取り出す処理について
返信数: 41
閲覧数: 4095

Re: 16進数の下位2桁を取り出す処理について

sadora3 さんが書きました: 言語:C
C言語において
sadora3 さんが書きました:

コード:

void DispSimo(short* temp);
void DispSimo(long* temp);
このように同じ名前で違う型の引数を持つ関数は複数定義できないはずです。
どこかで何かが間違っているような気がします。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: オペランドと一致する演算子”=”がない
返信数: 3
閲覧数: 2387

Re: オペランドと一致する演算子”=”がない

mattun さんが書きました: 「オペランドと一致する演算子”=”はありません」とエラーが
せめて、どのソースコードの何行目でエラーが出ているかくらいは教えていただきたいところです。
エラーメッセージに書いてあるはずです。
まぁ、自分が回答できるかどうかはともかく。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: C言語わかりません
返信数: 4
閲覧数: 1059

Re: C言語わかりません

すべてのテストケースで以下の条件を満たします。 1 ≦ n ≦ 100 この条件があるにもかかわらず } while (n == 0 || n>100); としているのは、問題の趣旨に反しています。このために不正解になっているかどうかはわかりませんけど。 素直に、こんな風に書くのがよいのではないでしょうか。 #include <stdio.h> int main(void) { int n, i; do { scanf("%d", &n); } while (!(1 <= n && n <= 100)); for (i = 1; i <= 9; i++) { printf("%d%s", n...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 関数の引数にポインタを使うときの初歩的な質問
返信数: 15
閲覧数: 1661

Re: 関数の引数にポインタを使うときの初歩的な質問

ケトン さんが書きました:

コード:

void swap (int *pX,int *pY);
引数には*pX,*pYの二つ(変数の値!)があって,
ここを即値とお考えでしたらちょっと違うと思います。
int *型の値ですから、中身は変数のアドレス値です。一方、
ケトン さんが書きました: 関数を呼び出すときに

コード:

swap (&num1,&num2);
呼び出す側では、変数のアドレスという値を渡しています。
何もおかしくないと思います。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 足し算の項の入れ替え
返信数: 6
閲覧数: 904

Re: 足し算の項の入れ替え

とりあえず同じ名称のことは意識せずにやってみた。
Rubyだと2行でできた。\(^O^)/

コード:

a = ["a", "b", "c"]
puts a.permutation(a.size).collect { |a| a.join("+") }
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: おそらく初歩の初歩だと思われますが、、、、
返信数: 4
閲覧数: 800

Re: おそらく初歩の初歩だと思われますが、、、、

こんな感じですかね。合ってるかどうかは知らないけど。 #include <stdio.h> #include <string.h> char *mystr2cpy(char *a, char *b) { // staticがないと、関数内部のautomaticなローカル変数のアドレスを返そうと // することとなる。ところが、cは本関数を抜けた瞬間に雲散霧消してしまう。 // main関数で正しく受け取れない。 static char c[256]; // aとbを連結した結果を格納できる十分な大きさであること strcpy(c, strcat(a, b)); return c; } int ...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: externについて
返信数: 8
閲覧数: 1278

Re: externについて

akasann さんが書きました: おまけとして、AOJの問題にも取り組んでいるのですが、前のDight Numberについては解決しました。次の問題として最小公倍数の問題に取り組んでいます。次のコードに 50000000 と 30000000 を標準入力すると -14 という値が出てきます。何か別のやり方があるのでしょうか?・・・
50000000 と 30000000 をかけ算している時点で、int型で扱える数値の範囲を超えているような気がする。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: おそらく初歩の初歩だと思われますが、、、、
返信数: 4
閲覧数: 800

Re: おそらく初歩の初歩だと思われますが、、、、

C言語彷徨い人 さんが書きました:

コード:

char mystr2cpy (*char a, *char b)
引数の書き方と戻り値の型が違う。
char *mystr2cpy (char *a, char *b)ではないですか?
C言語彷徨い人 さんが書きました:

コード:

  char c;
変数cはchar型1バイトしかないので、
C言語彷徨い人 さんが書きました:

コード:

  strcpy(c, a); 
こういう書き方はできないはず。
C言語彷徨い人 さんが書きました:

コード:

  return 0;
もともとのコードではchar型を返すことになっているのに0を返すのは不自然。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 課題で*を使って△を表示.....
返信数: 6
閲覧数: 1105

Re: 課題で*を使って△を表示.....

ネバー さんが書きました:課題で△を真ん中に表示する
真ん中ってどこですか。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 解凍・圧縮ソフト【雑談】
返信数: 7
閲覧数: 1061

Re: 解凍・圧縮ソフト【雑談】

ターボ さんが書きました: Windows7まではLhaplusを使っていたのですが、10にしたら使えなくなってしまって、
自分のところでは、Windows7から10にアップグレードした環境で全く問題なく使えています。
使えなくなった、というのは、何かエラーメッセージが出るのですか?
単に「使えなくなった」だけですと、状況が正確に把握できません。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 配列内の数字のシャッフル
返信数: 12
閲覧数: 1424

Re: 配列内の数字のシャッフル

みけCAT さんが書きました:入れ替え対象としてたまたま同じ数を選んでしまうと、「2つの数を選んで入れ替え」たことにならないのでは?
2つの数がたまたま同じであっても、いっこうにかまわないのでは?自分の解釈はそういうことです。
まあ、出題者の意図が正確にはわかりませんので、自分のような部外者があ~だこ~だ言うようなことではないのかもしれません。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 配列内の数字のシャッフル
返信数: 12
閲覧数: 1424

Re: 配列内の数字のシャッフル

manana さんが書きました: ./a.out
5 7 1 0 4 6 2 8 10 13 11 9 3
12が抜けてる。
manana さんが書きました: ./a.out
10 4 6 3 9 13 1 7 0 5 11 2 12
8が抜けてる。
manana さんが書きました: ./a.out
4 8 6 10 12 9 7 11 13 1 3 0 2
5が抜けてる。

というわけで、皆さんからのご指摘のとおり、配列の定義範囲外の領域にアクセスした結果、
おかしなことが起きたのでありましょう。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: nanの原因
返信数: 8
閲覧数: 938

Re: nanの原因

c言語で積分するプログラムを作りましたが、sum1 [j][k]+=f1 [j][k],sum2 [j][k]+=f2 [j][k]を行った後にprintfでsum1とsum2を表示するとnanと出てきます。 とりあえず、そのグチャグチャな字下げを何とかしましょう。 printf("%f %f %d %f %d %f %f \n",p[i][j],fy[i][j],k,sum1[i][j][k],ef [j],kensa[i][j][k],sum2[i][j][k]); ここで、変数kensaの定義がないというコンパイルエラーが出ます。実行できません。 nanという結果が出てしまう(つまり、...
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: %*dについて
返信数: 6
閲覧数: 883

Re: %*dについて

あんどーなつ さんが書きました: Visual Studioでできるかはしらないです(GCC拡張仕様の可能性あり)
printfにもともと備わっている機能です。
できない処理系があったら知りたいくらいです。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: if文の条件について
返信数: 3
閲覧数: 762

Re: if文の条件について

みけCAT さんが書きました: 従って、この条件は、a7が0と等しいとみなされる(0やヌルポインタなど)ときは真、そうでない時は偽となります。
逆のような気がするんですけどね。
0に類する場合はfalse
それ以外は全部true
じゃないんでしょうか。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 常微分方程式をルンゲクッタの式で解くプログラムについて
返信数: 1
閲覧数: 461

Re: 常微分方程式をルンゲクッタの式で解くプログラムについて

そもそも、ルンゲクッタ法のアルゴリズム(プログラミング言語に依存しない、問題を解く手順)は
理解されているのでしょうか?
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 分割した文字列を自己参照構造体に入れて要素数をカウント
返信数: 6
閲覧数: 1135

Re: 分割した文字列を自己参照構造体に入れて要素数をカウント

素人マン さんが書きました: コードは上記のように入力したのですかエラーが出てしまいます。
何だかツッコミどころ満載のコードですね。
さておき、「何をしたときに」「何という」エラーが出るかを具体的に書いてください。話はそこから始まります。
単に「エラーが出る」と書かれても、何も説明したことになりません。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体にfscanf
返信数: 3
閲覧数: 871

Re: 構造体にfscanf

int score[12]; int abs[12]; int exam[12]; 本当に配列でいいんですか?だとすると、 while (fscanf(fp, "%[^,],%d,%d,%d ", std[i].name, std[i].score, std[i].abs, std[i].exam) == 4) { ここで、score, abs, exam の何番目の要素に入れるかがわかりません。コンパイルエラーが出るのではないでしょうか。 printf(error:fileopen\n"); " が足りないので、コンパイルエラーが出ます。 くだんの実行結果(今は想定外でしょうけど)がちゃん...
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: rewind()の使い方について
返信数: 3
閲覧数: 2219

Re: rewind()の使い方について

rewind()の使い方がいまいちわかりません。参考書によるとrewind(stdin)と書かれているのですが、ファイルの先頭に戻るとはどういうことでしょうか?・・・ 推測ですけど、その昔、磁気テープ(古っ!)を使ってデータの読み書きをしていた時代がありました。 汎用コンピューターでは今も現役なのかな。 さておき、rewindというのは「磁気テープを巻き戻して」先頭に戻るところから来ているようです。 カセットデッキ(これも古っ)にセットしたカセットテープを、巻き戻しボタンで先頭に戻すことをイメージしてみるとよいかもしれません。 rewind(stdin)は、標準入力から読んだ内容をいったんチ...
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: C言語、構造体について
返信数: 6
閲覧数: 1363

Re: C言語、構造体について

インスタンスという用語をそのソースで使うのがふさわしいのかどうか、
いささか疑問に思います。
単に「変数を定義する」くらいでいいような気がしなくもありません。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 合計が一定になる乱数生成
返信数: 5
閲覧数: 1132

Re: 合計が一定になる乱数生成

STR さんが書きました: 乱数の合計が一定値になるようにしたいのですがどのように生成すればいいでしょうか。
むずかしいような気がします。
例えば、10個の合計が0という一定値になるようにしたい、とします。
このとき、「たまたま」最初の6個が全部+1だったとすると、後どうがんばっても
10個の合計を0にはできないですね。

そもそも、合計を一定値にしたい、という時点で乱数ではなくなっているような気もします。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 配列 文字列 重複 削除
返信数: 6
閲覧数: 1645

Re: 配列 文字列 重複 削除

みけCAT さんが書きました: また、sizeof(char)は1と定義されているので、要素の型とも関係ないのに掛ける意味は無いでしょう。
自分は、大いに意味があると思います。間違いなく1個1バイトの領域を必要な個数だけ動的確保している、ということを示す、という点において。

コード:

    size = 256;
    p = (char *) malloc(sizeof(char) * size);
こういう書き方をごく普通にしてました。以前Cでシステムを開発してたとき。
ま、宗教論争になりそうなのであまり深入りするのはやめときましょう。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: sleep関数をMacで使うにはどうしたら良いのですか?
返信数: 4
閲覧数: 1137

Re: sleep関数をMacで使うにはどうしたら良いのですか?

YOU TEK さんが書きました: "conflicting types for sleep" と表示され
このメッセージが出るのはビルド時ですか?実行時ですか?
処理系にすでに備わっている(と思われる)sleep関数とバッティングしていないでしょうか。
YOU TEK さんが書きました:

コード:

int sleep(unsigned long x)
        usleep(5);
sleep関数(自作)を使いたいのか、
usleep関数を使いたいのかよくわかりません。
どっちですか?
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: nkfツールのコマンドライン
返信数: 4
閲覧数: 925

Re: nkfツールのコマンドライン

nkfを使ったことがない自分が回答するのが適切かどうかはさておき…。
http://apphy.u-fukui.ac.jp/~tajima/nkf32_install.html
ここによると、コマンドラインから使うのはnkf32だと言っています。
自己責任でトライしてみる価値はあるかな、と思います。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: ゲームの結果をファイルに結果の数だけ書き込む
返信数: 9
閲覧数: 1546

Re: ゲームの結果をファイルに結果の数だけ書き込む

ザッとこんな流れでしょうか。

コード:

書き込み用のファイルをオープンする。
以下を対戦の数だけ繰り返す。
 ・ジャンケンをする
 ・結果を判定する(勝ちor負けorあいこ)
 ・結果をファイルに書き込む
書き込み用のファイルをクローズする。
ご提示のコードではmain関数が複数見受けられます。それはまずいでしょうね。
また、FILE *型の変数に日本語を使われていますが、あまりおすすめできません。
処理系によっては日本語の変数名が使えるかもしれませんが、一般には使えないものと
思っておく方がいいと思います。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 変数について教えてください
返信数: 7
閲覧数: 1311

Re: 変数について教えてください

御魁 さんが書きました: というプログラムで、「for(i=1;i<=10;i++)のとこは何故変数を使用するのか?」という問題が出ました。
自分だったら、「じゃあ、変数を使わずに10回(一般にn回)ループするにはどうすればいいんですか?」って逆質問しますね。
「質問に対して質問で答えるな!」って怒られそうですけど。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルに書かれた式の計算について
返信数: 12
閲覧数: 2597

Re: ファイルに書かれた式の計算について

まあRPNを使うことは他の回答者さんの回答のとおりだと思います。
それにしてもむずかしい課題だな…。質問者さんのC言語のレベルがどの程度かはわかりませんが…。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 文字配列のswap関数とマクロ関数
返信数: 5
閲覧数: 1215

Re: 文字配列のswap関数とマクロ関数

みけCAT さんが書きました: 問題ないのかどうかを知りたいなら、入れ替えた後の結果を出力すればいいでしょう。
まさにそこ!デバッガーなんて七面倒くさい手段を使わずとも、入れ替えた直後にprintfするか何かして、
問題があるのかないのかなんで確認してないんだろう?って思ったしだいです。
ふつうしますよね?
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 文字配列のswap関数とマクロ関数
返信数: 5
閲覧数: 1215

Re: 文字配列のswap関数とマクロ関数

kazuki2655 さんが書きました: これにアドレス演算子を足してみると問題なくスワップされるのですがよくわかりません。
入れ替えた後の結果を出力していないので、本当に問題ないのかどうかよくわかりません。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: fgetsで文字列取得後ずれる
返信数: 10
閲覧数: 899

Re: fgetsで文字列取得後ずれる

shosinsha さんが書きました: しかし、計算がうまく行われないときと、うまくいくときがあります。
何を入力したときにうまくいって、
何を入力したときにうまくいかないのか、
具体例を1個以上挙げてください。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 初心者です。助けてください。
返信数: 3
閲覧数: 605

Re: 初心者です。助けてください。

自分だったらこんな風に書くかなぁ、ってことで。 #include <stdio.h> int main(void) { int i, j; for (i = 1; i <= 3; i++) { printf("%d日目\n", i); for (j = 1; j <= 3; j++) { printf("%d回目挨拶\n", j); printf("%s\n", j == 1 ? "おはよう" : j == 2 ? "こんにちは" : "こんばんは"); } } return 0; }
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: strchr関数の課題について
返信数: 2
閲覧数: 509

Re: strchr関数の課題について

bucchus さんが書きました: "+-/*=)(@"の最初を" +-/*=)(@"などと半角スペースをあけると解決するのですが
これってアリなのでしょうか?
ダメでしょうね。
n番目の文字を「(n+1)番目の文字」として出力するのであれば、プログラムで工夫すればよいと思います。
bucchus さんが書きました: 2、文字列"+-/*=)(@"と指定文字5番目~7番目までの順番がちがう
問題文の文字列"="")""("が指定文字列と対応していません。
これは、「その文字の順番をif文とかfor文などを用い変えなさい」という
趣旨なのでしょうか?
問題文が間違っているような気がします。出題者に確認するのがよいでしょう。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 初心者です。助けてください。
返信数: 3
閲覧数: 605

Re: 初心者です。助けてください。

パッと見ただけですが…
八つ橋 さんが書きました:

コード:

for(j=1,j<=3,j++)
ここ、カンマでいいでしょうか?
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題なんですが、どうしてもわからないんです。誰か教えてください!
返信数: 5
閲覧数: 840

Re: 学校の課題なんですが、どうしてもわからないんです。誰か教えてください!

いきなり0以下の値を入れたら平均値は計算できない。 そのコードを追加。 #include <stdio.h> void read_data(int *max, int *min, int *sum, int *count) { int data; while (printf("input data:"), scanf("%d", &data) == 1 && data > 0) { if (*count == 0) { *max = *min = data; } else { if (data > *max) { *max = data; } if (data < *min) { *min =...
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題なんですが、どうしてもわからないんです。誰か教えてください!
返信数: 5
閲覧数: 840

Re: 学校の課題なんですが、どうしてもわからないんです。誰か教えてください!

ちょっとしたサンプルです。 #include <stdio.h> void read_data(int *max, int *min, int *sum, int *count) { int data; while (printf("input data:"), scanf("%d", &data) == 1 && data > 0) { if (*count == 0) { *max = *min = data; } else { if (data > *max) { *max = data; } if (data < *min) { *min = data; } } *sum += dat...
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: この識別子の定義をどうすればいいか教えてください
返信数: 4
閲覧数: 946

Re: この識別子の定義をどうすればいいか教えてください

AppleB3 さんが書きました: 本の通りコードを打ち込み、デバッグを開始したら

: error C3861: 'Cleanup': 識別子が見つかりませんでした
デバッグですか?ビルドではなくて?
C3861エラー(ググってみてください)が出ているということは、ビルドに成功しておらず、
実行ファイルが作れていないと思います。

デバッグというのは、「実行ファイルはできたけど思ったとおりに動かない」ときに、
動かない原因を突き止めてコードを修正する行為を指します。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: コマンドラインオプションD8016 エラー
返信数: 6
閲覧数: 3271

Re: コマンドラインオプションD8016 エラー

使用アプリ: Visual studio express 2015 このソフトを使ってどのようにコンパイルしているかはわかりませんが、 下記のプログラムで ”コマンドラインオプションD8016 エラー   /ZI’ と /GL' は同時に指定できません” と表示されて旨く動作しません。 このように言われているのであれば、どっちか片方だけのオプションを選択するか、あるいはどちらも選択しないかにすればいいのではないでしょうか。 ところで、提示されたコードは全体を示していますか? void str_copy( char dst[], char src[] ); この関数の実体が見当たりませんが、大...
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: sort関数でエラー”識別子がみつかりません” 
返信数: 3
閲覧数: 1161

Re: sort関数でエラー”識別子がみつかりません” 

本題と関係があるかどうかはわかりませんが、何かよけいなセミコロンがあるみたいです。
constructor2016810 さんが書きました:

コード:

		for (i = 0; i < num; i++);
		for (j = i + 1;j < data_num; j++);
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列を表示したいのに整数でしか返ってこない
返信数: 2
閲覧数: 948

Re: 文字列を表示したいのに整数でしか返ってこない

ついでに…。 for (int i = 1; i<12; i++){ if (maxkion<kion[i + 1]){ maxkion = kion[i + 1]; kion_tuki = i + 1; } せっかく[1]を基準にしたのですから、ふつうに[2]~[12]について回せばいいんじゃないですか? else if (maxkion == kion[i + 1]) { maxkion = kion[1]; kion_tuki = 1; } else if (maxkion>kion[i + 1]){ maxkion = kion[1]; kion_tuki = 1; } if文のブロッ...
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列を表示したいのに整数でしか返ってこない
返信数: 2
閲覧数: 948

Re: 文字列を表示したいのに整数でしか返ってこない

文字列を表示したい のであれば、 unsigned char hanbetu; ここの型を考え直してください。少なくともunsigned charではないはずです。 hanbetu = 'Aw'; hanbetu = 'Am'; hanbetu = 'Af'; hanbetu = 'Cw'; hanbetu = 'Cs'; hanbetu = 'Cfa'; hanbetu = 'Cfb'; hanbetu = 'Dw'; hanbetu = 'Ds'; hanbetu = 'Df'; hanbetu = 'BS'; hanbetu = 'BW'; hanbetu = 'ET'; hanbet...
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: ハンドルされない例外が というエラーがでる
返信数: 5
閲覧数: 906

Re: ハンドルされない例外が というエラーがでる

main関数に何でもかんでも詰め込んでいるのは
ちょっとどうなのかな?という気がします。
適切に関数を分ける方が、コード全体の見通しがよくなり、
修正しやすくなるのではないか、という気もします。

main関数は「あ~してこうしてああしろ」という司令塔の役目に徹して、
実際にあ~したりこうしたりああしたりするのは子どもの関数群、っていうのが
いいような気がします。試しにチャレンジしてみてはどうでしょうか。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 他人のコードが見たい!
返信数: 4
閲覧数: 1077

Re: 他人のコードが見たい!

ここのサイトの常連さん(当方は除く)のコードをごらんになると、かなり参考になるところがあると思います。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 整数リテラル0が8進リテラルであることの説明
返信数: 6
閲覧数: 1490

Re: 整数リテラル0が8進リテラルであることの説明

8進リテラルが0~7で始まる 0で始まることはわかりますが、1~7で始まるというのはよくわかりません。 0で始まって0~7「を使う」ならば、何とかわかります。 まあ、それはさておき、こんなコードを書いてみてコンパイルエラーになることで説明が付きませんか? #include <stdio.h> int main(void) { int n = 08; return 0; } こちらの環境(gcc4.9.3)では、こんなエラーが出ました。 C-Application3.c:5:13: error: invalid digit "8" in octal constant 8進数の数値には8は使えね...
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 【愚問】C言語のヘッダファイルについて
返信数: 4
閲覧数: 1011

Re: 【愚問】C言語のヘッダファイルについて

helloworld さんが書きました: [stdio.h]
の内容を
[stdio.h]
に書けば良いということでしょうか?
ちょっと意味がわかりません。後の方のstdio.hというのはどこに置くことを想定されていますか?
helloworld さんが書きました: [stdio.h]の内容を
自作するプログラムの中に全部書き込んで、
[#include]なんて使わずに動かしてやるぜ‼
ということも可能でしょうか?(プログラムの行数が馬鹿みたいに長くなりそうですが…。)
原理的には可能かもしれません。が、
悪いことはいいませんから絶対にやめましょう。
先人の知恵はそのまま拝借する方がよいです。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: Debug Assertion Failed!
返信数: 4
閲覧数: 1176

Re: Debug Assertion Failed!

ちゃんと追いかけたわけではないですが…
蜜柑 さんが書きました:

コード:

	while (Input[i] != EOF) {
		for (i = 0;i < 128;i++) {
変数 i の値を上書きしているのがとても気になります。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 【解決】continueがうまくいきません
返信数: 6
閲覧数: 762

Re: Re:解決しました!ありがとうございました!!

helloworld さんが書きました: continue
を2回使う
どこにそういう回答があったでしょうか。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: おーばー
返信数: 13
閲覧数: 1523

Re: おーばー

あえて言うならば、字下げが1文字分というのはいかにも見づらいなぁ、と思います。
まあこのあたりは宗教論争になりそうですので深く突っ込まないことにしますが、
C言語ならば4文字分あたりが適当かと個人的には思います。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列のソート
返信数: 1
閲覧数: 418

Re: 文字列のソート

こんな感じでしょうか。適当に改変してください。 大小が判別できるので、辞書順のソートができるはずです。 #include <stdio.h> #include <string.h> void compare_string(const char *p, const char *q) { int n = strcmp(p, q); printf("%sは%s%s\n", p, q, n < 0 ? "より小さい" : n == 0 ? "と同じ" : "より大きい"); } int main(void) { char *s[] = { "abc", "AB", "abC", "AB", "ab",...
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: おーばー
返信数: 13
閲覧数: 1523

Re: おーばー

>質問者さん
とりあえず、最初に行なうことは、行ないたいことを日本語で書いてみることではないかと思います。
これができれば、プログラミング言語に置き換えることができるかもしれません。
「かもしれません」というのは、日本語で書けたからといって、100%プログラミング言語に置き換えることができるとは限らないという意味です。
正しく置き換えられないとき、それをバグといいます。
一方、行ないたいことを日本語で書くことができない場合、プログラミング言語に置き換えることはおそらくできないでしょう。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 初歩の質問で恐縮です。
返信数: 3
閲覧数: 1336

Re: 初歩の質問で恐縮です。

せっかくなので、main関数に何でもかんでも押し込めない版を作ってみました。 なお、当方はVisual Studioを使っていませんので、ヘッダやscanfは標準のものを使っています。 #include <stdio.h> #include <math.h> #define OK (0) #define NG1 (1) #define NG2 (2) void get_coefficient(double *a, double *b, double *c) { printf("2次方程式 ax^2 + bx + c = 0の解を求めます\n"); printf("係数a, b, cを入力:")...
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 動的確保について Ⅱ
返信数: 10
閲覧数: 1390

Re: 動的確保について Ⅱ

ついでだから、戻り値を使うバージョンを。 #include <stdio.h> #include <stdlib.h> #include <string.h> char *f(char *s) { s = malloc(sizeof(char) * 10); strcpy(s, "abcde"); printf("@@@ s=\"%s\"\n", s); return s; } int main(void) { char *s = NULL; printf("s=\"%s\"\n", s); s = f(s); printf("s=\"%s\"\n", s); return 0; }
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 動的確保について Ⅱ
返信数: 10
閲覧数: 1390

Re: 動的確保について Ⅱ

簡単に言うと、質問者さんの現状はこうなっているように見えます。 #include <stdio.h> #include <stdlib.h> #include <string.h> char *f(char *s) { s = malloc(sizeof(char) * 10); // 領域を割り当てて strcpy(s, "abcde"); // 値を突っ込むと printf("@@@ s=\"%s\"\n", s); // 関数の中では値をセットできているが… return s; } int main(void) { char *s = NULL; printf("s=\"%s\"\n",...
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 動的確保について Ⅱ
返信数: 10
閲覧数: 1390

Re: 動的確保について Ⅱ

おそらく、 char **str=NULL; int i; READ_ALL(str); READ_ALLの中でstrの値を書き換えたいのであれば、strのアドレスを渡す必要があるのではないか、と思います。 ところで、本題と関係があるかどうかはわかりませんが、 char **READ_ALL(char **str) return str; READ_ALL関数は呼び出し元にchar **の値を返そうとしているのに対し、先頭で引用したmain関数において その戻り値を使っている気配がありません。つまり、今のコードではREAD_ALL関数の戻り値を捨ててしまっています。 戻り値を使わないんだったら...
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 初歩の質問で恐縮です。
返信数: 3
閲覧数: 1336

Re: 初歩の質問で恐縮です。

scanf_s("%1f %1f %1f, &a, &b, &c, &x1, &x2"); カッコの中全体を""で囲っているのがまずいと思います。仮にそこを scanf_s("%1f %1f %1f", &a, &b, &c, &x1, &x2); こんな風に修正したとして、今度は、""で囲った書式文字列の中身で 1f(数字の1とアルファベットのf)となっているところは、本当は lf(アルファベットのl(エル)とf)ではないでしょうか。さらに、書式文字列では3個の数値を読みたいように書いていますが、 第2引数以降には5個の数値を読みたいように書いています。数が食い違っています。 ていうか、x...
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: #defineについて
返信数: 6
閲覧数: 867

Re: #defineについて

こんな例が適切かどうかはわかりませんが…。 カッコのあるなし(付け方含む)で結果がどういう風に違うか、よかったら確認してみてください。 意図としてはどれも 3 * 3 = 9 という計算をしたいんだけど、さて結果は? #include <stdio.h> #define A 1 + 2 #define B (1 + 2) #define C (1) + (2) #define D ((1) + (2)) int main(void) { printf("%d\n", A * A); printf("%d\n", B * B); printf("%d\n", C * C); printf("%d...
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: #defineについて
返信数: 6
閲覧数: 867

Re: #defineについて

カッコが付いてないときのデメリットは感じたことがあります。
しかし、カッコが付いているときのデメリットは感じたことがありません。自分は。
ただ、識者のかたがたには、カッコが付いていてもデメリットがあるぞ!というかたがいらっしゃるかもしれません。
その場合は、具体例を挙げてこんなデメリットがあるぞ!と説明してくださることでしょう。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の配列の動的確保について
返信数: 7
閲覧数: 951

Re: 配列の配列の動的確保について

おーばー さんが書きました:boxさんの18行目のfgets関数はwhile((no=getchar)!='EOF'||no!='\n');を短く書いたという認識でいいのでしょうか?
fgets() のリファレンスを見ていただくのがいちばん確実だと思います。
私ごときがヘタな回答をしてしまってどなたかから突っ込みが入るのがこわいですから。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の配列の動的確保について
返信数: 7
閲覧数: 951

Re: 配列の配列の動的確保について

こんな感じでしょうか。入力時、いきなりエンターキーを押すとそこで入力を終わるようにしています。 #include <stdio.h> #include <stdlib.h> #include <string.h> #define SIZE (256) int main(void) { char **s; int i, j; s = malloc(sizeof(char *) * SIZE); if (!s) fprintf(stderr, "memory allocation error\n"), exit(1); for (i = 0; i < SIZE; i++) { char buf[S...
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: char 2次元配列
返信数: 8
閲覧数: 1431

Re: char 2次元配列

かずま さんが書きました:
box さんが書きました:まあいずれにしても、前の質問では回答に納得できなかったか
回答が理解できなかったかしたので同じような質問を投げてきたんだと思います。
そんなはずはありません。投稿の時刻を見てください。
「前の質問」というのは「この質問」の 2分後です。
うわ~、細かいとこ見てますね。
けど、2つの投稿の間にはずいぶんと多くの新トピがあったように見えました。なので、てっきり前の質問への回答が理解できなかったから
同じような質問を投げてきたんだと思ってました。
まあ、どうでもいいけど。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: char 2次元配列
返信数: 8
閲覧数: 1431

Re: char 2次元配列

まあいずれにしても、前の質問では回答に納得できなかったか
回答が理解できなかったかしたので同じような質問を投げてきたんだと思います。
前の質問への回答で、どこがわかりづらかったですか?>質問者さん
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: char 2次元配列
返信数: 8
閲覧数: 1431

Re: char 2次元配列

何かどっかで見たことがある質問だなあと思ったら、
全く同じ質問を過去にしていますね。
そのときの回答(私の分を含む)では納得や理解ができなかった、
ということでしょうか?
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 一日悩んでます
返信数: 5
閲覧数: 820

Re: 一日悩んでます

そもそも、
るーたん さんが書きました:c++です。
C++に特有な文法を使っている形跡がありません。ふつうのC言語ではないのですか?
それから、提示されたコードは思いどおりに動いているのですか?
るーたん さんが書きました:

コード:

       q = p->next; free(p); p=q;}
freeしたpに何かを代入しているのは何かおかしい気がします。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 一日悩んでます
返信数: 5
閲覧数: 820

Re: 一日悩んでます

とりあえず、インデントをそろえてみませんか?
どこでそういうインデントの仕方を覚えましたか?
今のコードはとにかく見づらいです。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 二次元構造体配列を関数に渡す方法
返信数: 6
閲覧数: 1097

Re: 二次元構造体配列を関数に渡す方法

自分だったら、例えばこんな風に書いたりします。 main関数は全体の司令塔に徹するという方針です。 #include <stdio.h> #define I (10) #define J (15) #define K (5) typedef struct { int a; int b[K]; } DATA; void input(DATA (*arr)[J]) { int i, j, k; for (i = 0; i < I; i++) { for (j = 0; j < J; j++) { for (k = 0; k < K; k++) { arr[i][j].b[k] = k; } } }...
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 二次元構造体配列を関数に渡す方法
返信数: 6
閲覧数: 1097

Re: 二次元構造体配列を関数に渡す方法

このプログラムでのteststrは二次元配列なので、sumに渡す引数は(*a)[10][15]となると考えてしまいます。 実際にこうすると動作を停止してしまうのですが、(*a)[15]とするのはなぜなのか教えていただけませんか? (*a)[10][15] と書くと、「要素数15の配列を要素とする要素数10の配列へのポインター」という意味になります。 いわゆる3次元配列を使うのであれば、それでよいかもしれません。今回は違うので、そうは書けません。 どうしても[10][15]を書きたければ、 a[10][15] と書けばよいでしょう。 また、いちばん左の要素数(今回は10)は省略できるので、 a...
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 二次元構造体配列を関数に渡す方法
返信数: 6
閲覧数: 1097

Re: 二次元構造体配列を関数に渡す方法

合計を求める関数の引数を、「要素数15の配列へのポインター」にする。 構造体定義をプロトタイプ宣言の前に移動させる。 プロトタイプ宣言での関数名と実際の関数名を一致させる。 #include <stdio.h> struct test { int a; int b[5]; }; int sum(struct test (*a)[15]); int main(void) { struct test teststr[10][15]; int i,j,k; //0~4を代入 for(i=0;i<10;i++) { for(k=0;k<15;k++) { for(j=0;j<5;j++) { test...
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: sinグラフ
返信数: 3
閲覧数: 1167

Re: sinグラフ

匿名希望 さんが書きました: 2つの角度を入力し、その間を10 度刻みに変えて、sin関数のグラフをかけ。
2つの角度の差が10度未満だったらどうすんだ?なんて。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列から文字列を探索
返信数: 10
閲覧数: 1361

Re: 文字列から文字列を探索

けろけろ さんが書きました: どうやるのですか??
くだんの例ならば、探したい文字列"CDE"は3文字なので、
探されたい文字列"ABCDE"について、
1)0~2文字目の3文字を取得する。"ABC"を取得できる。"CDE"とは等しくない。
2)1~3文字目の3文字を取得する。"BCD"を取得できる。"CDE"とは等しくない。
3)2~4文字目の3文字を取得する。"CDE"を取得できる。"CDE"と等しい。探索終了。
てな具合に、探されたい文字列のすべて(今回だと0~4文字目)をすべてカバーできるような
繰り返しを実行すれば、見つかるか見つからないかのいずれかがわかるはずです。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: チェイン法を使ったハッシュのプログラム
返信数: 3
閲覧数: 2565

Re: チェイン法を使ったハッシュのプログラム

クォーク さんが書きました:

コード:

	p->key = a;
おそらく、

コード:

        strcpy(p->key, a);
とすれば、少なくともコンパイルは通ると思います。
ただし、思ったとおりに動くかどうかはわかりません。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: うまく認識されない
返信数: 2
閲覧数: 440

Re: うまく認識されない

YGKR さんが書きました:

コード:

	scanf("%s", &ID_Name);
ここの & は不要です。
YGKR さんが書きました:

コード:

		fgets(ID_Date, 32, DateBase);
fgets()で読んだ内容の末尾には'\n'がくっついています。取り除いておくのが適切だと思います。その上で、
YGKR さんが書きました:

コード:

		if (ID_Name == ID_Date)break;//ループから抜ける
文字列同士の比較をする際は、strcmp()を使うのが適切だと思います。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 線形リストを用いた商品注文プログラム
返信数: 12
閲覧数: 1315

Re: 線形リストを用いた商品注文プログラム

課題を今日中に提出しなければならない ということであれば、採点者が読みやすいよう、せめてインデントくらいはそろえましょう。 以下が自分が作ったプログラムです。 int one_price;//商品の単価 int number_item;//何個注文されたか int number_prices;//合計金額(商品の単価×何個注文されたか) 合計金額は単価と個数から計算できるはずなので、独立したメンバーとして持つ必要があるかどうかは疑問があります。 return(new);//fprintf( stderr, "Check\n" )で確認したところ問題ありそう? fprintf( stderr,...

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