検索結果 1097 件

by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの読み込みが出来なくて困っています。
返信数: 27
閲覧数: 11223

Re: テキストファイルの読み込みが出来なくて困っています。

>int readf(char genso[LINE][NUM])
前の要素数は省略して
int readf(char genso[][NUM])
と書くのが一般的です。関数にはLINEの要素数は渡されませんので。

softya(ソフト屋) さんが書きました:と言うことで、char genso[LINE][NUM];の2次元配列を引数にする場合の対応する型を調べてみてください。正解は2種類あります。
勉強ですから、もう一つの方法を調べてみることをお勧めします。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: バケットソート
返信数: 23
閲覧数: 5564

Re: バケットソート

かずまさんへ、
私がやりかたを勘違いしていました。ポインタを使って並び替えを変えるだけでよかったのですね。
別の領域をバケツで用意し、そちらに値を転送した後、studentに戻すのかと思ってました。

うらはんちょう さんへ
勘違いして、面倒な方法をお伝えしてしまいました。失礼しました。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: バケットソート
返信数: 23
閲覧数: 5564

Re: バケットソート

うらはんちょう さんが書きました: callocと言うのは、はじめて聞いたのですが、ググってみて大体意味はわかりました。
idがあるところの領域だけを確保する方法と言うのを使うと
callocというのは使わなくていいのですか?
どちらにしても使うなら、どう書けば良いかご教授おねがいします。
すでに、あなたが使っているから、callocを使うように指示したのですよ。
何をわけのかからないことを・・・
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの読み込みが出来なくて困っています。
返信数: 27
閲覧数: 11223

Re: テキストファイルの読み込みが出来なくて困っています。

int i,flag;
はローカル変数にしましょう。

で、どの部分を関数にしたいですか?
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの読み込みが出来なくて困っています。
返信数: 27
閲覧数: 11223

Re: テキストファイルの読み込みが出来なくて困っています。

sizeof(genso)
って、具体的にいくつでしょうか?
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: バケットソート
返信数: 23
閲覧数: 5564

Re: バケットソート

