検索結果 113 件

by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 解決してませんでした><
返信数: 32
閲覧数: 11479

Re: 解決してませんでした><

なるほど!!
理解しました^^
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 解決してませんでした><
返信数: 32
閲覧数: 11479

Re: 解決してませんでした><

そして、1万個のソートしたデータをもう一度ソートしたら
4321msとなりました!!

うまくいけてるようです。

10万個でやりました。
普通にばらばらのをソートすると426ms
ソートしたものをソートすると252955ms
でした。

結局なにがいけなかったのでしょう?
学校で提示されたclock関数がいけなかったのですか??
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 解決してませんでした><
返信数: 32
閲覧数: 11479

Re: 解決してませんでした><

端末に入力するのはよくわからないのでやってませんが、データ数1万で先ほどかかれていたものを付け加えてやってみました。 1万個のデータでやると31msとなりました! #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> typedef struct school_record SRec; struct school_record { float gpa; int credit; char name[200]; SRec *next; SRec *left, *right; }; #if defin...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 解決してませんでした><
返信数: 32
閲覧数: 11479

Re: 解決してませんでした><

プログラムを実行する前に、端末に ulimit -s unlimited と入力し、Enterキーを押してください。 これは最初の1回だけでいいはずです。 すみませn>< 端末とはなんですか??><申し訳ないです ほんとにそういう単語が全くわからないのです・・・ おかしくなるとはどういう状況ですか? 昨日まで、というか今はいけたのですが、10万個のデータの時出力ファイルが表示されなかったのです。(今5万と10万でやったらちゃんと秒が表示されました^^windowsですが) もう一度言いますが、強制終了されましたか? 強制終了されていない場合、しばらく待ってみてください。 Windowsでコン...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 解決してませんでした><
返信数: 32
閲覧数: 11479

Re: 解決してませんでした><

lognの件は納得しました。 $ ulimit -s unlimited がどこでどうすればいいのかがわかりません。調べたりもしたのですが単語がみたことないものばかりでてきてよくわかりません・・ #if defined(__WIN32__) || defined(__WIN64__) #include <windows.h> unsigned long getzikan(void) { return (unsigned long)GetTickCount(); } #else #include <sys/time.h> unsigned long getzikan(void) { struct...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 解決してませんでした><
返信数: 32
閲覧数: 11479

Re: 解決してませんでした><

回答ありがとうございます!!>< 質問と確認があるのですが、 clk_start = clock(); root = Insert(list, comp); list=ListMake(root,NULL); clk_end = clock(); とすればちゃんとソートの時間となりますよね??たしかにあれだけでは木からリストをつくってるだけでした・・・ これだとO(nlogn)でいいんですか?ネットをみてると、似たようなものがありO(nlogn)というのとO(logn)という2つのがでてきてたんですが・・・ この測定は学校のPCでやらないといけないみたいで(他の人と条件をあわすため) Linu...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 解決してませんでした><
返信数: 32
閲覧数: 11479

Re: 解決してませんでした><

どなたか・・・
10万はできなくてもいいので、なぜ時間はかれないかだけでも教えてください><
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 解決してませんでした><
返信数: 32
閲覧数: 11479

Re: 解決してませんでした><

そのあたり全く知識ないのでよくわかりません・・・><

コードをかえるのも怖いというか・・・
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 解決してませんでした><
返信数: 32
閲覧数: 11479

Re: 解決してませんでした><

10000個のデータでも正しく表示されていると思います。(きちんとした確認はしていません) しかし、100000個のデータでは強制終了してしまいました。 原因は再帰のしすぎによるスタックオーバーフローだと思います。 テストデータを添付します。 Windowsだからでしょうか…Linuxでやってみます Linuxでやる場合、実行前に $ ulimit -s unlimited というコマンドを実行するとうまく動くかもしれません。 Linuxだと一万個うまくいきました!! $ ulimit -s unlimited はどこで実行するのですか?はじめてみるもので・・・>< これをコードの最初にかく...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 解決してませんでした><
返信数: 32
閲覧数: 11479

Re: 解決してませんでした><

上ではりつけたプログラムです、インプットの中のエラーの部分でしかフリーリストはしてません(/ _ ; )

もう一度家帰ってから試してみます…
Windowsだからでしょうか…Linuxでやってみます
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 解決してませんでした><
返信数: 32
閲覧数: 11479

Re: 連結リストと二分探索木について

#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct school_record SRec; struct school_record { float gpa; int credit; char name[200]; SRec *next; SRec *left, *right; }; // Tree の中の node をを通りがけ順 (inorder traversal) で出力する void OutputTree(SRec *node, FILE *fp) { if (node == NULL)...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 解決してませんでした><
返信数: 32
閲覧数: 11479

Re: にぶんぎについて

なるほど!!
そうみるとわかりやすいですね^^
ありがとうございました!!
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 解決してませんでした><
返信数: 32
閲覧数: 11479

Re: 連結リストと二分探索木について

なるほどそういうことだったんですか!!
ありがとうございます^^