>よって={}; を つけるのも指示です。 そうなんですか。初期値を入れないなら意味がないと思うのですが・・・・。 私が、勉強不足で意味が分からないだけなのでしょう。 >最初から1000個分の領域を確保する方法でおねがいします。 なら、ポインタでない方が簡単なのですが、 先生としては、最終的な形として、リスト構造にしたいのかもしれませんね。 では、 for(i = 0; i< 1000; i++){ buckets = 0; } の部分で、callocしてメモリを確保してください。 また >buckets[students ] = students ; は buckets[students -...
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの読み込みが出来なくて困っています。
返信数: 27
閲覧数: 11223

Re: テキストファイルの読み込みが出来なくて困っています。

15行目 fgets(genso,NUM,fp);
ここ、NUMでいいですか?

20行目 for(i=0;i<NUM;i++)
ここもNUMでいいですか?
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: バケットソート
返信数: 23
閲覧数: 5564

Re: バケットソート

うらはんちょう さんが書きました:はい、指示です。
そうですか。それなら、最初から1000個分の領域を確保する方法と、idがあるところの領域だけを確保する方法が
あります。どちらにしますか。

また、
Student* buckets[1000] = {};

Student* buckets[1000] ;
ではないかと思うのですが。 ={}; を つけるのも先生の指示ですか?


どっちにしても、
for(i = 0; i< 1000; i++){
buckets = 0;
}
はおかしいです。
buckets はポインタです。
これは、うらはんちょうが考えた部分ですよね。
何をしたかったのですか?
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: バケットソート
返信数: 23
閲覧数: 5564

Re: バケットソート

うらはんちょう さんが書きました:>ポインタの配列を1000個用意しているのですよ。
>実際のバケツは別に用意しなくてはいけません。
>Student backets[1000];
>の方が簡単なんですねどね。

んー、なるほど。
Student* buckets[1000] = {};
は、ポインタの配列で
もうひとつ、配列を用意するですか。。。

この、studentsの代入は Student* buckets[1000] = {};
のポインタの配列に代入していいんですか?



いえ、既に使っているcallocなどを使って動的にメモリを確保します。
それより、私は、ポインタ配列にするのは先生の指示かと尋ねたのです。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの読み込みが出来なくて困っています。
返信数: 27
閲覧数: 11223

Re: テキストファイルの読み込みが出来なくて困っています。

これは、課題ですか?
課題なら正確に課題を書いてください。
要するに、動的にメモリを確保しなさいという課題なのかわかりません。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: バケットソート
返信数: 23
閲覧数: 5564

Re: バケットソート

うらはんちょう さんが書きました:同一のIDはないという前提でお願いします。

バケットソートのところだけ書く課題で
Student* buckets[1000] = {};
のところは、もともとかいてあったものなんですけど
すると、ポインタの配列を使えってことなのですね。
Student backets[1000];
ではないのは間違いないですね。
うらはんちょう さんが書きました: おそらく、配列buckets[]とは
要素が1000個入る箱を用意したってことだと思います。
ポインタの配列を1000個用意しているのですよ。
実際のバケツは別に用意しなくてはいけません。
Student backets[1000];
の方が簡単なんですねどね。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: バケットソート
返信数: 23
閲覧数: 5564

Re: バケットソート

同じidのものをbuckets入れてしまえば、同じidがあると、nameが上書きされてしまいますが、同一のidはないのでしょうか?

また
Student* buckets[1000] = {};
は、どういう意味で使ってますか?
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: バケットソート
返信数: 23
閲覧数: 5564

Re: バケットソート

asは整数じゃないよってのはわかりますが、全体像が見えませんね。
構造体の説明をするか、プログラムの全部を載せるか、情報が不足してます。
初心者とは言っても、構造体やファイル入力まですでに習っているのですし、もう少し詳しく情報を伝えてください。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: バケットソート
返信数: 23
閲覧数: 5564

Re: バケットソート

void bucket_sort(A* as[], int n)

A*ってのはなんですか?
説明をお願いします。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列のカウント
返信数: 3
閲覧数: 1483

Re: 文字列のカウント

最初のプログラムだと、str[count] が '\0' になったとき抜けますから、そのときのcountのまま、
後のプログラムだと、'\0'であることを判定したあと、count++が行われるので、1つ次に進みます。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 最初のコンパイルで躓いております
返信数: 6
閲覧数: 10558

Re: 最初のコンパイルで躓いております

そこでGameProg.slnは関連付けされているのでダブルクリックでVisual Studio Express 2012は立ち上がるのですがCTRL+F5もしくはデバッグ無しで開始を選びビルドをすると画像のようなエラーが出てしまいます。 プログラム 'C:\Users\hogehoge\Desktop\Sample\GameProDebug\GameProg.exe'を開始できません。 予想ははずれましたか。実行時のエラーぽいですね。 ソリューションをダブルクリックしたとき、変換のメッセージは出てきませんでしたっけ? それは、ちゃんと変換できたのですね。 ビルドのソリューションのリビルドを...
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 最初のコンパイルで躓いております
返信数: 6
閲覧数: 10558

Re: 最初のコンパイルで躓いております

もし、
error LNK2026: モジュールは SAFESEH イメージには安全ではありません。
であれば、


1.プロジェクトの設定の左側の項目から『構成プロパティ』→『リンカー』→『詳細設定』を選択

2.右側リストの一番下にある『安全な例外ハンドラーを含むイメージ』の項目を『いいえ(/SAFESEH:NO)』に
  変更して『適用』ボタンを押して設定を適用
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題なのですが…
返信数: 4
閲覧数: 7437

Re: 学校の課題なのですが…

%を表示するには%%を使う
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルの入出力について
返信数: 14
閲覧数: 17429

Re: ファイルの入出力について

ともみん さんが書きました: フォルダを変更したり、リネームすることは課題では禁止されているみたいで、そのままsample.txtに出力しなければなりません。
そうでしたか。それでは、配列を使うしかないですね。

9行と10行に2回fgetsがあってはいけません。1つにしましょう。
だから、1行目が消えているのです。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: else文がifと一致しません
返信数: 14
閲覧数: 15718

Re: else文がifと一致しません

そう作るなら、maxやminはいらないなぁ。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルの入出力について
返信数: 14
閲覧数: 17429

Re: ファイルの入出力について

突っ込みどころ満載ですね。 >上記のファイル "sample.txt" を読み取り、その各行に行番号を付けて再び "sample.txt" に出力するプログラム を作成せよ。 同じファイル名に保存するには、今あなたがやっているように、一旦、一時ファイルの配列にいれておいても良いのですが、データ量が 不定なのでお薦めできません。みけCATさんが仰っているように、別ディレクトリに保存しても良いのですが、問題の趣旨からすれば、 元のフォルダに戻す必要があります。であれば、あなたのレベルであれば、まず別名で出力することをお薦めします。その後で、フォルダを 変更するか、リネームするかしましょう。 次に、...
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: C言語で13日の金曜日を求めたい
返信数: 23
閲覧数: 23077

Re: C言語で13日の金曜日を求めたい

あってる気がしないなぁ。カレンダで確認してみた?
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: C言語で13日の金曜日を求めたい
返信数: 23
閲覧数: 23077

Re: C言語で13日の金曜日を求めたい

non さんが書きました:yとy1、mとm1の使い方が明確でないようです。もう一度整理してみてはどうでしょうか。
まだ、明確でないことが原因です。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: C言語で13日の金曜日を求めたい
返信数: 23
閲覧数: 23077

Re: C言語で13日の金曜日を求めたい

yとy1、mとm1の使い方が明確でないようです。もう一度整理してみてはどうでしょうか。
また、内側のwhile(m2<12)を抜けたら、m2はまた1月から始めなくては。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: fpsの使い方
返信数: 12
閲覧数: 11945

Re: fpsの使い方

アタゴさん。こんにちは。
折角質問しても、質問の意味が相手に伝わらないと、どうにもなりません。
何が、いいたいのか、もう少しわかるように質問しませんか。

>このフレームの時にこの処理をするということです

「この」は何を指していますか?
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルの入出力について
返信数: 14
閲覧数: 17429

Re: ファイルの入出力について

一つ目のプログラムから。
最初にcに値が入っていない。だから、aが出たのであれば、それはたまたま。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: データベースの作成
返信数: 8
閲覧数: 10587

Re: データベースの作成

void inputdate(LIST *init){ LIST *p=init; int i=0; int j=0; char n[20]; char s[20]; printf("名前をを入力してください。\n"); while( ( n[i++] = getchar() ) != EOF) ; n[i-1] = '\0'; printf("得点を入力してください。\n"); while( ( s[j++] = getchar() ) != EOF) ; s[j-1] = '\0'; if(p->name[0]=='\0'){ strcpy(p->name,n); strcpy(p->s...
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: シュミレーションRPGを作りたいのですが。
返信数: 8
閲覧数: 5363

Re: シュミレーションRPGを作りたいのですが。

C言語ではありませんが、

RPGツクールVX Ace Lite ニコニコエディション
http://www.famitsu.com/freegame/lite/vxacelite.html
が、無料でダウンロードできるみたいです。
これは、私はダウンロードしていませんが、昔、製品版のツクール2000を購入し、作ってみました。
一から作るより、かなり簡単ですし、それなりの作品ができあがります。
また、自分で作るときの参考にもなります。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: ArduinoのPROGMEMでの疑問
返信数: 5
閲覧数: 3252

Re: ArduinoのPROGMEMでの疑問

ソフト屋さん、ありがとうございます。よくわかりました。では、解決といたします。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: ArduinoのPROGMEMでの疑問
返信数: 5
閲覧数: 3252

Re: ArduinoのPROGMEMでの疑問

ソフト屋さん。ISLeさん。

RESありがとうございます。
やっぱり、実行したときにflashからSRAMにコピーされるようですね。使用メモリの調べ方が、紹介してあったページにありましたから、いろいろと試してみます。.dataや.bssセクションの違いがよくわからないので、もしどこかに情報がありましたら、教えてください。だいぶ探しましたが、見つかりませんでしたので。
avr-nmコマンドにて、シンボル毎のメモリ割付を確認すれば、検討がつくのかも知れませんが。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: ArduinoのPROGMEMでの疑問
返信数: 5
閲覧数: 3252

ArduinoのPROGMEMでの疑問

マニュアルによると PROGMEMはSRAMの代わりにFlashメモリ(プログラム領域)へデータを格納しますとあります。 そこで疑問を持ちました。ローカル変数ならSRAMが使われるだろうけど、グローバル変数の初期値がある場合は、何もしなくても、Flashメモリに書かれているのでは、ないでしょうか。静的領域はFlashメモリに取られるのではないのでしょうか。 でも、現実に、大きな配列を用意すると、エラーは出ませんが、動かなくなります。やっぱりSRAMを消費しているようで、PROGMEMを使って、Flashに格納したらうまく動きます。PROGMEMをつけないグローバル変数は実行の時に、Flashか...
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリのゲームで制限時間を追加したいです
返信数: 29
閲覧数: 26130

Re: DXライブラリのゲームで制限時間を追加したいです

ScreenFlip() ; があることで、自動的に1/60秒待っています。 あなたが、使っている // 時間待ち while( GetNowHiPerformanceCount() < Time ){} Time += 1000000 / 60 ; が1/60秒待つプログラムです。 ですから、これはScreenFlip() ;があればいりません。 1秒で終了したいのなら、どこかで1秒数えなくてはいけませんが、あなたのプログラムではどこで数えているのでしょうか。 また、1秒後にwhileから抜けるための条件がどこにもありません。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 配列について
返信数: 5
閲覧数: 2601

Re: 配列について

超絶右留斗羅天才プログラマー さんが書きました:*(c+i)が'\0'でない、かつ'+'でない、かつ'-'でないときは、ループするようになっています。つまり、無限ループになるということです。
「または」では?
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリのゲームで制限時間を追加したいです
返信数: 29
閲覧数: 26130

Re: DXライブラリのゲームで制限時間を追加したいです

あなたのプログラムで必要そうな部分だけを抜き取りました。 LONGLONG Time ; Time = GetNowHiPerformanceCount() + 1000000 / 60 ; while( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 ) { // 裏画面の内容を表画面に反映 ScreenFlip() ; // 時間待ち while( GetNowHiPerformanceCount() < Time ){} Time += 1000000 / 60 ; } やりたいことは、1分したら終了したいのです...
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: データベースの作成
返信数: 8
閲覧数: 10587

Re: データベースの作成

現在、その症状が出ている動くプログラムを載せてください。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリが使えません!!!
返信数: 5
閲覧数: 2717

Re: DXライブラリが使えません!!!

学校の先生に言って、Express Edition をインストールしてもらうのがいいと思います。
使用目的にもよりますが、部活などのサークルならです。
勝手に学校の備品を使っているのなら、まずいでしょうけど。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 状態遷移のプログラムの課題
返信数: 28
閲覧数: 8903

Re: 状態遷移のプログラムの課題

私と、回数が逆ね。もう一度、課題を読むとusaoさんの可能性が高い。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: Visual Studio 2010 Express タイムアウトについて
返信数: 12
閲覧数: 10382

Re: Visual Studio 2010 Express タイムアウトについて

添付されたプログラム 2008Express Edition と C++2010 Professional で行いましたが、途中で止まることはありませんでした。

とりあえず、whileを抜けた、 mem = s;の行をブレークポイントにして、デバッグ実行をし、
sの値が何になっているのか調べてください。正常なら15.000・・・ です。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 状態遷移のプログラムの課題
返信数: 28
閲覧数: 8903

Re: 状態遷移のプログラムの課題

送信してから思ったのですが、状態遷移を続けて3000回行った後の最終的な値が0か1かを
求めるのかも。それを1000回行う。
たぶん、こっちの方が課題として良いと思う。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 状態遷移のプログラムの課題
返信数: 28
閲覧数: 8903

Re: 状態遷移のプログラムの課題

問題 0を発生する状態Aと1を発生する状態Bがあり、状態遷移確率が 0→0;90% 0→1;10% 1→0;60% 1→1;40%  である。これを1000回繰り返して発生した状態をXとし、異なる乱数seedを3000回用いて、 状態Xを発生させる。この時、状態XがAである確率とBである確率を求めなさい。 私も問題の意味が、わからないのですが、私なりに解読してみました。 まず、乱数で0か1か発生させる。(確率1/2) 次を3000回行う 0だった場合は90%の割合で0を発生させ、10%の割合で1を発生させる。 1だった場合は60%の割合で0を発生させ、40%の割合で1を発生させる。 0になっ...
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 特定の文字を入力するまで実行
返信数: 4
閲覧数: 2165

Re: 特定の文字を入力するまで実行

sumが初期化されていない場合もあります。
短いプログラムなのだから、全部を貼り付けましょう。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 去年の課題です
返信数: 44
閲覧数: 10474

Re: 去年の課題です

かずまさん
詳しい説明ありがとうございます。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: C++ 重複を許す順列を全列挙するプログラム
返信数: 6
閲覧数: 4864

Re: C++ 重複を許す順列を全列挙するプログラム

>たとえばn=3のm=5(0,1,2,3,4)

nやmを入力する必要がありますか?m<=10ですか?m>10の可能性はありますか?
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 去年の課題です
返信数: 44
閲覧数: 10474

Re: 去年の課題です

丸太郎さんこんにちは。

> pushやpopやsubはスタックを変化させるということでしょうか?
スタックって書かずに、スタックポインタかスタック領域(スタックフレーム)か区別して質問してくださいね。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 去年の課題です
返信数: 44
閲覧数: 10474

Re: 去年の課題です

なるほど、16の倍数ですか。了解です。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 去年の課題です
返信数: 44
閲覧数: 10474

Re: 去年の課題です

そうですか。わかりました。ありがとうございます。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 去年の課題です
返信数: 44
閲覧数: 10474

Re: 去年の課題です

盛り上がっていて楽しそうですね。急がば回れという言葉はありますが、いざそれを実践するのはなかなか困難なことですよね。
力になってあげたいけど、私は8086系のアセンブラなんて知りませんのでね。CASL2でなく、CASLならわかるけど。(古いね)

横から、便乗質問させてもらって悪いけど、
3行目の sub $0x10,%esp で、 なぜ、0x10バイトなのでしょうか?
ローカル変数として4バイトが2個あるようですから、8バイト分はわかりますが。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: CSV(文字列)を二次元配列に格納する方法
返信数: 10
閲覧数: 10730

Re: CSV(文字列)を二次元配列に格納する方法

>>non さん ご返信ありがとうございます。 返答遅くなり失礼しました。 >すると、動的にメモリを確保しなくてはいけないですね。 動的にメモリを確保ということはmallocを使って確保させる必要がある ということででしょうか。 >問題数は固定で用意しますか?それともこちらも可変ですか こちらも可変を考えております。 そうですね。mallocを使うのが正道でしょうね。でも、学校の課題でないなら、かずまさんがサンプルを書いているstrdup を 使うのが簡単です。 問題数が可変の場合は、問題の最大数が決められるのなら、配列で最大数を用意する方が簡単です。 もちろん、これも動的に用意してもかまい...
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: ある場所に置いてあるファイルを読み込むには
返信数: 3
閲覧数: 2024

Re: ある場所に置いてあるファイルを読み込むには

フォルダにあるファイル一覧を表示して選択したいという意味でしょうか?
一番単純な方法は、そのユーザにファイル名を入力してもらう方法だと思います。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: CSV(文字列)を二次元配列に格納する方法
返信数: 10
閲覧数: 10730

Re: CSV(文字列)を二次元配列に格納する方法

takoman さんが書きました: (固定長でいいのか?とかいうこともあるけど)
こちらは可変長を考えております。
すると、動的にメモリを確保しなくてはいけないですね。
問題数は固定で用意しますか?それともこちらも可変ですか?
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題
返信数: 8
閲覧数: 4170

Re: 学校の課題

問題数は1+2+4+8+16=31ではないかと。

すると本当に if else で2つずつに分けていけという課題なのでしょうか。
なんと、面倒なだけで、面白くない課題でしょう。先生の出題した真意がわからない。

if else は習いましたね。最初の問題で if と else にyes と noに分けます。
この分かれた中で、各々再び yes と no に分けると、4通りになります。
この分かれた中を、また、全部 2つにわけてと、繰り返す。
これを5層まで行えば32通りに分かれます。
ひたすら、面倒なだけです。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 課題
返信数: 16
閲覧数: 5431

Re: 課題

本人の明確な回答を待っているのだけど、ksaさんわかっているのかな?
ksa さんが書きました:恐らくは直近の授業で扱ったif for while文を主として組めるのだと思います。
この文章から推察すると、まだ制御構造までしか習っていないので、関数や配列、文字列はこの後という気もします。
別のフォーラムにあった、再帰なんてわかるはずがない。

しかし、ただの屍のようだ さんが示している内容に食いついてくればそう確信しますがね。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

あらま、投げ出してよいの。それは、それで回答者に失礼だな。
ちょっと、課題が難しかったね。質問者のレベルでは、難しいと思う。
もう少し、前から勉強した方がいいと思います。その方が、本当に勉強するつもりなら、かえって早いでしょう。
急がば回れ!!
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題
返信数: 8
閲覧数: 4170

Re: 学校の課題

アキ さんが書きました: 仕様としては質問は各ルート5問ずつ、結果と問題数は32ずつの予定です。
問題数はなぜ、32問ですか?
配列は使っていいのですか?
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 課題
返信数: 16
閲覧数: 5431

Re: 課題

当事者はどこ行った?
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

今日、明日は忙しいのでusaoさんにパス。しっかり絵を書いてくださいね。とても書いているとは思えないから。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

54行のwhileあたりも、サンプルと違う。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

学籍番号は文字列なのでstrcmpを使います。beforeはいらないと前もいいました。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

これが、私が前に示したHPの挿入部分 if (list == NULL) { /* リストが空の場合は特別扱いする */ node->next = NULL; return node; } else if (before(node, list) == 1) { /* 新しい要素が日付順でもっとも早い */ node->next = list; return node; } else { /* 挿入位置を決める */ struct schedule* p = list; while (p->next != NULL && before(node, p->next) == 0) { p = p->...
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

小岩井 さんが書きました:
non さんが書きました:それより、addstudentを番号順に挿入できるようにしてください。
そのことなんですが、課題用のテキストファイルは日付順かつ出席番号順に記述されているので、ただ挿入するだけでいいという気もするのです…。
とにかく追加できるようやってみます。
その日だけで考えれば、確かに学籍番号順なのですが、欠席した学生が後ででてくることもあるので、出席番号順に挿入できるようにしておかなくてはいけません。できあがりの絵がわかってないからイメージがつかめないのです。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

130 行 dispStudent(StudentList->next);

dispStudent(StudentList);
でしょう。
また、これで出力されないのは先頭の1行であり、2行出ていないと思っているのは勘違いでしょう。

また、関数 beforeは日付で並べる必要はないので、(もともと日付順で入力される)不要です。

それより、addstudentを番号順に挿入できるようにしてください。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

あなたが、動かしているプログラムをそのまま、載せてください。
これに投稿するために打ち直しているのですか?
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

C++の勉強するのは課題が終わってからにしなさいよ。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

すると、空白行があったり、出席者がいない日付があるわけですね。了解しました。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

共通のデータで実行しないと、同じ結果を確認できません。
テスト用のデータを作ってファイル添付してください。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

そろそろ、もともと課題用に用意されているTEXT.TXTを添付してもらえますか。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

7行目 while(p != NULL)
これってなぜwhile?

6行目あたりに、 p->next=NULL;
が必要だと思うけど。

まだたいして長くないので、プログラムは省略せずに全部載せてください。途中からスレッドを読む人がわかりにくいし、こちらも試すのに面倒です。

ついでに main() は
int main(void)
と書いてもらえますか。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

なんで、再帰。再帰を使っていけないわけではないけど、何のためにサンプルがあるページを示したの。わざわざ、違う方法を使う理由がわからない。サンプルが理解できてから、違う方法にチャレンジすべきじゃないかな。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

どこかに、自分で勉強できるよい情報がないかと検索しました。
http://www.is.titech.ac.jp/compview/clang/chap11.html
ここの下の方にある、「C 言語でリスト構造を実現する」が、最後尾に追加する場合
「日付順に追加する」がアスキー順に追加する場合の参考になるのではないでしょうか。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

で、ちゃんと動いたのでしょうか?確認してみましたか。 しっかりみてはいませんが、戻り値は何を返すつもりでいますか? 最初に私が作ったプログラムでは、一番先頭のポインタを返していました。小岩井さんが作った、前の最後尾にノードを追加するプログラムではtailを返していましたね。今回は、先頭にノードが追加されるかもしれませんし、最後尾に追加されるかもしれません。戻り値は一つしか返せませんね。さて、何を返すことに決めたのでしょうか。 また、whileの繰り返しの中で、ノードの挿入を行っています。この関数では1個のノードを追加すればよいのに、なぜ、whileの中なのでしょうか?いずれにしても、小岩井さん...
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

p = (struct Student_Entry *)malloc(sizeof(struct Student_Entry));
したあとで
while(p != NULL)
それをこの目的につかおうという意味がわかりません。

q = (p1)->next; //pの1個前

これも???

絵を書いてみたらどうですか。
これを日本語で言えば
ポインタp1が指しているノードの次のノードをqで覚えるってことです。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

まず、tailって名前は通常最後尾を指すために使う変数名です。 今回は先頭を示すポインタを必要とします。もしくは、先頭と最後尾を渡すという方法でもかまいませんが。 次に 追加するノードは一つなのに、なぜmallocが3つあるのでしょうか? 一つでいいでしょうし、まだ、挿入する場所も見つけていないのに、mallocするのは早いです。 もちろん、p以外のポインタとしてrやqを使うのはかまいませんし、たぶんp以外のポインタは必要になるでしょう。 while(p != NULL) { i = strcmp(p->number,addnumber); if(i<0) break; p = p->next...
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

まず挿入する場所を探します。 先頭から順番にstrcmpで比較していって、挿入する場所を探します。 ただし、挿入する1個先まで進んでしまうので、1個前を覚えておくか、もう一度先頭から見て行って1個手前を指す必要があります。 片方向リストは前に戻れないので不便です。 さて、挿入する場所によって次の3パターンに分かれます。 1 先頭に挿入する場合 2 最後尾に追加する場合 3 途中に挿入する場合。 まずは、挿入する場所をforかwhileを使って探す部分を作ってみてください。 添付された作りかけのプログラムは正直、訳がわからないので(strcmpは使うけど、戻り値は使ってないし)コメントできません...
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

できれば、tailを使わずに、先頭からwhileを使って最後尾まで進めて挿入して欲しかったのですが、まあ、tailを使っても、理解が進んだのならいいでしょう。

では、次に最後尾に挿入するのではなく、番号順(アスキー順)に挿入するように変更してみてください。ただし、すでに同じ番号があるときには追加しないこと。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

添付されたプログラムは、私のところではエラーになります。実際に、動かしているプログラムを載せてもらえないですか。

リンクしたところに書いてあるプログラムは最後尾をtailで指してるでしょ。あなたのには、そんなものがありません。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

それなのですが、友人から教わったりして表示にこぎつけたのですが、番号が後ろの人から順に出力されました。これはそれを反対にする関数で逆順に表示しようと思います。 それと、 B300121 B300120 B300119 .... B300001 .... .... B300121 B300120 B300119 .... B300001 というように、推測ですが入力ファイルにある日付の分だけ繰り返し表示されました。 データの追加するとき、リスト構造の先頭に付け加えており、表示は先頭から行っているので、逆順になっています。 学生番号のリストは学籍番号順に作った方が良いと思いますし、ダブった番号は...
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: datファイル作成方法
返信数: 14
閲覧数: 11773

Re: datファイル作成方法

Visual C++をお使いのようですね。すると、EXEファイルの作り方も、コマンドプロンプトの出し方も知らないと思えます。 Visual C++なら次のようにしてみてください。 プログラムは、変更前の一番最初のもの Visual C++の上にあるメニューから「プロジェクト」、一番下の「・・・・のプロパティ」 プロパティページが開くので、左側の構成プロパティを選択。 右側に「コマンド引数」ってのが出ますから、そこの空白に >test.dat って入力。 プロパティページを「OK」で閉じて 後は、いつものように「デバッグなし開始」 すると、コマンドプロンプトが出て、途中の計算結果が表示されなくな...
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: datファイル作成方法
返信数: 14
閲覧数: 11773

Re: datファイル作成方法

リダイレクトして実行するプログラムは、一番最初のプログラムです。fopenを付け加えたものではありません。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

プログラムは全部を載せるようにしてください。 >以下は出席番号を追加する関数number_addと日付を追加する関数date_addです。 どこに追加しようとしているのですか?前のときは、最後尾に追加しようという気持ちは伝わりましたが。 今回はさっぱりわかりません。 これおかしいです。 if(tmp = NULL) 2つもaddする関数を作るよりも、まずは完全に動くリスト構造を作ってみた方が良いと前にもお伝えしたつもりです。 ****以下 再掲 ****** たとえば、ファイルが B300001 B300002 B300003 .... B300121 のように学籍番号だけだとして、学籍番号だ...
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: datファイル作成方法
返信数: 14
閲覧数: 11773

Re: datファイル作成方法

mkai さんが書きました:nonさん
コマンドプロンプトから行ったのですが数字に変化がありませんでした…
ごめんなさい。言っている意味がわかりません。
デスプレイに表示されている数値を、ファイルに出力したいということではなかったのですか?
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

小岩井 さんが書きました: addはリストに出席番号を格納する関数です。

コード:

void *add(struct Student_Entry *ptr)
それなら、追加したい出席番号を関数に渡す必要があります。
渡すときに、本当に出席番号だけなら

コード:

void *add(char *addNumber,struct Student_Entry *ptr)
みたいにすればいいですね。最初のstrと同じってことになりますが。メンバーではないってことです。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: datファイル作成方法
返信数: 14
閲覧数: 11773

Re: datファイル作成方法

ただのスペース区切りのテキストファイルのようですね。

リダイレクトするだけでいいでしょう。
コマンドプロンプトから
プログラム名 >test.dat
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

どこをどう突っ込んでいいやら、わかりませんが・・・・ struct Student_Entry { char number[8]; struct Student_Entry *next; struct Date_Entry *date_entry; char *str; }; 最後のメンバーstrは、何でしょ?入力ファイルには、それらしいのがないのですが。 仮に、名前があったとして、これはポインタです。実際に格納される領域はどうするのでしょうか? add関数の中でfreeしているみたいだけど。 void *add(char *str, struct Student_Entry *ptr) { ...
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: レポート課題です。(提出期限切れなのであせってます。)
返信数: 20
閲覧数: 7071

Re: レポート課題です。(提出期限切れなのであせってます。)

できたんですか?
どんな、レポートを書いたか見てみたい。
ついでに、なんという教科名かも知りたい。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: レポート課題です。(提出期限切れなのであせってます。)
返信数: 20
閲覧数: 7071

Re: レポート課題です。(提出期限切れなのであせってます。)

[quote="コジコジ"]Use of undeclared identifier 'tmp'
quote]

日本語に訳すと
未定義の識別子tempが使われています。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: レポート課題です。(提出期限切れなのであせってます。)
返信数: 20
閲覧数: 7071

Re: レポート課題です。(提出期限切れなのであせってます。)

エラーが出たら、そのエラーを載せてください。

恐らく、返値の型が違っているのでは?

ところで、関数は呼び出さなきゃ使えないですよ。
でも、配列を習っていないのに、関数はもう習っているのですか?
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: レポート課題です。(提出期限切れなのであせってます。)
返信数: 20
閲覧数: 7071

Re: レポート課題です。(提出期限切れなのであせってます。)

コジコジ さんが書きました:配列を用いれば極めてシンプルに書くことができる.興味のあるものは配列について自習し実装してみてほしい.
習ってないのだから、配列を使わなくても良いのでしょう。
出力だけして、

コード:

if(tmp%7==0)
	puts("日");
で、いいのでは?
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: レポート課題です。(提出期限切れなのであせってます。)
返信数: 20
閲覧数: 7071

Re: レポート課題です。(提出期限切れなのであせってます。)

配列ね。
char youbi[]={"日","月","火","水","木","金","土"};

こう宣言して使えってことでしょうね。

間違えました。
char youbi[][3]={"日","月","火","水","木","金","土"};
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: レポート課題です。(提出期限切れなのであせってます。)
返信数: 20
閲覧数: 7071

Re: レポート課題です。(提出期限切れなのであせってます。)

boxさんからヒントをもらったのに何も変わってないですね。 それは、そうとして 何で「10のn乗後の曜日を計算する」課題なんでしょうね。先生の出した真意がわかりません。 単純に計算すると、nが大きくなるとオーバーフローするから、方法を考えろということなのでしょうか。 だとすると、boxさんのようにすべきだと思いますが、ちょっと考察。 10^n は (7+3)^n と変形できます。 展開すれば 一番最後の項に 3^n が出ます。他の項はすべて7の倍数です。 ですから 10^nを計算しなくても 3^nを計算すればよいですね。 それでもオーバーフローするかも知れないなら、答えを7で割った余りにしてい...
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の構造体について
返信数: 72
閲覧数: 14762

Re: 複数の構造体について

授業中にStudent_EntryにDate_Entryを入れてあげてリストを作ればいいよ、と言われたのですがその方法もいまいちピンときません…。 おそらく、 struct Student_Entry { char number[8]; struct Date_Entry *date_entry; struct Student_Entry *next; }; struct Date_Entry { int year; int month; int day; struct Date_Entry *next; }; このような構造体にしろという意味だと思いますが、まずは、あなたの理解度として、普...
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 修正処理の作成の仕方を教えていただけないでしょうか
返信数: 14
閲覧数: 4488

Re: 修正処理の作成の仕方を教えていただけないでしょうか

削除の方法として何通りかあると思いますが、どの方法をお望みでしょうか?

方法1 検索と同じように削除するデータを見つけ、それ以降のデータを前につめENDを一つ減らす。

方法2 削除するデータを見つけ、そのデータと最後のデータを交換し、ENDを一つ減らす。

方法3 削除するデータを見つけ、そのデータに削除した印(たとえばP_IDを0にするとか)をつける。
  ただし、新規追加する場合に、この印がついた場所にデータを格納することになる。

一番簡単なのは方法1かな。処理に一番時間がかかるけど。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 再帰処理
返信数: 3
閲覧数: 1799

Re: 再帰処理

フィボナッチ数列によく似てますね。
フィボナッチ 再帰 C言語 で検索したら、似たようなプログラムが得られるでしょう。
 
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 配列を用いた点数ごとのランクわけ(?)について
返信数: 5
閲覧数: 4061

Re: 配列を用いた点数ごとのランクわけ(?)について

KINDEЯ さんが書きました:解答ありがとうございます!

コード:

while(scanf("%d", &count[i]) != EOF)	i++;
としてみたのですが、Ctrl+Zで処理も止まり、数字を入力した場合はループが回るのですが、
文字列を入力すると固まってしまいます・・。
何が原因なのでしょうか・・。
数字以外の文字列が入力されることも考慮が必要という事でしょうか。
もしそうなら、一旦文字列として取り込み、数値に変換するようにします。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 関数の定義について
返信数: 9
閲覧数: 3428

Re: 関数の定義について

最低でも、29行と39行のforはなくしましょうよ。みっともないから。

コード:

double kspeed(double gravity, int second)
{
    return gravity*second;
}
 
double kheight(double gravity, int second)
{
    return 1500.0-(gravity * second * second / 2.0);
}
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを使った関数のプログラムについて
返信数: 15
閲覧数: 7388

Re: ポインタを使った関数のプログラムについて

day,hor,minの値は、関数time_setの中でscanfせずに、引数で渡すのが課題の題意ではないでしょうか?
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 関数の定義について
返信数: 9
閲覧数: 3428

Re: 関数の定義について

関数の宣言がわからないとのことですが、宣言はこれで間違っていないと思います。

問題があるとすれば、
プログラムの中身は見ていませんが、27行で nを返しているのが意味がないかと。
折角、計算したvを返すのでは?
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体を用いた並び替え関数
返信数: 9
閲覧数: 6140

Re: 構造体を用いた並び替え関数

usaoさんの指摘が解決したとして、次に

コード:

seisekiTyp *nara(seisekiTyp *sort)
関数の仕様をはっきりさせましょう。
引数として渡すのは、構造体のアドレスだけのようですが、個数はどうしますか?
一般的には、個数を渡したいところです。必ず、4個と限定していいのですか。

戻り値として、構造体のアドレスを返すようにしていますが、これは何を返したいのでしょうか?
ローカルで作成した変数のアドレスを返しても意味がありません。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: EXCEL2013のレーダーチャート軸線
返信数: 2
閲覧数: 2308

Re: EXCEL2013のレーダーチャート軸線

回答が得られないため、
Microsoftのコミュニティにも投稿しました。
http://answers.microsoft.com/ja-jp/offi ... 7984833295
あしからず。
by non
11年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体を用いた並び替え関数
返信数: 9
閲覧数: 6140

Re: 構造体を用いた並び替え関数

usaoさんの質問されたことに対する回答になっていません。

関数でわからないことは何ですか?と、問われてますよ。

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