木とか意識するものなんですかね?
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 解決してませんでした><
返信数: 32
閲覧数: 11479

Re: 連結リストと二分探索木について

DEFTHとかきいたことなくてわからないですがまぁできてるということはわかりました^^
でも、右に90度回転させると木が見える のいみがわかりません^^;
木ってただ根から2つにわかれていってたら木じゃないんですかね(回転しなくても)?
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 解決してませんでした><
返信数: 32
閲覧数: 11479

Re: 連結リストと二分探索木について

なるほどfree理解しました^^
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 解決してませんでした><
返信数: 32
閲覧数: 11479

Re: 連結リストと二分探索木について

ありがとうございます!!まだ解読しているとちゅうです。。。が、確認したいのですが 今回はソート前の連結リストを出力(入力したままの順序で出力)したいのでInput関数は前のにかえればいい。 Delete関数などつくらなくてもInsertとAddTreeでちゃんとnodeの後ろの要素は削除できてる。 で、教科書とかのははじめてListをつくってたけど、今回のはもともとできてるやつをもってくるだけだからmallocはいらない。 あと、二分探索木がちゃんと作成されているかを知るために通りがけ順で出力している。 list = Input(fpi); if (list == NULL) return 1...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 解決してませんでした><
返信数: 32
閲覧数: 11479

Re: 連結リストと二分探索木について

#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct school_record SRec; struct school_record { float gpa; int credit; char name[200]; SRec *next; SRec *left,*right; }; //連結リストの先頭要素を削除、さらにそれを返す SRec* Delete(SRec head) { SRec* tmp; tmp=head.next; //tmpに先頭要素を保存 tmp->next=NULL; he...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 解決してませんでした><
返信数: 32
閲覧数: 11479

解決してませんでした><

#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct school_record SRec; struct school_record { float gpa; int credit; char name[200]; SRec *next; SRec *left,*right; }; //連結リストの先頭要素を削除、さらにそれを返す SRec* Delete(SRec head) { SRec* tmp; tmp=head.next; //tmpに先頭要素を保存 tmp->next=NULL; he...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: ソート時間について(関連:連結リスト その2)
返信数: 6
閲覧数: 2535

Re: ソート時間について(関連:連結リスト その2)

windowsですでもプロジェクトエクスプローラーからもう何なのかわかってないです>< すみません・・・でも今回は他の人と同一のハードウェア仕様かつ同一の使用環境のもとでの計測なのでそういうところはいじらなくていいのかもしれません。 それで何ができるのかわからないのでかみ合ってないかもしれませんが。。。^^; 話は少しかわって?自分が今回しりたいのは ?? データ数を増やすと処理時間はどのように増加 するか? ?? 理論と実際の差異はどうか? ということなんですが、理論値が計算量などをつかって出せずに詰まってます??ランダムデータの場合: 比較+ 入れ替え ?? ソート済みデータの場合: 比較...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: ソート時間について(関連:連結リスト その2)
返信数: 6
閲覧数: 2535

Re: ソート時間について(関連:連結リスト その2)

ノードをいくつか連結して 1 つのリストになります。 SRec 構造体が 1つのノードです。 SRec * はノードへのポインタですが、 リストの先頭要素であるノードへの ポインタは、リストへのポインタといっていいでしょう。 れおさんのプログラムでは、SRec *node と SRec *list のほとんどが反対です。 さて、ソート時間についてですが、コンパイルには最適化のオプションをつけていますか? また、C ではなく C++ だったら、list が使えますから、次のプログラムの時間を計ってみてください。 #include <iostream> #include <fstream> #i...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: ソート時間について(関連:連結リスト その2)
返信数: 6
閲覧数: 2535

Re: ソート時間について(関連:連結リスト その2)

あっそうでした!!ありがとうございます。。
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: ソート時間について(関連:連結リスト その2)
返信数: 6
閲覧数: 2535

ソート時間について(関連:連結リスト その2)

昇順にソートします。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> typedef struct school_record SRec; struct school_record { float gpa; int credit; char name[200]; SRec *next; }; SRec* Listsort(SRec *node,int (*comp)(const void *,const void *)) { SRec head; //ソート前リスト SRec top; /...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 成績データのソート(連結リスト・その2)
返信数: 29
閲覧数: 10884

Re: 成績データのソート(連結リスト・その2)

わかりましたー
ありがとうございましたm(_ _)m

また新しいスレたてますのでこれはここで終了させてください

みなさんありがとうございましたm(_ _)m次回もお願いしますm(_ _)m
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 成績データのソート(連結リスト・その2)
返信数: 29
閲覧数: 10884

Re: 成績データのソート(連結リスト・その2)

前半はわかりました^^

『Free関数ではプログラムの最後に呼ばれるものだから、全部解放する必要があります。』
だけがちょっと。ただへにっくすさんのを言い換えただけになってるのかもしれませんが・・m(__)m

かずまさんのコードでいうと、
Inputでは最後nodeをよびだしてるのに、中になにもいれてないから最後のループがおわったときだけfreeしてるんですよね?
Freeではsrecを最初からNULLになるまでfreeするのは、最後だからもうどのデータもいらないから全部最初からfreeするということですか?
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 成績データのソート(連結リスト・その2)
返信数: 29
閲覧数: 10884

Re: 成績データのソート(連結リスト・その2)

グローバル変数は使わないほうがいいんですかね?
コンパイルの速度など考えると同じくらいなんですかね?
多分次ファイルの中身を何万個とかにしてやるのでできるだけ速いほうが好ましいので・・・

char[200]は仕様というかきめられてるのでおいといてくださいw


Input関数では最後に1回しかfreeしてないのに、Free関数ではループで回してfreeしているのはなぜなんですか?
どういう違いがあるのかわかりません・・・
ネットで調べてたらたしかにループ内でやってるやつもあるのですが、どういうときそうするのかわからなくて・・・
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 成績データのソート(連結リスト・その2)
返信数: 29
閲覧数: 10884

Re: 成績データのソート(連結リスト・その2)

あ~なるほどです。
具体的にはわかりませんが、ループの最後でfreeしたらいけるような気がするのですが・・・
関数をつくらないとむりですかね?
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 成績データのソート(連結リスト・その2)
返信数: 29
閲覧数: 10884

Re: 成績データのソート(連結リスト・その2)

一応そういうつもりでした。教えてもらったのは、mallocがでてきたらfreeするということだったので、コート内に mallocという単語がでてきた一番最後でfreeすると思ってました。 で今回はmallocであるnodeをどこの他の関数にもわたしているのでその関数の最期でいれました。 nodeをわたしているからまだ渡していないところでfreeするなということですよね? だから今回freeをいれるのは、Inputと、Output(もしくはmainの最後)でいいんですよね? 下はまだnodeはつかってませんが(2)から(5)に対応できたはずのものです。あとは(1)だけのはず・・・>< #incl...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 成績データのソート(連結リスト・その2)
返信数: 29
閲覧数: 10884

Re: 成績データのソート(連結リスト・その2)

あぁ・・・
そういえばそういうのありましたね・・・OTZ
ダメダメですね・・・・

node使ってやってみます(+o+)」
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 成績データのソート(連結リスト・その2)
返信数: 29
閲覧数: 10884

Re: 成績データのソート(連結リスト・その2)

(3)(4)(5)だけなおしてみましたが 実行結果がうまくいきません。 #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct school_record SRec; struct school_record { float gpa; int credit; char name[200]; SRec *next; }; SRec head; // head.next がリストの先頭要素を指す SRec* Listsort(SRec *node,int (*comp)(const void *,const...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 成績データのソート(連結リスト・その2)
返信数: 29
閲覧数: 10884

Re: 成績データのソート(連結リスト・その2)

なるほどなんとなくそれでいけるというのはわかりました。
ただ、自分でそれを思いつくかどうか・・・><

他にもどこかダメなところがあるようですが、どこなのでしょうか??
一応示してくれたものを訂正して、思った通りの実行結果になりますが・・・
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 成績データのソート(連結リスト・その2)
返信数: 29
閲覧数: 10884

Re: 成績データのソート(連結リスト・その2)

たしかに隣同士しかくらべてなかったです・・・
全然気づいてなかった><
今確認したのはそこだけなので
また後でくわしく考えてみます。
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 成績データのソート(連結リスト・その2)
返信数: 29
閲覧数: 10884

Re: 成績データのソート(連結リスト・その2)

p=&head; save1 = p; // 現在の最大値の一つ前 save2 = p->next; // 先頭要素を現在の最大値とする while(p->next!=NULL) { if(func(p->next, save2) > 0) // 現在の最大値と比較 { save1=p; // 削除するために最大のものの1つ手前をsave1として覚える save2=p->next; // 最大のものをsave2 } p=p->next; } なぜsave2にするのかがわかりません; どっちも同じものを比較することになりますよね?? なんで自分のはだめなのでしょう・・・
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 成績データのソート(連結リスト・その2)
返信数: 29
閲覧数: 10884

Re: 成績データのソート(連結リスト・その2)

で、save1、save2の更新するところがif文の中にあるので、 while(p->next!=NULL)のループを抜けた後は、 save1、save2はNULLになるケースがあります(かずまさんの指摘よんでますか?)。 なのでここにもif文は必要ですよ。 また、常にtop.nextに入れてるのもおかしいです。これだと常に上書きしてますよね。 リストの末尾に追加したいんでしょう? そうなるように組んでください。 どういうif文かよくわからないのですが・・・ 全部書き込みは目を通してます。それを書いてる部分がどれというか、そういうことをさしてるということに気づいてませんm(__)m一応直せる...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 成績データのソート(連結リスト・その2)
返信数: 29
閲覧数: 10884

Re: 成績データのソート(連結リスト・その2)

ん~>< 動作が停止してしまいました・・・ #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct school_record SRec; struct school_record { float gpa; int credit; char name[200]; SRec *next; }; SRec head; // head.next がリストの先頭要素を指す SRec* listsort(SRec *node,int (*func)(const void *,const void *)) { SR...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 成績データのソート(連結リスト・その2)
返信数: 29
閲覧数: 10884

成績データのソート(連結リスト・その2)

(今度は前スレでやったものを)ソートして出力したいです。 ファイルの中身は 3.5 27 jiro 2.7 24 taro 3.7 30 saburo です ソート方法は、ソート前のリスト:L, ソート後のリスト:S 1. Lが空なら終了 2. Lの中の最大要素Mを探索 3. MをLから削除 4. MをSに挿入( 挿入はSの先頭に) 5. 1. へ というかんじです。 今回は結構自分で考えてやってみたのですが、出力ファイルに何も表示されません。。。 どなたか力をかしてくださいお願いしますm(__)m 下にコードをはります。不明な点などあれば言ってください。 #include <stdio.h>...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

自分でもそれは思ってたのですが・・・
同じ範囲といえば同じ範囲だしどうすればいいかわからず、前ちょっと指摘されたのでこのままつづけてました。
新しくたてますね^^;
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

今度は↑でやったものをソートして出力したいです。 ソート方法は、ソート前のリスト:L, ソート後のリスト:S 1. Lが空なら終了 2. Lの中の最大要素Mを探索 3. MをLから削除 4. MをSに挿入( 挿入はSの先頭に) 5. 1. へ というかんじです。 今回は結構自分で考えてやってみたのですが、出力ファイルに何も表示されません。。。 どなたか力をかしてくださいお願いしますm(__)m 下にコードをはります。不明な点などあれば言ってください。 #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struc...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

27行目:!=3というのは「要素数?が3つでないなら」っていうので大丈夫ですよね? 前半:なるほどそういうことだったのですね!!理解できてませんでした・・・学校でもその説明はなく当たり前かのように進んでたのでそのまま進んでしまってました・・・ありがとうございます! 中半:一回よみこんだものをまた読み取るとかあるんですね^^;今回はファイルの中身が3つずつと固定だったから無限ループ(breakでとびだすが)でいけましたが、固定じゃなかった場合などはfeofはつかっていいのでしょうか?後半部分のfgetsですが、fgetsは ファイルポインタfpから1行、またはlenバイト読み込んでその先頭アドレ...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

すみません。自分としてもできるだけ答えをおしえてもらわずにやりたいのですが、どうも苦手で修正版などの違う形をみても自分の形に応用することができません・・・ mallocをちゃんと理解していませんでした。=配列とおもいこんでいました・・・ 今回提示してくださったものはなんとなくは理解できますが、疑問点もいくつかあります・・・ 19行目:なぜわざわざ=NULLにするのかわかりません。これの行は別になくてもいいんですよね? 21行目:なぜwhile( )のところを (!=feof) にしてはいけないんですか?(fpi!=EOF)ならいいんですかね??たしかに(1)にするとずっとループするのでそれでい...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct school_record SRec; struct school_record { float gpa; int credit; char name[200]; SRec *next; }; SRec head;//リストの先頭要素 /*void simple_sort(SRec* array, int n, int (*func)(const void*,const void*)) { SRec N; int i = 0, j = 0; fo...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

mallocをちゃんと理解しきれてませんでした。

修正版みましたがどうしたらいいのか・・・申し訳ないです・・・
ありがとうございました。
今回は無理そうです。
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

ちょっと連結リストとmallocの関係?がいまいちつかめておらずどうしていいのかわかりませんでした・・・
明日か明後日にしかやる時間ないのでまたそのとき考えますが、示してくれたコードをみるに、さきにノードにファイルからよみとって、それをmallocの配列にいれるようにすればいいんですね^^

またすぐつまずくとは思いますが考えてつくってコードはるのでその時また指摘くれたらうれしいです><
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

↑までは成績データ件数をファイルからよみとってやってたんですが、今回はファイルの中身を 3.5 27 jiro 2.7 24 taro 3.7 30 saburo のようにデータだけにして、成績データ件数をよみとらずにやりたいと思います。 つまり、成績データの件数に上限を設けることなく、また、扱うデータ件数の増減に柔軟に対応できるように一方向の連結リストを用いて成績データを記憶するように↑でやったコードをかきかえたいです。 コマンドライン引数は前回とかわらず gpa input.txt output.txtです。 この課題の条件は a.今回はソート処理を省略するものとする。したがって、入力した...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

なるほど!!
わかりました^^
わざわざありがとうございますm(__)m
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

0x00はヌルですかね?
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

バイナリデータがわからないので理解できませんがまだ関係なさそうですねw

ありがとうございました^^
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

strcpyじゃ無理なんですかwわかりましたm(__)m


memcpyの役立ちどころがいまいちまだわかりませんね・・・
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

なるほど!strcpyだとヌル文字も含んでしまうからmemcpyのほうがいいわけですね^^

アドバイス・回答をくださったみなさまありがとうございました。
今後もどうかよろしくお願いしますm(__)m
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

今おもったんですが、構造体のコピーとかしなくてももうこれでいけてませんか? #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct school_record { float gpa; int credit; char name[200]; } SRec; void simple_sort(SRec* array, int n, int (*func)(const void*,const void*)) { SRec N; int i = 0, j = 0; for (i = 0; i < n; i++...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

どのように変えたんだか。すげー気になりますが、、 関数の引数には「値渡し」と「参照渡し」があります。 Number関数を参照渡しにするなら以下のような感じになりますが、普通しないです。 void Number(FILE* fpi, int *n) { fscanf(fpi, "%d", n); // ←★ここ注意!ポインタ変数になるので & はいらない } // ・・・省略 // メイン関数のNumber呼び出しを以下に変える // Number(fpi, &n); // ★←ここも注意!参照渡しなので & がいる たしかにそれをgpaなどの分もつくればいけますよね? でも .creditと...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

学校にいれてもらってCDTかはわかりませんが、
起動に問題が発生しました
セッションの作成エラー

とでてなにもできません><
実行はできるのにデバッグができないのははじめてです・・・
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

>beatleさん
ん~><
使ってるのがeclipsなんですよね・・・
前やろうとしたんですが設定とかよくわからずやめてしまって。

>へにっくすさん
そういうふうにはしてませんでした・・・><
そうしないとうまくいかないんですね・・・
ポインタをつかわないと値をかえれないみたいなそういう感じなんですかね。。。

たしかにそれをgpaなどの分もつくればいけますよね?
でも .creditとかにしなくてもいけるような話がでてるのでちょっとまってみますね^^

ありがとうございました!!
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

[quote="かずま]20行目は問題ありません。21~23行目です。
N = array; array = array[j]; array[j] = N;[/quote]
そうなんですか?
こうしたら構造体のどれを比較してるかわからなくないですかね??

でもまだ動作を停止するんですね・・・^^;難しい・・・
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

>かずまs 後半:void Numberをintにして return n; しました
        前半がどの部分かよくわからないのですが・・・
        むしろ20行目を

コード:

if (func(&array[i].credit,&array[j].credit)==1)//(*func)(..)でも可
かと思ったく        らいなんですが・・・;

>ソフト屋s そうですね。ところどころprintfしてみます。でもデバッグも実行もできない状態なので今のところ確認もできないです・・・
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

前段階として、関数名が関数へのポインタであることとか関数の型とかを理解しないとダメな気がします。 void foo(char c, int i) { // char,intを引数に持ち返却値がvoidである関数fooは、 // char,intを引数に持ち返却値がvoidという関数型 } void (*func)(char,int) = foo; // char,intを引数に持ち返却値がvoidという関数型へのポインタ変数funcに代入(これは初期化だけど)できる int main() { func = foo; // もちろんふつうに代入できる } これはなんとなく理解しました^^ なの...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

ちょっと今ばたばたしてて目をとおせないのでへにっくすsのだけ返信します。 たしかにそうですね; さっき書こうとしてたのですが、そのまま忘れてました・・・すみませn 入力ファイルが 3 3.5 27 jiro 2.7 24 taro 3.7 30 saburo で最初のもじは人数です (それをファイルからよみとって変数nに代入してます。) コマンドラインは credit a.txt b.txt で、第一引数にはgpa credit nameの3通りがきます。 自分のコードはまだcreditのソースしかつくってないのでcreditしか反応しません。a.txt b.txtが順に入力ファイルと出力ファ...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

まじですか!?^^;

そのサイトもほかのサイトも最低10個はみたんですが・・・
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

基本的な関数とポインタはならいましたが、ほんとに初歩的なことしかならっていないです。 提出期限まで時間に余裕がないんです・・・>< 一応さっき言ってたとこはかきなおせました(たぶんこれでいいとおもいます。) でも実行すると動作を停止しましたとなります。 #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct school_record { float gpa; int credit; char name[200]; } SRec; void simple_sort(SRec* array, int n...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

たしかにそうです;
ただその理解不十分なものを十分にするのが課題なのです・・・;
つまりこの課題を通して学べという感じなのだとおもいます。(授業でならわないので)

できるだけ自分の力で試行錯誤してやりたいのですが、力不足で自分でやっても全然正解にたどり着けないのです・・・
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

intになおしたらけいこくきえました^^

19行目のifの中ですが、func=compare_intなのでcompare_intで返している1をfunc==1みたいにしたのですが、どうやったらできるんでしょうか?
func==1にするとcomparison between pointer and integerという警告が出ます;
funcはポインタなのでなんとなくわかりますが、
*func==1としたら*funcはint型なのでいけるとおもったらむりでした・・・
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct school_record { float gpa; int credit; char name[200]; } SRec; void simple_sort(SRec* array, int n, int (*func)(const void*,const void*)) { int N = 0, i = 0, j = 0; for (i = 0; i < n; i++) { for (j = i + 1; j < n; j++) { if (...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

すみません。
そこは書かなくてももうできているのでいいと思ってました。
simple_sortの中身が最大値抽出法なのでそこはもうきにしなくていいのですが、(intなどの型は変える必要あるとおもいますが)警告をなくせないのでそこで詰まっています・・・
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

そういう課題なのでひつようです!!;

qsort()関数を自前のソート関数に置き換える。ただし、ソートアルゴリズムには、最大値抽出法を用いる。
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

どうやったら関数へのポインタになるのか見当がつかないのですが・・・;
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

box さんが書きました:
れお さんが書きました: int (*func)(int, int)
qsortの第4引数で渡しているのが、
int (*func)(const void *, const void *)
という、「任意の型へのポインター(に後で変換できる)を2つ渡して、
比較結果によりint型の戻り値を返す関数へのポインター」
です。
compare_int, compare_float, compare_char の3つです。

引数は順に
ソート対象の構造体配列へのポインタ、要素数、比較関数へのポインタ
のつもりなんですが・・・
第3引数については↑の3つだと思ったので・・・
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

今度は↑で完成したプログラムを a.入力処理、出力処理、ソート処理をそれぞれ 1個の関数呼び出しで実現できるように作成する(それらの関数の中でさらに別の関数を呼び出してもいい)。 b.ソート処理関数の引数は 3個。すなわち、ソート対象の構造体配列へのポインタ、要素数、比較関数へのポインタ、の 3個。 c.入力処理関数、出力処理関数では、それぞれの関数内において外部変数にアクセスしてはいけない。構造体配列へのポインタやデータ件数は、引数や戻り値で授受すること。 d.出力ファイルの最初には、成績データの件数を記録すること。出力ファイルをそのまま入力ファイルとして使用できるように配慮すること。 (昇...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

>boxさん 遅くなってすみません。この3週間テストやら課題やらで忙しくて・・・
       なるほど納得しました^^

>かずまさん なんかカッコがいくつもつくだけでもう自分はだめですwwいわれてみればそうだとわかりましたが・・・
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

そうですかww

int (*func)(int, int)

こういう形のものがなかったのでつい・・・
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

あっそいういえば、これって条件のdみたせてないですよね??
どうすればいいんでしょうか・・・?
関数へのポインタにするメリットもわかりませんが・・・
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

なるほど。。。

またなにかあればお願いします^^

ほんと毎回ありがとうございます><
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

int compare_int(const void* a, const void* b)//gpa { /* 引数はvoid*型と規定されているのでSRec型にcastする */ SRec* tmp1 = (SRec*)a; SRec* tmp2 = (SRec*)b; if(tmp1->gpa == tmp2->gpa) return 0; このの記述に関しては、 tmp1やtmp2という変数を用いなくてもいいかもしれません。 例えば if((SRec*)a->gpa == (SRec*)b->gpa) のように書けるかもしれません。試してはいないので、本当に動くかどうかはわかりません。...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

array = (SRec *) malloc(sizeof(SRec) * n);//並べ替えで使う SRec型 なぜsixeof(array)じゃだめなのでしょう?arrayはSRecと同じサイズ?だとおもうのですが・・・ 私の先ほどの回答をもう一度よくご覧ください。 malloc関数の引数の記述が sizeof(int) で本当にいいんですか? とおたずねしています。 sizeof(array) でいいかどうか、については全く言及していません。 そもそも、SRecというのは実体であって、それを指す(はずの)arrayとは、 実体とポインターという観点からいって、サイズが同じであることは...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

qsort関数の引数の並びは、下記のようになっています。 void qsort(void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *)); この関数は、ソートしたいデータの「型に関係なく」ソートできるようになっていなければなりません。 よって、第4引数に指定している「関数へのポインターで利用している2個の引数」は、 データがどんな型であってもいいように、void * になっています。 先ほど提示されていたソースでは、文字列を比較するために用意されていた関数の引数が、 「ある特定のデータ型だ...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

今 #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct school_record { float gpa; int credit; char name[200]; } SRec; int compare_float(const void * a, const void * b) { SRec* tmp1 = (SRec*)a; SRec* tmp2 = (SRec*)b; if(tmp1->gpa == tmp2->gpa) return 0; else if(tmp1->gpa > tmp2->...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

たしかに;
きづきませんでした。

今回の自分の課題ではその必要はないですかね??
難しくてよく意味がわからなくて・・・^^;


エラーというのは(警告でした)
passing arg 4 of `qsort' from incompatible pointer type
です。
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct school_record { float gpa; int credit; char name[200]; } SRec; int compare_int(const void* a, const void* b)//gpa { /* 引数はvoid*型と規定されているのでSRec型にcastする */ SRec* tmp1 = (SRec*)a; SRec* tmp2 = (SRec*)b; if(tmp1->gpa == tmp2->gpa...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

ん~
よんだんですが、うまくいかない・・・><
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

Re: 宿題でつまずいてます

そうですか。
では話題が大幅にかわればまたたてさせていただきます。
今日はもう遅いのでまた明日確認します^^
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 宿題でつまずいてます
返信数: 93
閲覧数: 30409

宿題でつまずいてます

何度か似たようなスレをたててしまい申し訳ありません。 これからは新しいのはたてずにこのスレですべて行っていきますので・・・ では本題に・・・; 成績データを読み込んでソートを行うプログラムを作成する。 1件の成績データは、累積GPA(Grade Point Average)、修得単位数、名前(氏のみ、英数字で199文字以内)、から構成されるものとする。入力ファイルには、まず、成績データの件数が記録されており、以降、成績データごとに、累積GPA、修得単位数、名前、の順で記録されているものとする。 成績データのどのフィールドでソートを行うかは、コマンドライン引数の第1引数で指定する。gpa なら累...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 前の続きです・・・行列
返信数: 19
閲覧数: 7246

Re: 前の続きです・・・行列

なるほど!
後でやったほうが上書きされてしまうのですね!!

つまりその例においては
Power_matrix(X, &Y, n, 2);
  printf("X^2:\n"); Print_matrix(Y, n);
Power_matrix(X, &Z, n, 4);
printf("X^4:\n"); Print_matrix(Z, n);
こうすれば問題ないのですね?^^
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 前の続きです・・・行列
返信数: 19
閲覧数: 7246

Re: 前の続きです・・・行列

なるほど。。。
じゃあメイン関数以外の関数では全てにstaticをつけといても問題ないのですか?(ループを回すi,jなどはのぞいて。これも変数の文字をかえたらstaticをつけても別に問題ないですよね?)

後半は理解できました^^
ほんとに感謝します!!


宿題が出るたびに知らないことがまだまだあってまだCの1割も理解してないような気がしてこわいですww
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 前の続きです・・・行列
返信数: 19
閲覧数: 7246

Re: 前の続きです・・・行列

いけました!! ほんとありがとうございます><返信も早くて助かります^^ staticなんてつかったことなかったです・・・ 今からちょっと調べてきます。 ちなみに48~51行って、どうなっているんですかね?ここはちょっと友達がやったので意味がわかってません。 for文で tmp = x; x = y; y = tmp; としたあとに、 tmp = x; x = y; y = tmp; *Y = y; をすると、yの値などがかわってしまうとおもうのですが・・・ 調べたけどわかりませんでした。 Power_matrixは1回しかよびだされませんよね?staticにしたらなんでいけるようになるんでし...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 前の続きです・・・行列
返信数: 19
閲覧数: 7246

Re: 前の続きです・・・行列

宿題とは関係なしにポインタをつかってやってみました Power_matrixでの引数のひとつをポインタのポインタでやるみたいです。 自分なりにやったのですが、答えがあきらかにおかしいです。ビルドエラーとかはないのですが・・・ どこがおかしいのか自分ではかなり考えたんですがわかりません どなたか訂正お願いします。 また次課題がでるのでできるだけ早くこれは解決したいです; お願いします。 だいたい自分がやったようなコードであってるはずなので、これをもとに考えていただくとありがたいです。 おそらくPower_matrixの中身だけかえればいけるとおもうのですが・・・ Z=X*X Y=Z*X YとZの...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: またもや宿題でつまずいております・・・
返信数: 37
閲覧数: 12533

Re: またもや宿題でつまずいております・・・

すみません。
これは一度解決にしてしまったので・・・
こっちはもう流すつもりだったのですが・・・
まだみなさん見てくれているようで結果またあがってしまいました。

kが奇数偶数でわけるのもなしという課題で、ポインタノポインタを用いる課題だったのですが、自分が理解できていないため、もう条件には反してコピーで提出することにします。
みなさんありがとうございました。
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 前の続きです・・・行列
返信数: 19
閲覧数: 7246

Re: 前の続きです・・・行列

ん~
うまく説明できない・・・><

とりあえず今回はちょっと条件からはずれてますが、前のスレのboxさんのかりさせていただきます。
memcpy memsetの勉強にもなったしそれを参考にして提出します。


みなさんありがとうございました^^
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: またもや宿題でつまずいております・・・
返信数: 37
閲覧数: 12533

Re: またもや宿題でつまずいております・・・

なんかポインタのポインタを利用しないといけないみたいなんです><
(**p)みたいなやつです。。。
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 前の続きです・・・行列
返信数: 19
閲覧数: 7246

Re: 前の続きです・・・行列

ありがとうございます。
でもなんかポインタのポインタをりようしないといけないらしいです><

(**p)みたいなやつです・・・
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 前の続きです・・・行列
返信数: 19
閲覧数: 7246

Re: 前の続きです・・・行列

なるほど。理解しました。
また明日早いので明日あたりにみなおします。。

ありがとうございます!!
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: またもや宿題でつまずいております・・・
返信数: 37
閲覧数: 12533

Re: またもや宿題でつまずいております・・・

(k & 1)ってどういういみですか??;
あとexitってどういうときにつかうんですか?リターンとはちがうのですか?
もう寝ないと明日早いのでまた今度詳しくみてみます

ありがとうございますほんとに・・・
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 前の続きです・・・行列
返信数: 19
閲覧数: 7246

Re: 前の続きです・・・行列

beatleさん 68行目です(このレスでは49行目です)!このコピーをしてはいけないという条件なんです・・・ boxさん boxさんが書いたプログラムは自分の実力ではまだ理解できないのです・・・       調べてもいまいちmemset などがわからないもので・・・;;       なのでかずまさんのを利用することにしてみます。       自分のにもそこまではこだわりないのですが、自分のじゃないと理解できないことが多かったり、理解するのにかなり      時間がかかるので>< みけCATさん 課題の条件がコピーせずにポインタを利用してやることなんです。>< 一応前すれのかずまさんのを用いて...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: 前の続きです・・・行列
返信数: 19
閲覧数: 7246

前の続きです・・・行列

前のを解決にしてしまったんですが、まだ解決してませんでした>< //n×n正方行列Aに対して、Aのk乗を求めるプログラム #include <stdio.h> #define N 5 void Input_matrix(float (*X)[N],int n) { int i=0,j=0; for(i=0;i<n;i++) { for(j=0;j<n;j++) { printf("行列Aの%d行%d列成分の値を入力してください\n",i+1,j+1); scanf("%f",&X[i][j]); } } return ; } void Multiply_matrix(float (*X)[N]...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: またもや宿題でつまずいております・・・
返信数: 37
閲覧数: 12533

Re: またもや宿題でつまずいております・・・

たしかにそうですね。忘れてましたww>みけCATさん
あぁいうのは初期化しないほうがいいんですか?意味ないのはわかってるんですが、一応初期化してたんですが・・・>かずまさん

ちなみに今回のは行列をコピーしてk乗の計算をしていますが、コピーせずにやろうとおもったらどうすればいいんですかね?
ポインタを利用するみたいなんですが・・・
自分が考えたのは2乗の計算をする関数をk乗する関数のどこかにいれればいけるような気がしたんですが、なんかイメージがつかめず、どこにその関数を挿入すれバいいかわかりませn;
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: またもや宿題でつまずいております・・・
返信数: 37
閲覧数: 12533

Re: またもや宿題でつまずいております・・・

いけました。
69行目の後にW[j]=0;
とするのをわすれてました。というか気づいてませんでした。
これをしないとどんどんたされてしまうんですね。
解決しました。
回答してくださったかたがたありがとうございます!!^^
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: またもや宿題でつまずいております・・・
返信数: 37
閲覧数: 12533

Re: またもや宿題でつまずいております・・・

k=1のときはできました。
関数内のYをZとしなければいけませんでした。

kが4以上のときがまだむりです><
わかるかた教えてください・・・
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: またもや宿題でつまずいております・・・
返信数: 37
閲覧数: 12533

Re: またもや宿題でつまずいております・・・

//n×n正方行列Aに対して、Aのk乗を求めるプログラム #include <stdio.h> #define N 5 void Input_matrix(float (*X)[N],int n) //2次元配列のポインタ。後ろのほうしか必要じゃない { int i=0,j=0; for(i=0;i<n;i++) { for(j=0;j<n;j++) { printf("行列Aの%d行%d列成分の値を入力してください\n",i+1,j+1); scanf("%f",&X[i][j]); } } return ; } void Multiply_matrix(float (*X)[N],flo...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: またもや宿題でつまずいております・・・
返信数: 37
閲覧数: 12533

Re: またもや宿題でつまずいております・・・

コメントは入れてありませんし、ちゃんとテストしたわけでもありません。 課題の結果として提出する場合は、各文が何をしているかを人に説明できるように しておいてください。 #include <stdio.h> #include <string.h> #define N (5) void Input_matrix(double (*x)[N], int n) { int i, j; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { printf("%d行%d列の要素=", i + 1, j + 1); scanf("%lf", &x[i][j]...
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: またもや宿題でつまずいております・・・
返信数: 37
閲覧数: 12533

Re: またもや宿題でつまずいております・・・

h2so5 さんが書きました:
れお さんが書きました: ところで初期化っていちいちループまわして初期化するしかないんですかね??^^;
すべて0で初期化する場合は、

float X[N][N] = {{0}};

という書き方ができます。
そうなんですか!
勉強になります^^ありです^^
すべて1のときも同様にいけるんですよね??
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: またもや宿題でつまずいております・・・
返信数: 37
閲覧数: 12533

Re: またもや宿題でつまずいております・・・

なるほどです!
初期化してないとはまだまだあまいですね・・・><
ところで初期化っていちいちループまわして初期化するしかないんですかね??^^;
by れお
13年前
フォーラム: C言語何でも質問掲示板
トピック: またもや宿題でつまずいております・・・
返信数: 37
閲覧数: 12533

Re: またもや宿題でつまずいております・・・

//n×n正方行列Aに対して、Aのk乗を求めるプログラム #include <stdio.h> #define N 5 void Input_matrix(float (*X)[N],float (*Y)[N],int n) //2次元配列のポインタ。後ろのほうしか必要じゃない { int i=0,j=0; for(i=0;i<n;i++) { for(j=0;j<n;j++) { printf("行列Aの%d行%d列成分の値を入力してください\n",i+1,j+1); scanf("%f",&X[i][j]); Y[i][j]=0;//Yにプラスしていくから初期化してる。下の関数のZのこと...

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