1 :
デフォルトの名無しさん :
2011/01/30(日) 20:41:12 BE:397618867-S★(532000)
次はもうないと思ってた新スレ乙
3 :
デフォルトの名無しさん :2011/01/30(日) 21:02:51
[1] 授業単元:オペレーティングシステム2
[2] 問題文(含コード&リンク):ソースプログラムを別ページに用意しました。
http://www.geocities.jp/gx303jp (1)プログラムをマルチスレッド版に改良せよ。
(2)プログラムの解説をせよ。
(3)改良したプログラムを解説せよ。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2011年1月31日
[5] その他の制限:特に制限無し
よろしくお願いします。
5 :
デフォルトの名無しさん :2011/01/30(日) 21:53:28
自スレに転送してるやつなんなの?アク禁されればいいのに
スレストされたのにまだ懲りないのか・・
// 4 9 a => 13 + a = s1 // 3 b 7 => 10 + b = s2 // c 1 6 => 7 + c = s3 // a < b < c // pair1(0, 3, 6) // pair2(1, 4, 7) // pair3(2, 5, 8) // pair4(3, 6, 9) #include <stdio.h> int main(){ int i; for(i = 0;i <=3;i++){ printf("(%d, %d, %d)\n", i, i+3, i+6); } return 0; } これはひどいw
>>5 コマンドライン引数にパスを指定するとそのファイルをデータとする、指定しなかった場合は問題文に有る例題をデータとする
インターフェイスに難が有るかも知れんけどこんなもんじゃないのかな
コメントが不足してるかも知れんので疑問点には答えるぉ
ttp://codepad.org/r4NeIxPn
11 :
sage :2011/01/31(月) 05:04:15
[1] 授業単元:C言語の基礎 [2] 問題文 「複数の異なるデータ型を持つ情報に対して、情報の回覧と追加ができ、 ファイルの読込とができるプログラムを作成しなさい。 たとえば名簿のような物で、氏名、電話番号、住所、整理番号などを 読込、書込、保存をする。可能なら、検索もできるようにすると良い。 複数のデータを扱うために、構造体を持つ配列を使うこと。 また、メンバ数は6個以上の情報を扱うこと。 ファイル形式は、CSV形式で、1つの情報の関連データ(メンバ)はカンマで区切り、 別の情報データ(行)は改行で区別しなさい。ファイル名の拡張子はcsv。 データファイルはプログラム起動時にコマンドラインから入力できること。 また、そうではないことにも対応すること。」 [3] 環境 [3.1] OS:windows [3.2] コンパイラ名とバージョン:borland [3.3] 言語:C [4] 期限: 2/1まで [5] その他の制限: 基礎的な授業なので入門書等に書いてある内容だけ習ってます。 お願いします!
>>13 問題の意図が不明確
数学的アプローチとして、ルートに入る最小の正整数は1だから、
√(1+1)-√1=1.414-1=0.414 > d
つまり回答が無いことになる
問題11って事だから、問題10以前にヒントがあるのかな?無いなこの調子じゃ
ループの条件が逆
>>13 #include <stdio.h>
#include <math.h>
int main(void)
{
int i;
double d = 0.4;
for(i = 1; sqrt(i + 1) - sqrt(i) >= d; i++);
printf("%d\n", i);
return 0;
}
>>14 って日本語読めない◆QZaw55cn4cじゃないの?
◆QZaw55cn4なら自スレに誘導するんじゃねw
それは問題を理解した気になったときだろw
d<0.4だからdは入力させるのか? #include <stdio.h> #include <math.h> int main(void) { int i; double d; do { scanf("%lf", &d); } while(d >= 0.4); for(i = 1; sqrt(i + 1) - sqrt(i) >= d; i++); printf("%d\n", i); return 0; }
>>4 #include <stdio.h>
int main(void)
{
int a, b, c, s1, s2, s3;
for(a = 0; a < 10; a++) {
for(b = 0; b < 10; b++) {
if(a == b) continue;
for(c = 0; c < 10; c++) {
if(a == c || b == c) continue;
s1 = 4 + 9 + a;
s2 = 3 + b + 7;
s3 = c + 1 + 6;
if(s1 == s2 && s2 == s3) printf("a = %d b = %d c = %d\n", a, b, c);
}}}
return 0;
}
とりあえず俺にケツを向けろ
27 :
デフォルトの名無しさん :2011/01/31(月) 20:07:29
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
http://codepad.org/zKDn7mD5 [3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2011年2月2日
[5] その他の制限:特になし
宜しく御願いします。
>>27 コメントにやること書いてあるとはいえ
もう少し何してもらいたいのか書いたら?
GORL
30 :
前スレ88 :2011/01/31(月) 22:04:19
前スレ88ですが、〆切を2/8の22:00まで延長してもらいました。 もし解ける方がいましたら、よろしくお願いします。
31 :
デフォルトの名無しさん :2011/01/31(月) 22:13:16
33 :
デフォルトの名無しさん :2011/01/31(月) 22:55:20
講義にでてない人が作ったら間違いなく想像してたのとは違うものができる気がする
>>30 前スレもう落ちたから問題すら見られなくて無理
>>38 何これ怖い
というか応用どころか実務に近いので
宿題の領域ではないと思われ
ハフ変換か
s/〆切/納期/
ググってみたら論文があったぞ 考え方くらいは参考にさせてもらって来いよ 納期に間に合うといいね^v^
1ヵ月も延びたのに何もやっていなかったとか呆れちゃうわ 論文もまともに読めないブラック乙ですか()
45 :
5 :2011/02/01(火) 01:34:43
>>38 これネタだろ? 144か143代目辺りでもこれと同じのあった記憶があるぞ。
あ=
>>145 代目 って書いてあるか。ネタじゃないのか。
48 :
sage :2011/02/01(火) 04:31:53
>>48 せめてサンプルデータくらいは自作して提示すれば回答しやすいと思うよ
それすら面倒なら単位を諦めなさい
>>48 Cってよりも、BCBのGUIっぽい気がする
>>11 は他スレで質問して20分も立たずにここに丸投げしたゆとり
少しは自分で考えろよ
52 :
デフォルトの名無しさん :2011/02/01(火) 13:11:39
>>51 ゆとりって怖いね
サンプルデータも作れないって事は問題文すら理解できないって事か?
54 :
ドヤン :2011/02/01(火) 17:53:28
課題提出期限ラッシュか。いそがしくなるな
56 :
ドヤン :2011/02/01(火) 17:55:23
大学のURLそのまま貼るとか勇気あるな
58 :
ドヤン :2011/02/01(火) 17:59:52
そんなんビビって宿題なんて頼めません。
学籍番号教えろ
60 :
ドヤン :2011/02/01(火) 18:40:33
さすがに怖いわ!
締め切りは今日だね、意味有るの?
62 :
ドヤン :2011/02/01(火) 19:35:36
今日中ならいいと言っていたので大丈夫です。 でも急に頼んだこっちが悪いんで気が向いたらでかまわないです。 かといって他にも頼んでる訳ではないですけど。
63 :
ドヤン :2011/02/01(火) 19:44:45
でももしやっていただけるならめっちゃうれしいです。
65 :
ドヤン :2011/02/01(火) 20:22:49
こういう資料探してました。 ほんとにありがとうございます。
[1] 授業単元:計算機プログラミング [2] 問題文(含コード&リンク): 以下のコマンドを実行可能な名簿管理システムを作成せよ。 メンバーの追加 メンバーの削除 メンバーリストを名前順(アルファベット昇順)で表示 メンバーリストの名前順(アルファベット昇順)でのファイル出力 引数として"-f ファイルパス"を指定することによるメンバー初期データの読込 メンバー情報として、名前と学生番号を持つこと。システムの拡張は自由に行ってよい。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: 2011年02月07日17:00まで [5] その他の制限: リスト構造を用いる よろしくお願いします
>>11 です。なんかすいません。
サンプルデータはこんな感じです。
1,hokkaidou,1,111-1111,sapporo,090-1111-1111
2,tokyo,1,222-2222,sibuya,090-2222-2222
3,saitama,0,333-3333,omiya,090-3333-3333
4,kanagawa,0,444-4444,yokohama,090-4444-4444
5,miyagi,1,555-5555,sendai,090-5555-5555
6,fukuoka,0,666-6666,hakata,090-6666-6666
構造体は
typedef struct {
unsigned int id; // メンバ1 整理番号
char name[32]; // メンバ2 名前
char seibetsu; // メンバ3 性別
char zipCode[8]; // メンバ4 郵便番号
char address[256]; // メンバ5 住所
char tel[25]; // メンバ6 電話番号
}meibo;
としています。
コマンドラインでファイルをうまく読み込むことができません。文字化けします。
お願いします!
>>67 今さら回答するわけねーよ。どあほ
君が焦る分、俺のメシが美味くなるぜ(笑)
もう2/1だからむりだぁ〜
名簿がどうとか明らかに宿題じゃないだろw よってスレチ 数学の知識もある程度必要な、面白い問題無いの?
内容的には課題レベルだろ
つか文字コードレベルの話と見た
>>75 写真画像から境界線抽出して塗り絵素材を作る
そろそろ気づけよ(笑) 誰もやるわけねーよ。 単位落としとけやゴミが
83 :
デフォルトの名無しさん :2011/02/01(火) 22:51:53
コマンドプロンプトとメモ帳とgccでC言語の勉強をしています。 メモ帳で"あいうえお"と書いたファイル,ファイル名aiueo(拡張子はtxt)を作って デスクトップ上に保存しました。 それなのに コマンドプロンプト上で dir aiueoや dir aiueo.txt など としてもファイルが見つかりませんとなります・・・orz 何故でしょう?
>>83 コマンドプロンプトのカレントディレクトリがデスクトップでないから。
87 :
83 :2011/02/01(火) 22:55:34
>>84 ちゃんと教えてください。ここ宿題スレですよね?
明日提出なんで、できなかったら留年しちゃいます!
階層が違うんじゃない? aiueo.txtが置いてあるところのアドレスとコマンドプロンプトのアドレスが違うとおもわれ
>>87 dirのオプションは宿題じゃないだろwwww
マジスレすると
dir abcはカレントディレクトリに属するabcフォルダの中身を表示する
やろうとしてるのはコマンドプロンプト開いてそこのフォルダのaiueoフォルダの中身を表示させようとしてるだけ
全力で釣られてあげたよ嬉しいでしょww
>>87 コマンドプロンプトの表示が
C:\
こうなってたら、
CD \Documents and Settings\お前のアカウント\デスクトップ
と入力して、リターンキーを押す
表示が
C:\Documents and Settings\お前のアカウント\デスクトップ>
こうなってたら、
DIR aiueo.txt
と入力して、リターンキーを押す
これで意味が分からないなら、留年した方が良い
ってかデスクトップの階層が分からないから留年とか釣りすぎわろたw
留年おめでとう。 親に何て言うのか想像しただけでメシウマすぎるwww 学費もう一年払ってもらうように土下座しとけゴミwwwwwww
95 :
93 :2011/02/01(火) 23:14:26
>>94 みたいにただ煽るだけの低脳って、結局
>>83 に答えられないからなんだろうなぁ
これは酷い釣り
中身見たけどこのまま出したら笑えるなw
イカ ゲソ w
教授「これはダメじゃなイカ」
自演乙
>>93 >>104 ありがとうございます!
コンパイルしてみたら 83:宣言の構文エラー と出たので調べてます。
83 bool beginWith(char *a, char *b)
ってところなんですが…エラーなんですか?
>>11 よかったな。
>>104 で完成してるようだな。
つうか俺も途中まで作ってたが0時過ぎた orz
bool
構文エラーってでてるのにエラーなんですかって意味がわからないんだが
そういやCってbool型なかったっけ
112 :
93 :2011/02/02(水) 00:12:39
visual c++で通ったぞ 普段C書かないから知らない、boolをintにすればいいんじゃない? ちゃんと提出したのか?
これはwwwwwメシウマな予感wwww
おまいらお疲れ。
そして
>>11 君、その内容ではおそらく留年。
>>11 >>104 を出したのか?
問題には構造体を持つ配列と有るが、
>>104 は構造体のポインターリンクリストだ
題意を満たしていない事に気が付かなかったの?
それ以前に俺が書いてる事は理解できるんだろうか?
え、金払ったのかコイツww しかし、可哀想なことに遅すぎたな。
>>119 お金もモリタポもいただいておりません。しばらくは開店セールでしょうね。
普通の小学生でも理解できる日本語が理解できない相手に注文するなんて、怖くてできねーだろw
>122 めちゃくちゃスパースだな、もったいないもったいない
>>122 全部書き直しちゃいけないのか?
読んで理解するのが時間がかかるのだが
if(strcmp(ss,"ア") < 0 || 0 < strcmp(ss,"カ"))
とか
指定されてたりするのか?
>>122 元の問題文をそのまま載せてくれればやるよ
一から書き直すけど
127 :
デフォルトの名無しさん :2011/02/02(水) 09:22:32
122です。 携帯からの書き込みですいません… 書き換えても大丈夫です! マップの表示と経路結果さえ出来ていれば… 問題分をまたあとで一応貼ります 迷惑かけます…
>>125 >
>>66 > strcmp() で名前ソートすると 大文字 < 小文字になるけど良いかな?
問題ありません
すごいです!ありがとうございます!
>>129 >>122 のデータは何か変だな、東京-千葉や東京-神奈川の距離が -1 になってるよ
まぁそんな事は良いけど番号が隣接してても県が隣接してないケースも有る様だね
簡単に解けるかと思ったけど難しいな
131 :
デフォルトの名無しさん :2011/02/02(水) 14:37:49
>>130 確かにMapの方はおかしいところがかなりありました…
しかしそのデータ基準で大丈夫です。
誤解を招くデータを与えてしまいすいません…
>>131 東京と千葉が選択されたらどうするの?埼玉経由www?
最初に考えたのは1と5が選択されたら12345って経路から234を削る組み合わせを全探索すれば良いかなって思ったんだけど、
神奈川の次が新潟だったりするからこの考えではダメだね
何か考え方のヒントでも無いの?
>>132 おそらく埼玉経由になるかと・・・
このデータで作れというのが前提条件なので・・・
考え方のヒントは すいません もらってないです
これを作るに当たって
>>122 のプログラムを先に作らされ それを踏まえれば出来る とのことで出されました。
122のプログラミのdatファイルの中身は別ですが・・・
>>135 ????
化けた文字しか見えないんだけど
>>136 中身は
ア,イ,ウ,エ,オ,カ
ア,0,3,-1,1,2,-1
イ,3,0,2,5,4,-1
ウ,-1,2,0,3,-1,3
エ,1,5,3,0,7,6
オ,2,4,-1,7,0,3
カ,-1,-1,3,6,3,0
です。すいません!
実際は一行目のアの前に半角スペースが2つ入ります!
>>138 そんな事はどうでも良いんだけど、重要な質問に答えてくれ
>>122 のコードはちゃんと動くのか?
ルート決定を行っているのは start と end を算出した後の while() ループ内だと思うんだけど、
while() ループ内では end を参照していない
それで start から end への最短経路を選択するのは非常に困難だと思うんだが....
>>139 一応動作するのですが・・・。
>>122 のプログラム 出来る人の指示に盲従的にしたがって製作してしまったので・・・
これを発展させるように記載しましたが
全く様変わりしても 表示 結果 出来ていれば大丈夫です
本当に申し訳がないです・・・
>>140 うーん、困ったな
俺には君のコードが理解できないし、良いアイディアも無い
君のコードの while() ループをそのまま移植してみようか?
それで動くとは思えないけど....
出来る人ってのも怪しいなぁ、配列を1オリジンで使うプログラマなんて絶滅したと思ってたのに...
>>141 お願いします・・・
僕も全く能力がなくて こうしてみてはどうでしょう? 等 言えなくてすいません・・・
>>142 書いてみたけど全然ダメだったよ
とにかく while() ループで何をしてるのか全く理解できないからなぁ
あんなんで上手くいくとはとても思えないし...
俺も力不足だわ、もっとできる人に期待してくれ
>>143 考えてくれて
ありがとうございます!
僕ももう少しきちんと読み解いてみます
147 :
◆6QXw3oICKQ :2011/02/02(水) 19:53:56
[1] 授業単元:ポインタ
[2] 問題文(含コード&リンク):
ランダムな数値が格納された配列を昇順にソートし、結果を画面に出力する。(コマンドプロンプト)
課題ファイルのmain関数・昇順ソート関数・ソート結果表示関数に、仮引数と関数の中身を追加する。基本的に、main関数内は、関数呼び出しのみとする。
課題ファイル
http://uproda.2ch-library.com/lib339300.txt.shtml [3] 環境
[3.1] OS: Windows vista [3.2] gcc [3.3] C
[4] 期限: 2/3まで
[5] その他の制限:main関数内の処理で元ソースに記述されている処理については変更禁止
不明な点はご指摘ください。よろしくお願いします。
DLキー必要とかワロチ
>>147 なんで&intNumFrom[1]で添え字が1なんだ?
150 :
149 :2011/02/02(水) 20:04:45
>>147 Disp_func内でポインタを-1するすごく難しい問題なのか?www
>>146 都道府県のデータだと落ちちゃうね、データに問題が有るんだろうか?
>>153 日本語ふんだんに使ったから、gcc 文字コードとかでぐぐれば?
http://p.tl/3tG9 75行目から82行目で対称じゃないデータをはじいてるので、ここのチェックをなくせば
意味無いかもしれないけど、答えはでるはず。出題者も頭悪いだろ
誰かいますか? 質問してもいいですか?
なんだね
>>154 確かにこのデータは酷いね、非対称箇所が39も有ったよ
非対称箇所を修正する様に書いたら正常に動くようになった
しかし、
>>146 のロジックが俺には全く理解できないんだが、考え方を教えてはくれまいか
>>158 基本はこんな感じ
http://www1.axfc.net/uploader/Img/so/107071 それぞれの県のスタートからの最短距離を記録しておく(はじめは十分大きい数で初期化)
スタート地点は当然最短距離0
次からは、ある県から隣の県に行く場合の最短距離(ある県の最短距離 + 隣の県への距離)
が、現在の隣の県の最短距離より短かったら、隣の県の最短距離を更新する
これを全部の県に対して何回か繰り替えす。
全部のルートを網羅するためには県の数だけループすればOK
続き これだけだと、経路がわからないので 最短距離を更新する場合、どの県によって更新されたかを記録しておく あとは終点からそれを逆にたどっていけば経路がわかる
>>159 なるほど、理解した
終点から周囲への距離をKループ毎に範囲を広げる感じで書き込んでいくのか
ありがとう
>>154 プログラムの75行目〜82行目を消せばってことですかね?
>>158 Map.datをいじれば正常になったということでしょうか?
質問ばかりですいません・・・
>>162 map.dat を読み込むと非対称部分が39箇所有った
非対称部分とは A[i][j] != A[j][i] である箇所ね
これを検出して以下の補正を行えば正常に処理できたよ
・片方が -1 である場合は対象位置の値で上書き
・両方とも -1 で無い場合は平均値を上書き
map.dat を見て直した訳では無いので地図的な不整合は否めない、東京→神奈川が群馬経由だったりするからねww
>>163 あんぽんたんなので どう書いて補正すればいいのか分かりません・・・
正常に処理をしたソースファイルをもらえると助かるのですが・・・
お手数かけます・・・
>>164 出題者に言って直してもらったほうがよくないか?
>>165 出題時点で 間違いが発生しても
もうこのファイルでいきますと
揚々と宣言されました・・・
日本地図と物差しがあれば、簡単に訂正できるだろう。 そのくらいの気楽にやれなくては。
>>169 FILE が未定義って事は stdio.h がインクルードされてないって事じゃね?
ちゃんとコピペしたんかいな?
>>170 !!!
どうやら僕は切腹するにふさわしい人間のようです・・・!
もういっかいやってみます!
>>172 漢字が化けてるな、文字コードの問題はそっちの環境が判らんのでなんともできん
文字化けしてない前提で
最初に県名二つと数字二つが出てる行が沢山あるのは非対称のチェック結果だから無視してくれ
県一覧が49まであるのは 24行のコメントを外していないからって理由とバッファサイズが256じゃ足らんのだろうね
解決方法は以下の2つ
1)以下の修正を行う
line15: char buf[256] -> char buf[512]
line24: fgets( buf, 256, fp ) -> fgets( buf, 512, fp )
2)データファイルの一行目(県名のみが入っている行)を削除する
県名,数字,数字..... の行から始まるようにする
>>173 ありがとうございます!
文字化けについては分からなかったので 漢字を英語にして逃げました・・・!
考えてくれた皆様 本当にありがとうございました!
>>174 忘れてたけど、対角成分( A[i][i] )が0ではない部分も5箇所ほど見つかった
こいつも修正した方が良いな
修正は checkData() の最初(line 129) に以下を差し込めば良い
for( i = 0; i < cnt; i++ ) {
if( pkd[i].dists[i] ) {
printf( "%s %d !!!!!\n", pkd[i].name, pkd[i].dists[i] );
pkd[i].dists[i] = 0;
}
}
しかし、酷いデータだな、あまりに誤りが多いのでひょっとしたら1行目の県名一覧とデータ行の並びが異なるのでは、
なんて考えが浮かんでチェックしたけどそんな事は無かったよ
>>175 了解しました!
こんなデータにつき合わせてしまい本当に申し訳がないです・・・
177 :
デフォルトの名無しさん :2011/02/03(木) 11:50:21
一覧表示の前に表示されるCheckdataで行っているであろう部分を非表示にするにはどうすればいいのでしょう? すいません...
178 :
デフォルトの名無しさん :2011/02/03(木) 11:51:22
出来てました・・・ 何回も書き込みすいませんでした!!!
179 :
デフォルトの名無しさん :2011/02/03(木) 12:43:22
>>179 勿論自分でも作ってるんだよな?
べ、別に出来ないとかそんなんじゃなくt
181 :
デフォルトの名無しさん :2011/02/03(木) 13:26:42
[1] 授業単元:プログラミング C言語 [2] 問題文(含コード&リンク):明治以降の和暦を指定して、西暦に変換するプログラム まず元号(M,T,S,H)を数字(1〜4)で選んで年を入力し、 西暦を表示させる。元号選択時に1〜4以外を選んだら エラーメッセージをだして終了させます。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Ch IDE [3.3] 言語:C等 [4] 期限: 2011年2月4日 [5] その他の制限:入れ子のif文を使って作成 期間も短すぎですが、分かる方がいましたらお願いします。
>>179-180 俺ははっきり出来ないって言えるぞ
こんな専門的なのは講義受けて概念くらいは理解してないと手の付けようが無いだろう
処理手順が提示されてれば書くのは簡単そうだけど
誰か留年しないかなぁ
>>179 mecabがincludeできないから諦めた
めかぶ?
もはや何が書いてあるのかすら理解できないレベル
何をしたいのかイメージは沸くけど具体的にどうしたらいいかはバカなので分からない。
とりあえず名詞を抽出するまでは分かった それを各名詞ごとに数を数えるとこまでは出来た そこから先が解読できなくて詰まった 当然スパゲッティwww
>>181 大学3年生にもなったんだから、
これくらいできないと就職できないよ?
俺は情報学部出身じゃないからこんなのできへん(キリッ
>>189 名詞の回数を要素に文章ごとに配列を作って
比較したい二つの文章の配列の要素の合計の平方根(√x,√y)と
要素ごとに積算した配列の合計(z)を求めて
z/(√x*√y)で類似度が求まる
っぽい
>>191 (1) は MeCab の使い方が判れば簡単だろ、Mはかなり大きくなると思うけど
(2) の文書間類似度の算出方法が問題文には記述されていない様に思うんだけど...
多分、講義で(1)の行列から文書間類似度を算出する方法をやってるんじゃないのかな
>>179 がその手順を示さないと回答は難しいだろ
194 :
デフォルトの名無しさん :2011/02/03(木) 20:32:44
>>194 何がどう出来ないのか書かないと直しようがない
196 :
デフォルトの名無しさん :2011/02/03(木) 21:14:33
>>195 UDPで実現、単語登録機能の追加が出来ません。
アクセス時の排他制御はわかります。
>>196 アクセス時の排他制御って何の話?
サーバー側は recvfrom() で受けて sendto() で送り返すだけでしょ
つまり、一度に一つのクライアントしか相手にしないんだから排他なんか必要無いはずだよ
排他制御はdictionary.txtの話でしょ?
199 :
デフォルトの名無しさん :2011/02/03(木) 21:41:56
>>198 はい、そうです。
単語登録中はlockファイルを作りlockファイルがある間は他の方が作業できないようにし終わったらlockファイルを削除します。
>>199 だからね、TCP/IPと違ってUDPの場合は同時に複数のクライアントと通信する必要は無いんだよ
サーバーのメインループの中では
recvfrom() で電文を受信
受信した電文に応じた処理(英単語→日本語や辞書更新)
sendto() で電文を返信
のシーケンスを行う
よって、辞書更新中に他のクライアントからの電文を受信する事は無いんだよ
まぁサーバープロセスを複数動かすのであれば排他が必要かも知れんけどね
注意しなければならないのはクライアント側だ
sendto() で英単語を送信
recvfrom() で日本語の受信を待つ
これをブロッキングで動作させると、送信したパケットがロストした場合に recvfrom() で処理が止まってしまう
だからソケットをノンブロッキングにして recvfrom() を規定回数行って受信できなかった場合はタイムアウトとする様な
仕組みが必要だよ
>>201 うん、Linux マシンを物置部屋から引っ張り出すのが面倒だから
仮に書いてもコンパイルすら通さないシロモノを張る気は無いよ
仮想マシン使えばよくね?
情弱にそんなこと言うのは失礼ですよ
cygwin とかの事? 宿題スレの為だけにインストールしろってかw 自分の用事で linux が必要なら物置から引っ張り出すわい
仮想マシンを知らないの?
と知ったげに言っている
>>206 であった
と思ったけど
>>205 の情弱さは60代中堅管理職のそれと同レベル
すいません、仮想というとVirtual Boyしか知らないもので…。
>>179 c++使ってもいい? mapが使いたい
C等のなかにC++は入っていないのでやめてください。 C等の言語として許容されるのはObject-CとCCCPのみとします。
>>210 当たり前のことを聞くが、自分でもやってるのか?
や、やってるに決まってるでしょ! ただ、ちょっと、その、…期待してるだけよ。おねがいなんだから。
C等
初めてのCって聞いて、ときめいたことあったな まあ、みんなやってるな
>>213 これをデブでブサイクな奴が口呼吸したり、身体中ボリボリかきながら投稿してるんだぜ
217 :
デフォルトの名無しさん :2011/02/04(金) 11:33:53
>>217 コサイン尺度の式
cos( Dj, q ) = 〜
はどういう処理なの?
数学から離れて久しいので式の意味が判らん
>>219 つまり・・・どういうことなんだってばよ?
>>219 そのコードの naiseki() の処理?
ベクトルV1, V2 が有るとして ΣV1i * V2i を算出してる様に見えるけど....
>>217 を見ると
1)V1i と V2i が共に0では無い場合はコサイン尺度増加
2)V1i と V2i の片方が0の場合はコサイン尺度減少
になってるので少し違うと思うんだけどな
出題者は何も判らんからレスしないのかなぁ....
222 :
デフォルトの名無しさん :2011/02/04(金) 16:33:18
cos(Dj,q)=(Dj・q)/(||Dj||・||q||)で求めることができます。
a・b=|a||b|cosθで、この場合はベクトルが正規化されていて|a|=|b|=1だから a・b=cosθになるわけ。 つまり内積が1に近いほど二つのベクトル間の角度が小さくて同じ方向を向いてるということだから類似度が高いというわけだ。
>>222 だからその式の意味を教えてくれって
||X|| を見た事ないんだぉ
載る無
226 :
デフォルトの名無しさん :2011/02/04(金) 19:25:33
>>226 君は何も理解していないようだねw
この場合は行列ノルムではなくベクトルノルムの記述を示すべきだと思う
||x|| がベクトルのノルムを示す表記で有るならば、
>>219 の naiseki() に見られるような、
ΣV1i * V2i がコサイン尺度となるのだろうな
但し、V1, V2 が正規化されている前提だけど(これは問1の前提でもあるし)
ところで君は MeCab を使えるの?
MeCab 以外の部分は書いても良いけど、MeCab 回りは書く気にならないし、インストールする気にもならない
よって、英文用のコード(英文ならセパレーターとして " ,.!?" くらいを用いれば簡単に単語分割できるから)なら、
書いても良いよ
まぁそれを MeCab を使った日本語用のコードに修正できないなら意味は無いだろうけどね
(キリッ
>>227 横槍だけどmecabは単語分割して出力するから君の言うような処理は必要ないんだよ
MeCabって単に名詞を取り出す際に利用すれば良いんじゃないのか? テキストを適当に喰わせて、grep cut sort uniq 等使って、最初の単語だけ切り取ればすみそう。
出力フォーマットが
%s\t%s,%s...
だから、タブ文字でstrtokして次が名詞で始まればカウントすればいいんじゃね
>>227 がんばってネ
(シコシコッ
>>227-231 Mecab をインストールする気が無いんだよ
system() 使ってコマンドで処理するのも Mecab ライブラリ使うのも出題者の自由だけど、
俺はタッチしないって話
せっかく書いても出題者が無能で Mecab の組み込みも出来ないなら無駄なので書かないよ
234 :
デフォルトの名無しさん :2011/02/05(土) 08:11:17
[1] 授業単元:数値プログラミング [2] 問題文(含コード&リンク): [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 2011年2月5日15:00まで [5] その他の制限: 効率は悪くなっていいので、公式に忠実にお願いします。 よろしくお願いします。
2月5日の14:30にこのスレに戻ってきて現実に気づく
>>234 であった
>>233 で、コードはホイホイチャーハンどこだよwwwwwwwwwwwwwwwwwwww
238 :
234 :2011/02/05(土) 09:33:41
#include <stdio.h> #include <math.h> double f(double x) { return sqrt(1 - x * x); } int main(void) { int i, n = 10000; double a = -1, b = 1, h = (b - a) / n, s = 0; for(i = 0; i < n; i += 2) s += (f(a + i * h) + 4 * f(a + (i + 1) * h) + f(a + (i + 2) * h)) * h / 3; printf("%f\n", s * 2); return 0; }
241 :
240 :2011/02/05(土) 14:19:54
補足 同一筐体内でのテストしかしていないので別筐体だと上手くいかないかも知れない その場合はクライアント側で #if 0 になってる行(initUDP() 内)を #if 1 にして試してみてくれ
>>237 出題者から『Mecab の組み込みは出来ます』ってレスが有ったら書き始めるよ
>>179 レスが無いけど暇だったから書いたよ
ttp://codepad.org/ryU8akgz 先に書いた様に英語にしか対応していない、頑張って Mecab を組み込んでねw
又、始めの方の #define は適宜調整してくれ、 FILE_NUM は 375 だっけ?
出力ファイル名は main() で定義してるのでそれも適当に
読み込むファイルがカレントディレクトリに無い場合は、 no2path() を修正して妥当なパスを得られるようにしてね
3ファイルで類似度出した結果は
1 1 1.000000
1 2 0.280838
1 3 0.282118
2 1 0.280838
2 2 1.000000
2 3 0.441298
3 1 0.282118
3 2 0.441298
3 3 1.000000
こんな感じ、対角成分が1.0なのは当然だよね
>>243 コメント面倒だな、締め切り何時だっけ?
経路数の制限は難しいな
例えば8経路で最短になる場合に最短ではない7経路が存在しても現在のロジックでは求められない
又、アイディア募集だねw
>>245 今日の23:59までです・・・
最短が8経路以上になる時のみ 非表示 にして
「結果が7経路を超えています」という文を表示とかは不可能なのですかね?
無理ならもうこのままでいこうかと思ってきました・・・
コメントぐらいは自分でかけお
>>246 出来なかったらドウモツヨシサン…単位落とすのかい?
>>247 そうですよね すいません・・・
>>248 提出してみないことには分からないのですが
条件を満たしていない ので おそらく・・・
mainのrootFindで得た経路をソートして最大7番目まで出力するようにすればいいんじゃないの? 問題文分からんから推測だけど
>>246 それは可能だよ
rootFind() の最後の方
}
retarr[j] = -1;
return calcDist( pkd, retarr );
}
ここで j が8なら8経路って事なので -1 でも return する
そして呼び出し側に
ret = rootFind( cnt, kd, p1, p2, arr );
ret < 0 の場合は8経路以上だって表示させれば良いだけ
でも結局題意は満たしていない事になるんだよなぁ...
こいつ全部やらせる気だな
>>250 ダメなんよ、rootFind は最短経路しか求められない仕組みなので7経路の解が有っても判らんのよ
>>252 いいじょ、ちょとまて
考えたら8経路最短で7経路が存在する組み合わせが存在しないかも知れないし、
あの腐ったデータを出題したアホ講師がそこまで気づくとも思えんしな
>>254 すいません・・・ありがとうございます!
257 :
デフォルトの名無しさん :2011/02/05(土) 18:28:38
>>256 ありがとうございます!
コメント文があると凄く嬉しいのですが・・・
甘えてばかりで申し訳がないです・・・
>>257 君にはゆとりというヘタクソデチュネー言葉がよく似合う。
ここまでしてもらって解読くらいしない
>>257 は異常者
元々宿題丸投げスレだからいいだろ 回答者がやるかどうかは別だけどな
丸投げでもコメントまでは知らん しかし、質問もしてこないとこ見るとソースを読む気も無いみたいだな
でも確かに読む気でないなこのソースは
264 :
146 :2011/02/06(日) 01:01:27
おまいらガチで頭悪いな 146のソースで言えば、sourcesの他に、現在何個の県を通過したかを記録しておいて、8個目になってしまう場合は、最短距離の更新をやめればいいだけ 細胞の分裂回数に制限があるイメージ てゆうか、なんで俺のソースを使わないんだ? コメント入れたのに あと多分7個までっていうのは、7個までにしておけばアルゴリズムが思いつきやすいからそうしたんであって、 別に無制限ができるならそれでもいいと思うのだが 多分本来期待されているアルゴリズムっていうのは7重ループだと思う(無制限にすると重くなりすぎる) あとrootは根だぞ、routeだろ。初めなんのことかわからんかった
265 :
146 :2011/02/06(日) 01:08:03
ごめん、俺も頭悪かった このアルゴリズムだと網羅できない。 distancesを二次元配列にして(県の数 * 7) 一個目でいける最短、二個目でいける最短、・・・という風に。県の通過回数ごとに最短距離を7個記録しておけばOK そして、隣の県に伝播させるときは、3個目の距離->隣の4個目の距離、みたいに更新していく
>>264 仕様を開発側の都合で曲解するのは最悪の行為だぞ
仕様に明らかなミスがあっても仕様違反はバグ
>>263 悪かったわね、プンプン!
あんたは綺麗なコードを書ける人なんだね、できたら見せて欲しいわww
>>264 意味不明
>>265 最短で上書きするときにソートするのかな?
できる気もするけど検証が大変だな、そも8経路経路最短で7経路が存在する組み合わせが存在するかを調べないと...
268 :
146 :2011/02/06(日) 06:58:09
>>266 どうせ学校の課題なんだから、課題が出来てなくてもアイデアとかアルゴリズム的におもしろければいいんじゃないか?
どうせ、コメントを要求するってことはコード読んで評価するわけだし。
>>267 ソートはしなくていい、計算量はO(7 * n^3)。
県の通過回数ごとに最短が出てくる。7経路の最短とか、6経路での最短とか
>>268 distance も source も2次元にする必要があるよね
さらにKループの外にもう一つループが必要かな?
ソートは必要ないけど source を舐めて通ったパスは除外する様にしなければならないと思う
270 :
146 :2011/02/06(日) 07:44:02
[1] 授業単元:プログラミング基礎
[2] 問題文(含コード&リンク):バブルソート法を使って、map.datに対して交差点名(アルファベット)を入力すると、その交差点から直線距離が近い順に、隣接交差点名とその距離の二乗をディスプレイに表示するプログラムを書きなさい。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン:cygwin gcc 3.4
[3.3] 言語:(C++
[4] 期限: 2011 2/7
[5] その他の制限:データの内容は、左から順に交差点番号、x座標、y座標、交差点名、隣接交差点数、隣接交差点番号となっています。0は要素数を揃えるためのダミーです。
map.datはこちらにあげてあります。
http://www1.axfc.net/uploader/Sc/so/202215.dat よろしくお願いします。
>>272 height, latitude, longitude, pressure, temperature
を一組として csv ファイルの一行を構成するとしていいですか?
あと、4 byte のバイナリ数値ですが、整数ですか、小数点のある数値ですか?
274 :
デフォルトの名無しさん :2011/02/06(日) 16:57:04
276 :
275 :2011/02/06(日) 19:44:55
誤爆失礼致しました。
277 :
デフォルトの名無しさん :2011/02/06(日) 22:03:14
[1] 授業単元:プログラミング C言語 [2] 問題文(含コード&リンク): 次の投稿に [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:visual stdio 2005 [3.3] 言語:C++ [4] 期限: 2011年2月11日 [5] その他の制限:動作はコマンドプロント上でのみ
278 :
デフォルトの名無しさん :2011/02/06(日) 22:04:03
>>277 住所録を以下の条件で作成
@ 住所録の中身は氏名、郵便番号、住所、電話番号のみ。以下の構造体を使用。
typedef struct jusyoroku {
char name[32];
char yubin[32];
char add[32];
char tel[32];
}
A 住所録はテキストファイルに保存。氏名、郵便番号、住所、電話番号が1行ずつ記載され、
1件ごとに「-----」区切られ、最後は「*****」となる。
例:
氏名
郵便番号
住所
電話番号
-----
:
:
:
-----
氏名
郵便番号
住所
電話番号
*****
B登録件数は100件まで
Cこのソフトは指定したファイルから住所録を読み込め、また、保存もできる。
Dこのソフトは住所録から氏名、または電話番号で一致する人物を検索、情報をすべて表示できる。
E新しい住所録の追加、既存の住所録の変更・削除が可能。
それぞれの機能はわかりやすく関数に分割すること。
よろしくお願いします。
しつけー奴はツヨクナリタイ無視されるぞ
281 :
279 :2011/02/06(日) 23:07:47
今北産業 MeCabの問題はもう終わったの
成りすまされる方にも非があるんじゃなくて?
10日までだからちょっとやってみるわ
>>279 できた。
最近C始めたんだけどEclipse動くとサクサク作れるな。
ネットで例も転がってるし、今の学生は死ぬほど楽だな。
>>288 ありがとうございます。
アップしていただけますか?
>>274 検索はIDじゃ無くて商品名か。
期日までに訂正してしておく。
>>288 環境作るためにも仮想マシン持ったほうがよくないか?
Eclipseが悪いとは言わないが、所詮windowsなんだし
>>289 いや、結果は何とかなったけど、中身が恥ずかしいので。
それより作りかけのソースアップしなよ。そういうスレじゃないのか?
>>291 そうだねぇ。どういう事を考慮して、VMで環境を分けるのか、
まだピンと来ない。分けるポイントはどこになるの?
EclipseってWinじゃなくてもつかえなかったっけ?
自分はWindowsでしか使ってないけど。
>>292 お見せできるような物すら書けていないのが現状なので、どうかアップしていただけないでしょうか。
もう時間があまりないので、お願いします。
294 :
291 :2011/02/07(月) 02:03:51
>>292 あぁ、確かにlinuxでも出来るわ
先入観スマソ
で、分ける点は環境依存であるコードが出たときとか。
画像処理系は結構環境依存なことが多いな
で、そろそろスレチだしやめるわ
>>293 いや、もう拡張子の時点でまさかと思ったけど
内容c++ですよオニイサン
アップしたら c になっちゃった。 cppにして使ってよ
298 :
295 :2011/02/07(月) 02:41:01
299 :
240 :2011/02/07(月) 03:02:51
>>194 からのレスが無いなぁ、誰も書かないと思って見てもいないんだろうか?
せっかく書いてやったのに...
>>282 >>244 に Mecab 以外の部分は上げた
出題者が無能でなければ Mecab の組み込みくらいは出来るだろう
無能なら単位は諦めれば良い
303 :
302 :2011/02/07(月) 04:16:40
>>271 あ、やだ、メモリリークしてる・_・;
void dijkstra( std::vector< Node > &nodes, std::string const &name )関数
の最終行に delete next; を追加しといて…。
>>302 問題文には距離が近い『隣接交差点』とあるよ
ダイクストラ法なんて使う必要無いと思うけど...
>>122 を解いてみたら、期限は過ぎちゃってるけど
>>274 http://codepad.org/rOdSDD97 1.ファイル名は固定にしている。 コマンドライン入力がよければ変更する。
(コマンドライン入力習った?)
2.構造体だがdata1.txtとdata2.txtを一つにまとめた。
分けた方がいいなら分ける。
3.構造体は配列にしたが構造体をmallocで確保し、でリスト構造にしたいならやる。
(malloc習った?)
コードが汚いのは申し訳ないがべったりと初心者的に作ってみた。
306 :
302 :2011/02/07(月) 05:21:19
>>272 ttp://codepad.org/w4lDZanz 全部 float で良いのかな?
高度と気圧と温度はそれらしい数字が出てるから良いみたい
latitude と longitude って何だろう?
そいつらには何箇所か32768というどっかで見たような数字が入ってるけど、これは計測エラーなのかな?
期限切れてるけど
>>122 は決着ついたのか?
面白そうだったから手をつけようと思ったらロダ全部消えてるし・・・
誰か問題持ってたら再うpしてくれんかの
309 :
デフォルトの名無しさん :2011/02/07(月) 08:12:05
[1] 授業単元:情報処理 [2] 問題文(含コード&リンク): ポインタstrが文字列の先頭文字を指している時その文字列に含まれる英字でない文字の個数を返す関数です。 ただし、英小文字a〜z,英大文字A〜Zには、それぞれ昇順に連続した1バイトの整数が割り当てられています。 次の<1>〜<5>の答えをうめてください。 unsigned not_alpha_num(const char *str) { unsigned sum =0; while (*str) { if((*str <1> 'a' || *str <2> z) <3> (*str <1> <4> || <2> <5>)) sum++; str++; } return(sum); } [3] 環境 [3.1] OS:Windows [3.3] 言語:C [4] 期限: 3日間ほど よろしくお願いします 穴埋めです
>= <= || 'A' 'Z' 番号順
不等号違うな < > && ’A' ’Z' だわ
>>308 問題は持ってないけどデータファイルは有るよ
ttp://codepad.org/poUfZlvM 県名,県[0]との距離、県[1]との距離.....県[46]との距離
....
みたいなフォーマットのファイルを読んで、入力された2つの県間最短距離とその経路を表示するって問題
データファイル中 -1 になってるのは隣接していない事を表す
データファイルは以下の問題点が有る糞データだよ
・対角成分(県[i] と 県[i] の距離)が0では無い部分が有る
・対称ではない(県[i]-県[j] の距離 != 県[j]-県[i] の距離)部分が有る
・東京と群馬が隣接してたりする実際の地図とは異なる構造の部分が有る
出力の制約として経路数が8以上の場合は出力しないってのが有って、これの完全な解決は為されていない
例えば8経路で最短経路が有った場合に最短経路ではないけど7経路以下の経路が有った場合にその経路を解と
するべきなんだけど、その手法が確立されてない(
>>146 が追加で書いたみたいなんだけど、俺は動作確認していない)
なお、経路数には入力された2県も含む事として考えてきたけど、この点は問題に明記されてなかった気がする
[1] 授業単元:プログラミング演習 2 [2] 問題文(含コード&リンク) [3] 環境 @キーボードから学生番号と氏名の組をn個読み込み、ファイルに書き込む関数を作れ。ただし、nの値とファイル名は引数として取得するものとする。 A引数で取得したファイル名のファイルから同じく引数で取得した個数の学生番号と氏名のデータを構造体変数に格納し、学生番号順に表示する関数を作れ。 B以上で作成した関数を使用し、プログラムを完成せよ。ただし、nの値と使用するファイルの名前はプログラムの引数として与えられるものとする。 [3.1] OS: unix [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限:2月7日 [5] その他の制限: なし よろしくお願いします。
経路数ってのは経路の数(解の数)ってこと?じゃない感じだね 経由した県の数のことだろうか A-B-C-D-E-F-Hの7県にまたがる経路が距離100 A-B-C-J-K-E-F-Hの8県にまたがる経路が距離90 なら距離100の経路を選択するってことかね
>>312 対称行列じゃないどころか行列として成立してないじゃねえか
46列の行と47列の行がありやがる
316 :
272 :2011/02/07(月) 18:11:21
>>307 ありがとうございます
32768は観測エラーの地点みたいです
latitudeは緯度でlongitudeは経度をXY座標系で表したのなので問題ない値です
>>309 これがわからないのって、1000人にひとりぐらいじゃないか?
幼稚園児でもほとんどが、概念だけなら理解できるだろ
if ((*str < 'a' || *str > 'z') &&
(*str < 'A' || *str > 'Z')) sum++;
【質問テンプレ】 [1] 授業単元:プログラミングT [2] 問題文(含コード&リンク): 始点はbegin_x,begin_yで、終点はbegin_x,begin_yで指定し、 それぞれ指定した間の数字を全部足したものを表示し(@)、 更にその二つをかけたものを表示する(A)プログラムを作成せよ。 例:begin_x=2 begin_y=4 end_x=6 end_y=5なら @x=2+3+4+5+6=20 y=4+5=9 Ax*y=20*9=180 [3] 環境 [3.1] OS:windows [3.2] コンパイラ名とバージョン: Microsoft Visual Studio 2008 [3.3] 言語: C [4] 期限: 2月8日17:00 [5] その他の制限:関数まで よろしくお願いします
320 :
デフォルトの名無しさん :2011/02/07(月) 20:41:58
>>321 早々に取り掛かってくれてありがとうございます。
しかし、begin_x=2等は例であり、そこに任意の数字を打ち込むと計算するプログラムにして頂きたいのです。
この場合、どこをいじれば、それができるのでしょうか…?すみません。
>>322 29-32行目にある
てか本当に授業受けたの?
>>323 受けました、が。読解は出来てないので・・・すみません。
その行をprintfとscanfでいじればできますかね?
>>325 わかりました。出来る限りやってみます。
ありがとうございました。
今気づいたけど
>>314 にGが無いのは誰も突っ込まないのね
329 :
319 :2011/02/07(月) 22:44:41
すみません、
>>321 を基にいじろうとすると無限に計算される結果になってしまいます。
どなたか任意の数字を打ち込んで表示できるようにお願いします。
>>329 29-32行目を以下に変更
printf("bigin_x=");scanf("%d",&bigin_x);
printf("end_x=");scanf("%d",&end_x);
printf("bigin_y=");scanf("%d",&bigin_y);
printf("end_y=");scanf("%d",&end_y);
…何をすれば無限になるのかわからんわ
自分のコード晒せよ
>>329 俺321じゃないけど、なんで321に頼まないの
bx>exだったら交換すればいいだけじゃん、くそ頭悪いな
ありがとうございました。勉強精進します…
334 :
308 :2011/02/08(火) 03:59:44
経由数に制限加えるってことで単純な深さ制限探索で書いてみた
http://codepad.org/wOb9ZcOx (出題者はこの方法を想定していたんだと予想)
もう期限切れてるし答え出てるからファイル読み込みとか大分端折ってるけど
探索部分はしっかり書いた(つもり)
枝刈りしようかとも思ったけど時間と気力がない
#それゆえ同じ経路の堂々巡りとかあるけど結果はでるから許して
ソースを見ていただきたいのですが、どなたかアップの方法を教えてくれませんか?
すいません、テンプレにありましたね。失礼しました。
[1] 授業単元:プログラミング [2] 問題文(含コード&リンク):次の書きこみにまとめます。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C++ [4] 期限: 2011年2月9日
地図データmap.dat に対して、出発点の交差点番号をキーボードから入力すると、
A. 隣接する交差点名と交差点番号および出発点からの距離をディスプレイに表示
する
B. 表示された交差点の中から次に進む交差点を選択できる
C. 選択された交差点に対して、A. の手順に戻り、順々に道案内する
プログラムを作成しなさい。手順A の距離は、出発点からの直線距離ではなく、
経路の累計移動距離を計算すること。また、プログラムを途中で終了させるコマ
ンドも用意すること。
という問題について次のようなソースを書いたのですが、これでは経路の累計移動距離が計算されないため、不十分だと言われました。
http://codepad.org/1hcQfHlM 地図データはこちらに上げてあります
http://www1.axfc.net/uploader/Sc/so/202935.dat どこをどう直せばいいのか、どなたかお願いします
>>338 ソース見ただけだけどこれc++じゃないじゃん
こうやって C++ を Better C として使うプログラマが量産されていくのかな?
>>341 てゆうかなんでこんなことしてんの、whileのやり方を見るに、年、月、日でツリー構造みたいにして検索を速くしたいのかなとか思ったが
現在のデータ構造ならまったく速くならないし、最後のwhileだけでいいし
とりあえず、構造体同士を比較する関数を作れ そうして整数と同じに考えれば簡単だろ
>>341 >fflush( stdin );
頼むからこれやめれ
VCの独自拡張で移植性がない
>>342-346 まだ8時間もたっていないのにわざわざサンクス
考えてみる テラサンクス
goto()
349 :
デフォルトの名無しさん :2011/02/09(水) 12:12:49
[1] 授業単元: データの保存と表示
[2] 問題文:
http://codepad.org/2F3xiVeR ↑で読み込むファイルに整数がいくつか表示されているので、それらの合計値とデータの中の1の個数を求める処理を追加する
[3] 環境
[3.1] : Windows
[3.2] : gcc
[3.3] : C
[4] 期限: 2011年2月10日AM9:00
[5] その他の制限: C言語プログラミング入門 データの保存と表示まで
お願いします。
350 :
デフォルトの名無しさん :2011/02/09(水) 13:22:41
351 :
デフォルトの名無しさん :2011/02/09(水) 16:00:09
[1] 授業単元:課題 [2] 問題文:単方向リスト typedef struct list { char name[20]; // 名前 char tel[20]; // 電話番号 struct list *next; // 次のデータを指す構造体ポインタ } [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:一週間以内 [5] その他の制限:グローバル変数とダミーノードを使わない。 追加、削除、全体表示の動作を行うことができる住所録のプログラムをよろしくお長いします
[1] 授業単元:計算機言語U、計算機言語演習U
[2] 問題文:
ttp://codepad.org/FaWItuOs [3] 環境
[3.1] OS: Linux(多分)
[3.2] コンパイラ名とバージョン:gcc(多分)
[3.3] 言語:C(多分)
[4] 期限:2011年2月10日11:00
授業は受けていたけど聞いていなかったアホです。
穴埋めです。4問あります。
こんなギリギリにすみませんが、よろしくお願いします。
>>353 上から【】の番号順
1)
complex
!=
||
0
flag
2)
char
*p
ninzu
account
!=
<
&p[i]
p[i++]
i = 0
p[i]
355 :
353 :2011/02/10(木) 00:40:26
>>354 ありがとうございます。
できれば(3)(4)もお願いします。
356 :
353 :2011/02/10(木) 11:00:39
どなたか
>>353 の(3)(4)をお願いします……12時ぐらいまでならギリギリなんとかなるんでどうか助けてください……
>>756 そんなこと言われたら、いじわるしたくなっちゃうぞ♪
番号を盛大に間違えた
359 :
353 :2011/02/10(木) 11:26:32
>>358 ( °Д °)
( °Д °)
( °Д °)
( °Д °)
( °Д °)
っていうかねー。問題文の %calc - 5 + 10 + 100 + 10を実行すると95を表示する ってのがどうやっても実現不能だしー。 だいたい、goto 使うは、if else を多用しているのに単文のあとに{}をつけないはで 読みにくいことこの上ない。どんだけトリッキーなプログラムなんだ^^;
361 :
353 :2011/02/10(木) 11:47:44
>>360 ぎやあああああ
%calc - 5 + 10 + 100 - 10
ですごめんなさいマジでごめんなさい
この様子だと他の文の中にもミスがありそう……
元の問題文をメモに書き写しただけで、問題文そのものは回収されてしまっていて、確認のしようがないです、申し訳ありません
ミスじゃなかった場合は教授のせいですごめんなさい
>この様子だと他の文の中にもミスがありそう よかった。どうやってもwhile以下の文が正常動作させられなかったんだ。
363 :
353 :2011/02/10(木) 12:03:17
申し訳ありません……。 (4)だけでもどうにかなりませんでしょうか……?
364 :
353 :2011/02/10(木) 12:10:00
連続ですみません
12:30までで、
>>353 の(3)(4)について「これかな?」という憶測で構わないので答えをいただけたらありがたいです。
図々しいのは承知の上ですが、どうかよろしくお願いします。
void *array で定義された配列をdouble型の配列にキャストしたいのですが d_array[3] = *(double (*)[3])array; としても error: incompatible types in assignment と出てしまいます。 何がおかしいでしょうか…
>>364 どんだけー^^;
(3)
1
RET
[0]
'+'
i++
+=
'-'
-=
i
argc
(4)
argc
1
2
3
0
argv[1]
argv[2]
stderr
argv[1]
break
367 :
353 :2011/02/10(木) 12:23:44
>>365 スレ違いだけど一応答えておきます
その書き方だとd_arrayはdouble [3]へのポインタとなり、つまり double[][3]の二次元配列
のように見なせます。だからエラーが出るのです。
無理に書くとすれば下のようになります。
int main(void)
{
double (*d_array)[3] = (double (*)[3])malloc(sizeof(double) * 3);
d_array[0][0] = 1.0;
d_array[0][1] = 2.0;
d_array[0][2] = 3.0;
printf("%f %f %f\n", d_array[0][0], d_array[0][1], d_array[0][2]);
free(d_array);
return 0;
}
単純に配列型はキャストできないし、 何かを配列型にキャストすることもできないってだけだよ。 JIS X3010 p.63 >6.5.4 キャスト演算子 >(中略) >制約 型名が void 型を指定する場合を除いて、型名はスカラ型の修飾版又は非修飾版を指定しなければならず、オペランドは、スカラ型をもたなければならない。 p.31 >算術型及びポインタ型を総称して、スカラ型と呼ぶ。配列型及び構造体型を総称して集成体型と呼ぶ。 さらにいうと配列型に代入することもできない。 p.71 >6.5.16 代入演算子 >(中略) >制約 代入演算子の左オペランドは、変更可能な左辺値でなければならない。 p.38 >6.3.2.1 左辺値、配列および関数指示子 (中略)変更可能な左辺値(modifiable lvalue)とは、配列型をもたず、不完全型をもたず、const修飾型をもたない左辺値とし、
>>365 静的配列はスタック上に確保されてるので、
double d_array[3]; というのは、
double d_array0, d_array1, d_array2;
みたいなもの、だからアドレスを代入することはできない
double *d_array = (double *)array;
ってやりたいんじゃないの?
371 :
デフォルトの名無しさん :2011/02/10(木) 19:42:39
[1] 授業単元:万年カレンダーの作成
[2] 問題文(含コード&リンク):
ユーザーが指定した年・月のカレンダーを表示するアプリケーションを作る。
ユーザーに年と月の入力させ、指定された月から4ヶ月分のカレンダーを表示させる。
詳しい説明・仕様
http://www1.axfc.net/uploader/File/so/58289 [3] 環境
[3.1] OS: Windows vista [3.2] gcc [3.3] C
[4] 期限: 2/12まで
[5] その他の制限:特に無し
不明な点はご指摘ください。よろしくお願いします。
>>371 春分の日と秋分の日は「1980年〜2099年」の間を指定した場合のみ表示で良いのか?
373 :
デフォルトの名無しさん :2011/02/10(木) 22:42:04
>>352 ありがとうございます。
あとひとつお願いなのですが、プログラムにコメントを付けてもらえないでしょうか?
コメントを依頼→コードすら読む気ねえよ
プログラムの骨組み作るモチベーションが保てないぜ
春分の日は、前の年に決めるんじゃなかった?
378 :
デフォルトの名無しさん :2011/02/11(金) 01:35:58
>>378 ttp://www1.axfc.net/uploader/File/so/58325 書き殴った。
久しぶりにCで書いたら面倒くさすぎワロタ。
ファイルの読み書きとか検索とか、エラー処理はてきとう。
ファイル読み書きの書式は
1行目: 氏名
2行目: 郵便番号
3行目: 住所
4行目: 電話番号
5行目: 区切り線
これの繰り返しで。空行とかは恐らくうまく解釈できない。
わかんなかったら先に適当にエントリ追加した状態で書きこんで、
吐き出されたファイルを空気読んで編集すべし。
>>371 グレゴリウス歴(だっけ?)が採択される前とか
紀元前〜年とかも対応しなきゃだめなの?
>>371 おれ様の生誕100周年と1000周年入れて良いか?
382 :
379 :2011/02/11(金) 05:25:04
>>378 いまソース眺めてみたら ask_load 関数の出力で
「未保存の既存データは...」みたいな出力してるけど、そのとおりに実装し忘れてた。
load(head, path) の手前で free_all(head) するか、もしくは「未保存の...」って文言を消すとつじつまが合う。
後者の場合には単に読み込んだデータを既存データに追加する挙動になる。
あと、linux 環境でしか動作チェックしてないから、もしかしたらコンパイルこけるかもなー。
>久しぶりにCで書いたら面倒くさすぎワロタ。 C# java のことかなぁ? 379.cpp(13) : warning C4091: 'typedef ' : 変数が何も宣言されていないときは、'jus yoroku' の左辺を無視します。 379.cpp(18) : warning C4091: 'typedef ' : 変数が何も宣言されていないときは、'add ress_list' の左辺を無視します。 d:\my documents\cplus\part146_277\379.cpp(128) : error C4716: 'ask_edit' : 値を 返さなければいけません
どう見てもC++だと思うが
385 :
383 :2011/02/11(金) 12:08:34
>久しぶりにCで書いたら面倒くさすぎワロタ。 C++言語で書いてるだろ〜。
386 :
379 :2011/02/11(金) 18:30:07
× typedef struct jusyoroku { char name[EACH_ENTRY_MAX]; char yubin[EACH_ENTRY_MAX]; char add[EACH_ENTRY_MAX]; char tel[EACH_ENTRY_MAX]; }; ○ typedef struct { char name[EACH_ENTRY_MAX]; char yubin[EACH_ENTRY_MAX]; char add[EACH_ENTRY_MAX]; char tel[EACH_ENTRY_MAX]; } jusyoroku; ってことか
初心者の私が思ったのは typedef struct jusyoroku { char name[EACH_ENTRY_MAX]; char yubin[EACH_ENTRY_MAX]; char add[EACH_ENTRY_MAX]; char tel[EACH_ENTRY_MAX]; } jusyoroku;
389 :
デフォルトの名無しさん :2011/02/12(土) 01:11:18
>>383-388 みなさんありがとうございました。
多少の修正が必要ということで突っぱねられましたが、
減点にはならず、とりあえず月曜まで延長してもらえることになりました。
後は自分で頑張ってみます。
独学でプログラミング学んでるんだが 猫でもわかるシリーズのC言語はさくさく進んだから 同じシリーズのゲームプログラミングに手を出したとたんわけわかんなくなった このシリーズ意外でもいいんだがゲームプログラミング読む前に読んどくべき参考書ってある? それとも俺が頭弱いだけで猫でもわかるゲームプログラミングって楽なほう?
391 :
デフォルトの名無しさん :2011/02/12(土) 07:33:17
>>390 スレ違い
まあ、七行プログラムのオセロでも参考にして見たら?
392 :
デフォルトの名無しさん :2011/02/13(日) 12:10:25
[1] 授業単元:プログラミング [2] 問題文: 平面の多角形の頂点p[i]=(x[i],y[i])を規則 p[i]^(t+1)-p[i]^t=a(p[i+1]^t-2p[i]^t+p[i-1]^t) によって移動させる。 @1回の移動規制を行列で記述しなさい。 A移動中に隣り合う頂点が、ある距離以下になった場合には、2頂点を中点に置き換えて移動を続ける。この処理のプログラムを記述しなさい。(点の番号の付け替えを行う) B頂点の移動を与えられた回数だけ行うプログラムを記述しなさい。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2011/2/14
誰かやってやれよ あ、これ自演じゃないですよ。多分
>>392 >隣り合う頂点
p[i] のとなりは p[i - 1] または p[i + 1]、と機械的に考えていいでしょうか?
また、点がN個あり、i= 0〜N+1 のとき、p[0] と p[N - 1] は隣り合うとしなければならないでしょうか?
> 2頂点を中点に置き換えて移動を続ける。
考える点が減る、ということでいいでしょうか?
天才コテきたー! >p[i]^(t+1)-p[i]^t=a(p[i+1]^t-2p[i]^t+p[i-1]^t) の ^ はCの規格どおり排他的論理和だと思う? それともVBとかのべき乗だと思う? っていうか、これ、何のアルゴリズム?
>>396 単にp[i][t] くらいの意味でしょうね。数学表記では二つ目の引数を上付き文字にすることもあると思います。
>>392 double dx = a * ( p[i+1][t].x - 2 * p[i][t].x + p[i-1][t].x );
double dy .....
p[i][t+1].x = p[i][t].x + dx;;
p[i][t+1].y = p[i][t].y + dy;
って事?プログラムを書くのは簡単だけど行列で記述するのは難しいな
(1, -2, 1) って係数がラプラシアンを彷彿とさせるな
数学的には、温度の変化じゃないか 部分部分によって温度ムラがある針金を放置しておいた場合の、温度の変化みたいな
>>400 エラー E2140 dai71.c 69: ここでは宣言はできない (関数 main )
エラー E2140 dai71.c 70: ここでは宣言はできない (関数 main )
エラー E2140 dai71.c 71: ここでは宣言はできない (関数 main )
*** 3 個のエラーがコンパイル中に発生しました ***
これはひどいですね
> [3.3] 言語:C
が見えなかったようで
>>407 へえーC99に完全準拠している処理系があったら教えて欲しい物です
Intel C++もgccもC99には部分準拠ですよ?
それにVCではCモードでコンパイルすると通りません
>>408 完全準拠の処理系は確かにみたことがないですね。
存在しなくても規格に通ればそれでいいのか クソソースだな
>>407 > [3.3] 言語:C
こう書いてあったらVCでも通るように書けよ
要するにC89で書けってこった
C99を平気で使えるヤツって働いたことなさそうw
だから◆QZaw55cn4cは無職なんだってw
おまいら細かいだろ、 ここは学校の課題をこなすところだぞ
>>415 ==◆QZaw55cn4c
通らないソースを呈示されても学生はかえって迷惑するだけなんですけど
>>412 それは流石に言いがかり
難癖つけたい気持ちは分かるが
>>392 の環境がgccなんだからgccで通ればOK
やるなら、gccのver xxで動きませんとか言わないと
>[3] 環境
> [3.1] OS:Linux
> [3.2] コンパイラ名とバージョン:gcc
> [3.3] 言語:C
419 :
415 :2011/02/14(月) 22:29:44
おれ、ちがうぞ。学生だし
>>419 ==◆QZaw55cn4c
もうね、、、
421 :
415 :2011/02/14(月) 22:32:20
>>420 ==◆QZaw55cn4c
おこったぞー、やりかえしてやるー
アホだこいつ
コンパイラが明記してあるんだから、 それでエラーになるなら文句言えば?
gccでも-ansiのオプションを付けたらどうなる?
425 :
417 :2011/02/14(月) 22:36:36
>>418 残念ながら、俺も違う
◆QZaw55cn4cを叩きたいのは分かるが、粘着してるお前も同類にしか見えない
てか、冒険の書ってむかつく。
>>408 VCのCモードって何?
VS.NET2008使ってるけど、そんなオプション見当たらない…
VC6辺りだとあるの?
拡張子のことじゃないの?
◆QZaw55cn4cあまり興奮するとハゲあがった頭がますますハゲるぞw
>>426 -pedanticを付けると
..\Learn1.c:59:3: warning: ISO C90 forbids mixed declarations and code
やはり叱られますよ
>>411 申し訳ありませんが、
>>400 は、gcc-4 で警告・エラーなしにコンパイルできます。
「今は存在しないC99(完全)準拠コンパイラでコンパイルできれば無問題」という主張は私はしていません。
>>407 で不用意に、「gcc を C99 として使っている」と書いたのが不正確だった、ただそれだけです。
>>408 ,409
遅ればせながら、ご指摘ありがとうございます。
>>412 >[3.2] コンパイラ名とバージョン:gcc
と書いてありますから、最近の gcc(gcc-3 か gcc-4) でコンパイルできる
>>400 は、使用するコンパイラに関して
>>392 の要求する要件を満たしていると考えていいでしょうね。
ただ、C89 でもコンパイルできたほうが望ましいという意見には同意しますので、bcc32 の出力結果を示して指摘いただければ、これまでも
>>404 のように修正してきましたし、これからもそうするでしょう。
コマンドラインがどうかしたのか?
拡張子を.cにしてcl.exeに掛けてみろと言ってるんだよ
コマンドラインしたら何がアウトするの?
>>435 C++なら
> q = malloc(sizeof(struct data) * n);
> int i, j;
のように書いても通るが、
C89ではコンパイルエラーになる
コマンドラインじゃないとダメなんですか?
>>434 main()から始めるオプションが分からん
普通に IDE からビルドしても、*.c なら C として、*.cpp なら C++ でコンパイル するだろ。 変えたければ、詳細設定のコンパイル言語の選択で変更できるし。 (/TC で C, /TP で C++)
なぜコマンドラインにこだわったんだろう
話題逸らしに必死だな
>>404 の
>
>>400 >最近のCはこれでも通るんですよ。
これにはまいったね
Cの規格云々より flg なんて使うお粗末なコードにケチつける奴は居ないのか?
>>443 それはお話をおききしたいものです。ぜひともよろしくお願いいたします。
>>443 関数名や変数名は宿題だから気にならない
でも、関数の宣言を省略してるのはキモい
まぁ、コーディングスタイルは人それぞれだから…
N+1世代分の領域を確保して、0世代目に初期値を入れる ループを1〜Nまで回せば無駄な flg や条件分岐の無いシンプルなコードになるだろ
>>446 flag は、
>>392 >A移動中に隣り合う頂点が、ある距離以下になった場合には、2頂点を中点に置き換えて移動を続ける。
かつ
>>395 >考える点が減る
を反映しています。
ある距離よりも小さくなった隣り合う二点が一つに退縮し、もう計算対象ではなくなった点(p[i]) に目印をつけるための flag でしたが、まあ円形のリストで表現する、という
手もあるでしょうし、考える余地はありますね。
ご意見ありがとうございました。
C99といいC++といい、どうして規格合致しているコンパイラがひとつもないのだ^^
450 :
デフォルトの名無しさん :2011/02/15(火) 00:03:06
>>449 C++はデファクトスタンダード化しているからいいとして、C99はないよと言いたい
gccで通れば良いんじゃないの?
>>447 関数の定義はあるけど、宣言は1つもないけど?
>>452 それはわかったからさ、
>>404 の
>
>>400 >最近のCはこれでも通るんですよ。
俺がC99を知らないとでも思ってるような馬鹿にした書き方が頭に来るんだよな
ISO/IEC 9899:1999とJIS X3010は持ってるんだ
>>454 突っかかりすぎ
嫌いなら無視すれば良いだけ
>>455 まあそうだな
◆QZaw55cn4cは根っからのアホだから真面目に相手をするとこちらが馬鹿を見るだけだ
というか◆QZaw55cn4cと同じレベルに落ちる
>>453 下から上に(main() が最後になる)コードを書いてるとプロトタイプ宣言は書かなくなるよ
稀に再帰等でプロトタイプ宣言が必須になるケースは有るけど
>>454 それはこちらとて同じこと。
>>392 でコンパイラを gcc と指定しているので、それに従っただけなのに、
bcc でエラーが出るからという理由だけで
>>403 「これはひどいですね」「[3.3] 言語:Cがみえなかったようで」
と、まるで、コンパイルしていないコードを投げたか、c++ でコンパイルしたかのように書かれてしまいました。
C89 でも通るように書くほうがいい、という意見には同意しましたので、書き直しました。
C99 をお持ちとのことですが、持ってるだけじゃ意味がないと思いますよ。
>>458 だめだなこいつは
コテであぼーんしないと
キチガイだ
>>458 そういう風に返すなら、gcc以外の処理系も用意しておくべき。
たまたま依頼がgccだったからで、そうでない時は回答しない?
そういえば、Intel CはC99に規格合致してるんだっけ?
>>462 完全準拠と謳ってはいるけど、ライブラリの動作が規格から外れている部分がある
>>464 不当な評価に対しては、当然反論する権利はあるでしょう。
>>465 お前にとっては「自分のプライドに触る評価」が不当な評価なのであって、
客観的に見てどうかというのは全く問題になってない
話の進め方がおかしい事ぐらい誰が見てもわかる
ケアレスミスを指摘されて顔を赤くするのは子供だと思うな
C99などと言い出した奴は誰だよ
>最近のCはこれでも通るんですよ。
>>463 あらま…やはり完全準拠のコンパイラは不在か。
仕事でもないのに、他人の丸投げ宿題1つでそこまで必死に議論するお前らが理解できない 回答者がコンパイル通らないor意図した通りの実行結果が得られないって言ってるわけでもないのに
473 :
379 :2011/02/15(火) 01:19:50
やけにスレ進んでるなーと思ったら、なんだこの無用なやりとりは。 回答者同士の煽り合いとか、マジ誰得www 宿題投稿者と回答者の一対一で、場合によってそれに助言など適当にやるスレなんじゃないの いちいち第三者が回答者に対して執拗に突っかかる必要性はなんだろう。 文句あるならソース出せって思うの俺だけ?w まあこういったスレではコテ要らないと思いますけどね。 回答者の立場としては泊をつけたいんでしょうけれど...。 まあソース出していろいろ楽しめたので、俺は今回に限りレス番号付けて投稿しますよ。 みんなマターリいこうぜ!
>>466 どこが客観的におかしいというのですか?
コンパイラとして gcc が指定された問題に対する回答として、gcc でコンパイルできるコードを提示したにも関わらず、
>>403 「これはひどいですね」「[3.3] 言語:Cがみえなかったようで」
という事実に反する言及は不当と感じましたが、それに問題があるとでも?
>>404 >最近のCはこれでも通るんですよ。
自体も、事実に反する表現ではありますまい。
>>403 は bcc のメッセージであったことから嫌味は含ませましたが。
>>407 >codepad.org も gcc を C99 として使っているようで、
これは不正確だったことは認めています。
基地外がファビョり始めたな
476 :
デフォルトの名無しさん :2011/02/15(火) 01:33:14
このスレでも◆QZaw55cn4cは糞
>>474 >>最近のCはこれでも通るんですよ。
>自体も、事実に反する表現ではありますまい
最近のVCで通るかな?
c:\documents and settings\*******\my documents\visual studio 2010\projects\learn1\polygon1\polygon1.c(56): error C2143: 構文エラー : ';' が '型' の前にありません。 c:\documents and settings\*******\my documents\visual studio 2010\projects\learn1\polygon1\polygon1.c(57): error C2143: 構文エラー : ';' が '型' の前にありません。 c:\documents and settings\*******\my documents\visual studio 2010\projects\learn1\polygon1\polygon1.c(58): error C2143: 構文エラー : ';' が '型' の前にありません。 c:\documents and settings\*******\my documents\visual studio 2010\projects\learn1\polygon1\polygon1.c(60): error C2065: 'i' : 定義されていない識別子です。 c:\documents and settings\*******\my documents\visual studio 2010\projects\learn1\polygon1\polygon1.c(60): error C2065: 'i' : 定義されていない識別子です。 c:\documents and settings\*******\my documents\visual studio 2010\projects\learn1\polygon1\polygon1.c(60): error C2065: 'i' : 定義されていない識別子です。 c:\documents and settings\*******\my documents\visual studio 2010\projects\learn1\polygon1\polygon1.c(61): error C2065: 'j' : 定義されていない識別子です。 〜省略〜 ビルドに失敗しました。 通りませんねえ
アホだから書けば書くほど墓穴を掘る◆QZaw55cn4c 糞だな
コンパイルに通るか否かでコードの評価をしてしまう頭の悪さ。 お前がプログラムを書く目的はコンパイルをすることかと。 コンパイルに通らなければ直せばいい。
最初の指摘に対して 『C99でコンパイルしたから気づかなかったよ』って答えるのが大人、 『C99準拠で書いてます、キリっ』って反論するのが子供
484 :
デフォルトの名無しさん :2011/02/15(火) 01:54:43
こうして◆QZaw55cn4cはますますム板一の嫌われ者になっていくのであった 恐らくリアルでも嫌われ者で友達も彼女ももちろんいないだろう
>>482 =┐=◆QZaw55cn4c
┌──┘
│
│
│
│
│
│
│
│
│
│ _、_
│ ヽ( ,_ノ`)ノ 残念、それは私のおいなりさんだ
│ へノ /
└→ ω へノ
489 :
デフォルトの名無しさん :2011/02/15(火) 03:12:01
初期化してない変数を読み出すという初歩的な糞を犯す◆QZaw55cn4c
◆QZaw55cn4cが悪いとかいいとか言わないけど 荒れるから酉外してほしいね
>>490 ここで商売しようとしてるので、止めないんじゃない?
492 :
デフォルトの名無しさん :2011/02/15(火) 18:07:38
n = sizeof(p) / sizeof(struct data); q = malloc(sizeof(struct data) * n); // 何でこんなことしてんの? // q = malloc(sizeof(p)); // で良いんじゃね?
バカだから
変な使いまわしだな 後で要素数ループしたいので 要素数は別途保持しとくついでにこっちも使っちゃえ的な
良くみると、qを動的に確保する意味もわからんな… 普通に考えれば、構造体を宣言して、p[5]とq[5]を用意すれば良いだけ… もともと、qはループの中で作って開放してたのか?
>>492 ご指摘感謝です。確かに私のはちょっとくどい。
>>495 >qを動的に確保する意味
struct data p[5]
としたくなかったからです。
struct data p[] = {
...
};
のなかに、好きなだけ座標データを定義するだけで、あとはよきにはからってくれるようにしたいと考えました。
データの数を変数 n にとったのもそのためです。
ああ、#define N 5 は余計でしたね。
497 :
デフォルトの名無しさん :2011/02/16(水) 00:04:37
こんなレベルで商売を目論む◆QZaw55cn4c
態度がでかいPGほどソースはこんなもんだよ
PGじゃなく、アマチュアさんだろ
char chr[3]; func(chr); func(char* val) { printf("%d", sizeof(val)); } これって3?
いいえ
printf("%d", sizeof(*val)); じゃあこれで3?
func(char* val,int len){
1
valのみから3を導き出すことは難しい
普通やらないってこと?
mallocして、後に確保した値を調べようとするようなもの
なるほど
なるほど?理解できたのか?
できたできた
説明してみろ
#define sz 3 char chr[sz]; 中略 printf("%d", sizeof(sz)); こういうことでしょ?
なにが?
sizeof(sz) って int 変数のサイズにならないか?
delphiの動的配列みたいにしないと
[1] 授業単元:システムモデリング
[2] 問題文(含コード&リンク):
http://www1.axfc.net/uploader/File/so/58607 [3] 環境
[3.1] OS:Windows vista
[3.2] VisualStudio2008
[3.3] C/C++
[4] 期限: 無期限
[5] その他の制限:特になし
ISM法をプログラムを作ってシミュレーションせよという課題です。
可達行列までは求めることが出来たのですがその後の行列の変形や
要素レベル分割が上手くいきませんでした。
期限には間に合いそうにないので無期限でお願いします。
>368 malloc(sizeof(double [3])) (*d_array)[0] 別にいいんだけどね C99なら (double [3]){0.,}
520 :
デフォルトの名無しさん :2011/02/16(水) 13:29:46
マクロで数値をconst stringに入れる方法がわかりません。 下のコメントを外したときに const string out = "A:1"; と展開されるようにしたいのですが。 #include <iostream> using namespace std; const int A=1; #define debug(a) (#a)//:##a const string out=debug(A); int main() { cout << out << endl; return 0; }
521 :
520 :2011/02/16(水) 13:43:43
要するに自分には以下の違いがわからない、ということのようです・・・ #include <iostream> using namespace std; #define xstr(s) str(s) #define str(s) #s const int A=1; #define B 3 //const string id = xstr(B); const string id = xstr(A); int main() { cout << id << endl; return 0; }
>>521 頭悪いな。それに、ようです・・・、とはなんだ。自分のことなのに
524 :
520 :2011/02/16(水) 14:17:40
>>522 変数名はよくて、むしろ値を文字列化するほうが分からないのです。
>>523 マクロよく知らないので・・・。
const int A=1;
のほうの値を
const string id="1";
として取り出す方法が分かってないです。
#define B 3
の方は型がないから普通に通るけど。
>>524 オーバーロードした関数たくさん用意すれば
string henkan(int a);
string henkan(double a);
・・・
みたいに
526 :
520 :2011/02/16(水) 14:24:48
>>525 それはアリですね。ありがとうございます。
527 :
520 :2011/02/16(水) 14:27:15
いや、やっぱ定数文字列にhenkanの結果を戻すのは無理でなかろうか?
定数にしなければよくない? 代入したくないんだったら、関数しちゃえば
529 :
520 :2011/02/16(水) 14:43:04
>>528 そんな感じですね。あと気づいたのは
template <typename T>
string henkan(T x) {
ostringstream oss;
oss << name(x) << ":" << x << flush;
return oss.str();
}
的なことをしちゃうと、名前が消去されて、本当に欲しいものにならないとか。
制限が厳しすぎるわ。
530 :
デフォルトの名無しさん :2011/02/16(水) 16:04:19
>>530 穴埋めサービス問題ばかりじゃないか・・・。
コード書かせてもらえない宿題とかやりたくない。
>>531 Cソースコードは無視すれば良いと思うよ
ちらっと見たら3は内容が異なるし4は無い
533 :
デフォルトの名無しさん :2011/02/16(水) 18:26:41
>>529 もう一息
#define str(s) henkan(s, #s)
string henkan(T x, string s)
[1] 授業単元:プログラミング演習 [2] 問題文:以下の関数を作成する。 void zeroSuppres(char *src, char *dst, char flg) src=元の文字列、dst=格納先 flg = 0ならば srcが"00000456"ならdstには"456" srcが"00.0456"ならdstには"0.0456" srcが"000000000"ならdstには"0" srcが"000560.000"ならdstには"560.000" srcが"000C560.000"ならdstには"0"←数字以外の文字出現 srcが"000.0B560000"ならdstには"0.0"←数字以外の文字出現 が格納される。 flg = 1ならば srcが"00000456"ならdstには"\0\0\0\0\0456" srcが"00.0456"ならdstには"\00.0456" srcが"000000000"ならdstには"\0\0\0\0\0\0\0\00" srcが"000560.000"ならdstには"\0\0\0560.000" srcが"000C560.000"ならdstには"\0\00"←数字以外の文字出現 srcが"000.5C60000"ならdstには"\0\00.5"←数字以外の文字出現 が格納される [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:visual studio [3.3] 言語: C言語 [4] 期限:2/19 お願いします。
すいません、ペペロンチーノの作り方を教えてください
まずは服を脱ぎます
脱いだ服をカバンに詰めます
>>535 ペペロンチーノに必要なクラスまでは考えた。
残りの具体化は他の奴に任せる。
class peperoncino {
public:
pasta longPasta;
spice garlic;
oil oliveOil;
spice redPepper;
herb parsley;
spice pepper;
pickles anchovy;
}
544 :
520 :2011/02/17(木) 08:00:45
>>533 参りました。見に来てよかった。
こういうことになってくると、やっぱ気持ち悪いですねぇ(笑
>>544 値の内容は、動的だから、実行時に取り出すしかない。
変数名は、静的に取り出すしかないから、
>>533 みたいになる。
気持ち悪いのは、
>>533 で文字列を引っ張って来て、
呼び出し元で、毎回出力を書くからなので、
文字列を返すhenkan()関数をやめて、
debug_print()とかにして、そこで出力まで完結させればOK
「文字型配列 str1 に "ABCDEFGHIJKLMNOPQRSTUVWXYZ" が格納されている。 ポインタ2つを用いて、文字型配列 str2 に、この文字列を逆運に格納するプログラムは?」 ポインタ2つ使う意味がわからない
char *p, *q; for (p = str1, q = str2; *p; p++, q++) *q = *p; 的な?
アカン、逆順になってないしもうどうしようもない。 忘れてくれ。
>>546 char str1[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char str2[ sizeof(str1) ];
char *p1, *p2;
for( p1 = str1 + strlen(str1) - 1, p2 = str2; p1 >= str1; --p1, ++p2 )
{
*p2 = *p1;
}
*p2 = '\0';
printf( str2 );
こんな感じに使えってことじゃね?
逆運って?さかさウンコ?灰皿ウンコ?
文字列型配列ってstring[]じゃね?
文字列なのか配列なのか
*char[]だろ常考
永遠なのか本当か
時の流れは続くのか
ま、もともと文字型配列と書いてるし、
>>552 は誤読しただけ
ポインタを用いて配列 a[101] の中に下記のような数字を格納してください a[ 0 ] = 0 a[ 1 ] = 0 + 1 a[ 2 ] = 0 + 1 + 2 (中略) a [ 100 ] = 0 + 1 + 2 + … + 99 + 100
int a[10]={0},i,*p; for(i=1,p=a;i<10;i++,p++){ a[i]=*p+i; }
arr[-1]ネタか 釣られてやれよ
dim a(100) for i = 1 to 100 step 1 a( i ) = a( i ) + a( i -1 ) next
全部 0 のままじゃね?
BASICインタプリタは優秀だから大丈夫
564 :
デフォルトの名無しさん :2011/02/19(土) 14:19:58
*nextの指す先を今まで指してたヤツの*nextに書き換える 見つかるまで*nextをループさせる これくらい書けるだろここまで行ってたら
567 :
デフォルトの名無しさん :2011/02/19(土) 16:50:07
>>565 色々と書いてたらよくわからなくなってきまして……
あるあるw 最初のうちは、思った以上に分解して、 細かい機能単位をクリクリにしておいて、 それを組み合わせていくのがいいよ。
1バイトの変数の下位4bitに符号付き4bit整数が格納されているのですが、 これをint型に変換する方法をお願いします。
補足、パックされている符号付き4bit整数は2の補数?で表現されています。
571 :
デフォルトの名無しさん :2011/02/19(土) 18:34:47
573 :
デフォルトの名無しさん :2011/02/19(土) 18:47:28
どこなら答えてもらえるか解らないから。
なんでドヤ顔なのw
マルチポストに気づかれると答えてもらえる確率はさがるのにな
>>569 符号付4ビット整数って事は -8 〜 7 って事?
( val & 0x0F ) - 8 じゃダメ?
>>576 をいをい
( ( val + 8 ) & 0x0F ) - 8
578 :
デフォルトの名無しさん :2011/02/19(土) 23:44:54.68
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
名前と年齢を入力し、SLISTで構造体で保持する。
名前は入力される度にリストを検索し、まだ入力されていなければ年齢を入力しリストに格納する。
名前が既に入力されていた(リストに同じ名前があった)場合は、新たに入力された年齢に更新する。
名前に"END"と入力した場合は、リストをすべて表示して終了する。
ttp://caspar.hazymoon.jp/OpenBSD/sys/queue/slist.html [3] 環境
[3.1] OS: FreeBSD
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限: [無期限]
[5] その他の制限: 特になし
よろしくお願いします。
>>576 ,577
おお。ありがとうがざいます。これで枕を高くして眠れます。
580 :
デフォルトの名無しさん :2011/02/20(日) 00:52:51.90
[1]授業単元:プログラミング [2]問題文 担当者名が"end"になる迄、担当者名と売上を入力する。売上合計を求める。 [3]環境 [3.1]OS:Windows [3.2]コンパイラ名 Borland C++ compiler 5.5 [3.3]言語:C [4]期限:無期限
581 :
580 :2011/02/20(日) 00:53:48.72
[5] #include<stdio.h> #include<string.h> main() { int i;int count = 0; char tanto[1000], tanto_t[1000]; int uriage;int uriage_t[1000];int goukei = 0; printf("担当者を入力\n"); scanf("%s",tanto); printf("売り上げを入力\n"); scanf("%d",&uriage); while(strcmp(tanto,"end")){ goukei = goukei + uriage; uriage_t[count] = uriage; strcpy(tanto_t[count],tanto); count++; printf("担当者を入力\n"); scanf("%s",&tanto); if(strcmp(tanto,"end")){ printf("売り上げを入力\n"); scanf("%d",&uriage); } }
582 :
580 :2011/02/20(日) 00:54:52.99
printf("担当者名"); for(i = 0;i <= count;i++){ printf("%s",tanto_t[i]);} printf("\n\n売り上げ"); for(i = 0;i <= count;i++){printf("%d\n",uriage_t[i]);} printf("%d",goukei); return 0; } プログラミングど素人で、自分なりに考えてコンパイルしてみましたが、 Error E2342 2011215b.c 24: Type mismatch in parameter '__dest' (wanted 'signed char *', got 'int') in function main というエラーが出ます。何が原因でエラーになっているのかわかりません。 何故エラーになるのか、どういうふうにすればエラーが直るのか教えてほしいです。
tanto_t[1000] → tanto_t[1000][100] でとりあえずエラーは消える
[1] 授業単元:制作課題 [2] 問題文(含コード&リンク):PICとのシリアル通信 [3] 環境 [3.1] OS:Windows [3.2] VC 6.0 [3.3] 言語:C++ [4] 期限:無制限 [5] その他の制限:無し マイコンにUSARTで通信したいのですが、サンプルを探してみてもC#やVB の例が多く困っています。createfileやwritefileでどうしてもエラーが出てしまうんです。
カレンダーの課題を出さないと麻呂のクソースをお見舞いしてやるでおじゃるよ?
>>584 > createfileやwritefileでどうしてもエラーが出てしまうんです。
エラーの出るコードとエラーの内容書いてよ。
589 :
578 :2011/02/20(日) 17:43:23.92
>>578 です。
問題が間違っていました。すいません。
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
単方向リストで名前と年齢を構造体にて保持する。
名前と年齢を入力し、リストになかった場合はリストに追加する。
名前が既に入力されていた(リストに同じ名前があった)場合は、新たに入力された年齢に更新する。
名前に"END"と入力した場合は、リストをすべて表示して終了する。
[3] 環境
[3.1] OS: FreeBSD
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限: [無期限]
[5] その他の制限: 特になし
よろしくお願いします。
590 :
デフォルトの名無しさん :2011/02/20(日) 18:20:44.86
591 :
578 :2011/02/20(日) 18:25:06.06
>>590 ありがとうございます!!
すごいなぁ。。。
>>591 これって課題じゃないでしょ…
すごいなぁじゃねえよ
595 :
デフォルトの名無しさん :2011/02/21(月) 00:02:50.98
perlでのprint pack("H*","938c8b9e"),"\n";は、東京と表示される。 これをC言語で実装したいが、分かりません。 宜しく、お願いします。
>>595 "H*"が前提なら楽勝だけど、pack()そのままが必要だと面倒
>>597 期限がない=課題じゃない→感想を言ってはいけない?
600 :
デフォルトの名無しさん :2011/02/21(月) 04:22:07.88
596さんへ、早速の解答有難うございます。 H*を前提です。 pack()は、そのまま必要です。 そのままが必要だと面倒だと言う部分が 私には、さっぱり分かりません。 宜しくお願いします。
>>600 #include <stdio.h>
unsigned char *pack( unsigned char *dst, const unsigned char *src ) {
unsigned char *ret = ( src != NULL ) ? dst : NULL;
while( ( ret != NULL ) && ( *src != '\0' ) ) {
if( ( '0' <= *src ) && ( *src <= '9' ) ) { *dst = 16 * ( *src - '0' ); }
else if( ( 'A' <= *src ) && ( *src <= 'F' ) ) { *dst = 16 * ( *src - 'A' + 10 ); }
else if( ( 'a' <= *src ) && ( *src <= 'f' ) ) { *dst = 16 * ( *src - 'a' + 10 ); }
else { ret = NULL; break; }
src++;
if( ( '0' <= *src ) && ( *src <= '9' ) ) { *dst = *dst + ( *src - '0' ); }
else if( ( 'A' <= *src ) && ( *src <= 'F' ) ) { *dst = *dst + ( *src - 'A' + 10 ); }
else if( ( 'a' <= *src ) && ( *src <= 'f' ) ) { *dst = *dst + ( *src - 'a' + 10 ); }
else { ret = NULL; break; }
src++; dst++;
}
if( ret != NULL ) *dst = '\0';
return ret;
}
int main() {
char buf[20], s[] = "938c8B9e";
pack( buf, s );
printf( "%s\n", buf );
return 0;
}
eval_pv("$s = pack('H*','938c8b9e');",TRUE); printf("$s = %s\n", SvPV_nolen(get_sv("s",0)));
>>595 void pack( char* dst, const char* src )
{
char buff[ 4 ];
while( (src[ 0 ] != '\0') && (src[ 1 ] != '\0') )
{
strncpy( buff, src, 2 );
if( (*dst = strtol( buff, NULL, 16 )) != 0 )
{
dst += 1;
}
src += 2;
}
*dst = '\0';
}
void pack( char* dst, const char* src ) { char buff[ 4 ]; while( (src[ 0 ] != '\0') && (src[ 1 ] != '\0') ) { strncpy( buff, src, 2 ); if( (*dst = strtol( buff, NULL, 16 )) != 0 ) { dst += 1; } src += 2; } *dst = '\0'; }
- char buff[ 4 ]; + char buff[ 4 ] = {0};
607 :
デフォルトの名無しさん :2011/02/21(月) 21:55:06.66
600さんへ、早速の解答有難う御座います。 最初のif文の所は、パスしてしまいました。 機会があったら、試してみます。 604さんへ、こちらの方がコードが少なくてこちらの方は大体は理解出 来ました。要は、longの型に変換すると言う事ですね。こちらは、試し てきちんと動きました。助かりました。 一番のシンプルさでは、602さんです。 このコードでは、このままでは何かをincludeしないと動かないと思い ますが、何をincludeしないといけないのかと言うのが分かりません。 これは、詰まりc言語からperlインターフェースを呼んでいるんですよ ね。これが、簡単で良いとは思いますが、includeするべきヘッダーフ ァイルは、何処から持って来れば良いのか、分かりません。 602さん、その辺を宜しくお願いします。
>607, 602じゃないが面白そうなのでやってみた
piyo.c
#include <EXTERN.h>
#include <perl.h>
static PerlInterpreter *my_perl;
int main(int c, char **v, char **e) {
char *embedding[] = {"", "-e", "0"};
/* initialize my_perl */
PERL_SYS_INIT3(&c, &v, &e);
my_perl = perl_alloc();
perl_construct(my_perl);
perl_parse(my_perl, NULL, 3, embedding, NULL);
PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
perl_run(my_perl);
/* evaluate Perl statments */
eval_pv("$s = pack('H*', '938c8b9e');", TRUE); /* S-JIS */
printf("$s = %s\n", SvPV_nolen(get_sv("s", 0)));
/* finalize my_perl */
perl_destruct(my_perl);
perl_free(my_perl);
PERL_SYS_TERM();
return 0;
}
cc -Wall -o piyo piyo.c `perl -MExtUtils::Embed -e ccopts -e ldopts`
http://perldoc.jp/docs/perl/5.10.0/perlembed.pod#Evaluating32a32Perl32statement32from32your32C32program
eval_pv は独立した Perl の文字列を評価し、強制的に C の型へと 変数を展開します。 へー 知らなかった
610 :
デフォルトの名無しさん :2011/02/22(火) 02:35:21.35
[1] 授業単元: プログラミング [2] 問題文 サッカーの試合結果の記録されたデータファイルを読み取り、 優勝したチーム名を出力するプログラムを作成せよ。 データファイルには、先頭の行にチーム数が出力されており、 2行目からチーム名(チーム数分)、 それ以降の行に試合結果が出力されている。 試合結果の行は以下のフォーマットとなっている。 <ホーム側のチーム名> <ホーム側チームの得点> <アウェイ側チームの得点> <アウェイ側チーム名> チーム名は30文字以内とする。 試合に勝ったチームには勝ち点3が与えられ、引き分けたチームには 勝ち点1が与えられる。勝ち点の合計が最も多いチームが優勝となるが、 勝ち点の合計が同じチームが複数ある場合には、それらのうち、 得失点差(得点と失点の差)の合計が大きいチームが優勝となる。 得失点差の合計が同じ場合にはどちらを優勝としてもよい。 4 MANCHESTER_UNITED ARSENAL CHELSEA LIVERPOOL MANCHESTER_UNITED 3 1 ARSENAL CHELSEA 3 0 LIVERPOOL ARSENAL 2 2 CHELSEA LIVERPOOL 3 0 MANCHESTER_UNITED ------------------------------------ [3] 環境 [3.1] Windows [3.2] visual 2008 [3.3] 言語: C++ [4] 期限: 2011年2月23日午前8時 [5] その他の制限: 初心者で現在条件分岐までならっているのですがこの問題はは 初心者には難しいでしょうか?よろしくお願いします。
>>610 条件分岐までしか進んでないのにファイル入力や二次元配列 or 構造体配列が必要な宿題を出すのか?
もし自分の独習用なら少し早いかも知れないね
まぁ調べながらコードを書くのは良い勉強になるからダメもとで書いてみるのは良いと思うけど
foo.exe << bar.txt のようにすればcinでもいいので そういうのを想定してるのかもよ
そのままでは、エラーになるので、多分ライブラリーが無いと思われるのだが。 下記で、調べようと思って、下記のコマンドを実行したら、下記のメッセージが出た。 これは、何を意味しているのだろうか。ヘッダーファイルが無いと言う事なのだろうか。 バージョンは確かにこの通りに4.3.2にはなっています。 済みません。宜しくお願いします。 おそらく、さらにライブラリを追加指定する必要があるでしょう。 どれを? おそらく以下のようにすれば表示されます:perl -MConfig -e 'print $Config{libs}' Set up gcc environment - 4.3.2 -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lmsvcrt
そのperlコマンドを実行し、コンパイル時にそれらのリンカオプションをつけてみろってことなんでないのかな
>>614 良く分からんが、perlをコンパイルすると、perlライブラリが出来るらしい
で、そのコマンドは出来上がったライブラリがどこにあるか調べるコマンドだって
シリアル通信の質問したものですが学校の制限のせいでAPIが制限されていただけのようです 課題は何とかなりそうです。リンクを張ってくれた方ありがとうございます ところで制限のかかったアカウントで管理者のユーザーとして立ち上げたVisual studioで作ったプログラムから 管理者権限でプログラムを起動するのは可能ですか? 素人なのでよくわかりません。
環境に依存しなさそうな方法が、ショートカットを作って管理者権限を要求するように設定する方法 Vista以降ならシールドアイコンつける
[1] プログラミング言語 [2]問題文 以下のソースプログラムで誤っている箇所(○行目の〜の部分)とそれを どのように修正すればよいのかを指摘しなさい。誤っている箇所は複数あるので、以下の 例のように箇条書きにして、誤っている部分と修正安を指摘してください。(一箇所の指摘に対して1点、最大5点まで加点) (箇条書きの例) ・9行目の「kekka =10;」で、合計を求める変数kekkaの初期化が正しく行われていない。 「kekka = 0;」とすべき。 ・○行目の〜の部分で・・・・・など。 2つの整数を引数として受け取り、第一引数と第2引数の足し算の結果(整数) を戻り値とする関数をsumという関数名で作成せよ。さらに、関数sumを利用して、以下の 配列numberの10個の数値の合計値を求めるプログラムを作成せよ。 int number[10]={1,2,3,4,5,6,7,8,9,10}; [3] 環境 [3.1] linuxのkateです。 [3.3] C言語 [4] 期限: 2011年の2月26日の12時です。 [5] その他の制限: 特にないと思います。お手数かけますがどなたかお願いします。
イカソースがないじゃないか
ソースはこちらになります。 #include<stdio.h> int sum(int arg1, int arg2) int main(void) { int number[10]={1,2,3,4,5,6,7,8,9,10}; int kekka, i; kekka = 10; for (i=1; i<=10; i++) { kekka = su(kekka, number[i]); } printf("%d\n", &kekka); return 0; } sum(int arg1, int arg2) { return = arg1 + arg2; }
じ、字下げが反映されてない・・・orz 字下げはちゃんとされてる設定です!
>>622 いくら宿題だとはいえ、こんなソース見た瞬間に0から書き直すことを考える。
一応書いておくと8箇所か9箇所かな…
int sum(int arg1, int arg2); 2行目。末尾に終端記号 ; を付加 kekka = 0; 9行目。例に従い初期値を0とする for (i=0; i<=9; i++) 10行目。初期値及び終了条件をnumber配列の添え字の範囲に変更 kekka = sum(kekka, number[i]); 12行目。関数名の間違い printf("%d\n", kekka); 14行目。& は不要 return arg1 + arg2; 21行目。= は不要
>>625 すいません。人に物を頼むのに適当なことやって
書き直します!
#include<stdio.h>
int sum(int arg1, arg2)
int main(void)
{
int number[10]={1,2,3,4,5,6,7,8,9,10};
int kekka, i;
kekka =10;
for(i=1; i<=10; i++)
{
kekka = sum(kekka,number[i]);
}
printf("%d\n", &kekka);
return 0;
}
sum(int arg1, int arg2)
{
return = arg1 + arg2;
}
何故さがらない・・・・orz
>>626 ありがとうございます。
12行目は自分の打ち込みミスでした・・・
ほんとすいません。
凄く助かりました。
>for (i=0; i<=9; i++) マジックナンバー (・A・)イクナイ! for (i=0;i<sizeof(number)/sizeof(number[0]);i++)
ループで毎回計算させるのもイクナイ!
>>631 嘘つけ、コンパイル時に定数決定される。あれ?もしかすると釣りか?
まぁ、マジックナンバーは「誤っている」とまでは言えないわな。 sum(int arg1, int arg2) も返却値の型 int を明示すべきだが 規格ではエラーではない(ここでは int と推測されてプロトタイプに一致する)。
2行目が何気に変わってるのも釣りなのかな…? >int sum(int arg1, arg2)
何気に kekka = sum(kekka,number[i-1]); で for (i=1; i<=10; i++) は正しいのかも知れない…
>>628 以前はダメだったんだけど、最近は tab インデントは下がるはずだよ
空白でインデントしていないかい?
もしくは専ブラとかが関係してるのかな?
#include<stdio.h>
int main() {
printf( "%s\n", "
>>636 そうなのか?" );
return 0;
}
駄目じゃん
>>635 ああ!2行目も打ち間違えてた・・・orz
正式には
int sum(int arg1,int arg2)
です。
>>636 tabキーですか!
一回目の書き込みは専ブラからで
二回目は直で書き込んだんですけど
どちらも駄目で焦りましたw
>>639 アンカーも間違ってるみたいだけど気にするなwww
>>640 hahaha...
もう駄目ですねwww
死んだほうがいい俺wwww
#include <stdio.h> int main( void ) { printf( "下がってない?\n" ); }
643 :
642 :2011/02/26(土) 04:07:28.19
エディターで書いてコピペすれば下がるみたい ちなみにギコナビ使ってる、ギコナビだと直打ちするにも tab が入らない
>>643 それギコナビがtabを ×4に置き換えてくれてるだけでは無かろうか?
>>644 どうやらそうみたいだね、今 chrome で同じ事しようとしたら確認画面の段階でダメだったよ
以前はギコナビでもダメだった記憶が有るんだけど、バージョンアップしたっけか?
ちなみに現在はバタ61です
[1] 授業単元: データ構造とアルゴリズム [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C言語 [4] 期限: ([2011年2月28日18:00まで] 問題1 「与えられた浮動小数点データより平均値を求め、その値を出力せよ。」という課題プログラムを、 線形リストを用いたC 言語プログラムで実現することを考える。 (1) 用いる構造体、および、処理関数Heikin を作成せよ。ただし、引数として「データ入力済み の線形リスト」のみが渡されるものとし、演算結果を戻り値で処理せよ (2) 処理すべき浮動小数点データがバイナリでファイルfile1 に格納されているものとする。この file1 から浮動小数点データを読み込み、線形リストを作成する処理部分を記述せよ。
647 :
646 :2011/02/27(日) 12:41:01.03
よろしくお願いします。 お手上げです。
649 :
646 :2011/02/27(日) 14:03:21.01
650 :
デフォルトの名無しさん :2011/03/03(木) 03:28:29.46
[1] 授業単元:C言語でアクションゲーム制作 [2] 問題文:@キーを取得し,プレイヤーを操作できるようにする ボタン入力でプレイヤーから弾を発射できるようにする A乱数で座標を取得し,乱数で画面右から飛来する敵を設定 B敵と弾の当たり判定を作成。プレイヤーに当たったら死亡 弾が当たったら描画を消す。 [3] 環境 [3.1] OS:Windows [3.2] バージョン:Visual studio2008 [3.3] 言語:C言語 [4] 期限:3月5日 [5] その他の制限:DirectXは使用しない 敵の作成と当たり判定で詰んでます・・・ よろしくお願いします。
>>650 2Dなら当たり判定は円同士(3Dなら球同士)が楽でいいんじゃね?
2つの円の距離が半径の合計より小さければ当たったってことで。
float player_x, player_y, player_r;
float enemy_x, enemy_y, enemy_r;
float length_x, length_y, length_r;
length_x = enemy_x - player_x;
length_y = enemy_y - player_y;
length_r = player_r + enemy_r;
if( ((length_x * length_x) + (length_y * length_y)) < (temp_r * temp_r) )
{
// 当たった
}
ただ高速に移動するもの同士だとすり抜けが起こるから
気になるようなら弾は直線で判定するといいかもね。
652 :
デフォルトの名無しさん :2011/03/03(木) 21:09:32.56
[1] 授業単元: デジタル信号処理
[2] 問題文: 次のC言語構造体練習用コード
(
ttp://www1.axfc.net/uploader/Sc/so/210923 )
を参考にしてQuaternion一次方程式{Ax+B=0, xA+B=0}の解を計算するプログラムを作れ。
[3] 環境
[3.1] OS: MacOSX
[3.2] コンパイラ名とバージョン: gcc4.2
[3.3] 言語: C
[4] 期限: 3月9日
653 :
652 :2011/03/03(木) 21:12:12.11
連続post申し訳ないです。。。 連立多元一次方程式の解法は種々ありますが、この形は初めてで手がつけられません。よろしくお願いします。
四元数の計算ルーチンが揃ってるんだからガウス法か掃き出し法ですぐ解けるだろ
交換法則が成り立たない場合があるのでそれだけ気を付ければいいみたいだな
[1] 授業単元: C言語プログラミング [2] 問題文 任意の正の実数同士の割り算を30ケタまで正確に出力するプログラムを作成せよ。 例 1/3=0.3333333333333・・・・・333 [3] 環境 [3.1]Windows7 [3.2]gcc [3.3]C言語 [4]明日のAM7:00 [5] その他の制限:なし
>>656 >任意の正の実数
何億桁とかもおkなの?
>30ケタまで正確に出力するプログラム
小数点以下30桁?値全体の桁が30?まさか小数点を抜くと29桁ってこと?
>>657 すいません、情報が少なすぎました。
任意の実数、そうですね、0<x<10000程度でお願いします。
30桁とは、小数点以下が30桁です。
おねがいします
>>659 じゃぁ実数はint型でお願いします。
34/4
1000/23
みたいな感じの出力が知りたい。
とにかく知りたいのが出力なんで・・・
Cスレで騒いでるキチガイか 相手すんな
>>660 #include <stdio.h>
int main( void )
{
int a = 1000, b = 23, c, d, i;
c = a / b;
d = a % b;
printf( "%d.", c );
for( i = 0; i < 10; i++ ) {
a = d * 1000;
c = a / b;
d = a % b;
printf( "%03d", c );
}
printf( "\n" );
return 0;
}
こんな感じ?
入力を実数にするのはちょっと面倒だな
663 :
662 :2011/03/03(木) 23:13:52.86
補足: 適当に3桁づつ処理したけど、入力によっては駄目な場合が有るね 5桁くらいが適当かな for( i = 0; i < 6; i++ ) { a = d * 100000;; c = a / b; d = a % b; printf( "%05d", c ); } に直してちょ
>>662 やっぱり技巧でするんですか・・・
割り算じゃなくて、例えば
int 型だと
9000から1ずつ増やしていったら、9001・・・9997・・・9998・・・9999 10000
とちゃんと正確に出ますよね?
なのに、なんでfloatは
1.0000にならないといけないのに、0.9989とかなるんですか?
665 :
デフォルトの名無しさん :2011/03/04(金) 00:24:30.59
>>651 円で考えてやったら出来ました!
ありがとうございました。
>>664 技巧の意味は解らんが有効数字30桁を扱える型が無い以上、あんな方法しか無いだろう
1.0 が 0.9989 にはならんだろ、釣りか?
相手にすんなって警告したのに
浮動小数点型の丸め誤差と桁落ちについて調べなおしたほうがいい
プログラミング以前の常識だと思うんだけど間違いなのかな
そりゃ宿題スレで質問するぐらいなんだから初心者なんでしょ。 初心者の質問を気違いだと捨てる人の度量のなさに驚くわ。 もしくは答えられないのか。
あんたが答えてやれよwww
もう答えられてるじゃん。どうしたの?
>>656 こんなん1桁づつ計算したらいいだけじゃん
今 codepad.org 繋がる?
>最終的には高速フーリエ変換等の高速化が必須となる。 はいはい博識乙^^
博識?ユニバーサルメルカトルをつかうのが常識じゃないか?
679 :
デフォルトの名無しさん :2011/03/06(日) 06:57:34.47
[1] 授業単元:C言語の機能 [2] 問題文: タイマーを作成,30秒から0秒まで表示せよ WAIT(1000);とおくと1秒経過します。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:Visualstudio2007 [3.3] 言語: C言語 [4] 期限: 3月6日 デジタル時計のような感じです。 30が表示され,1秒後に同じ場所に29が表示されていく感じです よろしくお願いします。
>>679 int i;
for(i=30;i>=0;i--){
system("cls");
printf("%d",i);
WAIT(1000);
}
>>679 Visual Studio 2007なんて見たことないから、
動作確認できないが、基本的にWindows系ならこれでOK
int main() {
int i;
for( i = 30 ; i >= 0 ; i-- ){
printf( "%2d\r", i );
WAIT(1000);
}
return 0;
}
683 :
682 :2011/03/07(月) 00:53:37.22
タイマー処理で誤差が大きくならない仕様に汁って話なら正しいコンパイラを
誤差ならWAITを先にしたほうがいいんじゃね って思ったけどたいした差じゃないか
正しいコンパイラって?
>>685 > [3.2] コンパイラ名とバージョン:Visualstudio2007
2007なんてあるのか?
2005または2008で書いたらどうなるわけ?
1900とか2100とか書いたらどうなるの? 年代物の価値が出る?
クロックが可変なCPUや、マルチの場合、どうなるかは良く分からん #include <stdio.h> #include <windows.h> int main() { int i; LARGE_INTEGER clock, st, tm; long long cd[31]; QueryPerformanceFrequency( &clock ); QueryPerformanceCounter( &st ); for( i=0; i<31; i++ ) { cd[i] = st.QuadPart + clock.QuadPart * ( i+1 ); } for( i=0; i<31; i++ ){ while( 1 ) { WAIT(1); // 精度を上げたければ、この行を削除 QueryPerformanceCounter( &tm ); if( cd[i] < tm.QuadPart ) { printf( "%2d\r", 30-i ); break; } } } return 0; }
それは正しいコンパイラですか?
いいえ、それはトムです
はい、インテル入ってます
>>689 なぜ素直に clock() を使わない
精度がワロス
>>693 > QueryPerformanceCounter( &tm ); // ここから
> if( cd[i] < tm.QuadPart ) {
> printf( "%2d\r", 30-i ); // ここまでの処理を出来るだけ短い時間、かつ、一定の処理速度に
clock()使うとvc++のclock()の実装処理に依存してしまうから
CLOCKS_PER_SEC も併用すれば解決じゃね?
697 :
デフォルトの名無しさん :2011/03/07(月) 21:06:44.64
[1] 授業単元: C言語入門 [2] 問題文(含コード&リンク): 問1 サイコロをN個、振って、全てのサイコロが同じ数の目が出るまでにかかった 処理時間を表記する。1〜100回など切りの良い個数まで全て計測し、出力形式 N=1 x秒 N=2 y秒 ・ ・ N=100 z秒 の形式で出力する。 [3] 環境 [3.1] Windows7 [3.2] gcc [3.3] C [4] 3月8日 午前7:00 [5] その他の制限: 出力端末:cygwinの画面、エディター:メモ帳
>>697 サイコロの振り方に関する注文はないのか?
700 :
デフォルトの名無しさん :2011/03/07(月) 21:10:08.81
選挙かよw
702 :
デフォルトの名無しさん :2011/03/07(月) 21:13:43.61
>>699 ランダムでお願いします。乱数と呼ぶのでしたっけ。
N=100はさすがに大きすぎるので、N=20くらいにしときましょうか。
>>697 #include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N_MAX 100
int main(void)
{
clock_t s, e;
int i, n, x, y, failed;
srand(time(NULL));
for(n=1;n<=N_MAX;n++)
{
s=clock();
do
{
x=rand()%6+1;
failed=0;
for(i=1;i<n;i++)
{
y=rand()%6+1;
if(x!=y) failed=1;
}
}while(failed);
e=clock();
printf("N=%d %.3f秒\n", n, (double)(e-s)/CLOCKS_PER_SEC);
}
return 0;
}
for(I=0;I>100;I++)がfor(I=0;I>20;I++)になるだけだろ?
N個を振るのと1個をN回振るのとでは違う
>>702 rand()の仕様にもよるが、多分終わるまでに一ヶ月位かかるぞ
707 :
デフォルトの名無しさん :2011/03/07(月) 21:24:32.86
>>706 N=12 70秒w
これってパソコンのスペックとしては早い方ですかね?
最悪一年位かかるかな?
外れたときに最初に戻れるからN回の方が効率的かな
>>707 そのペースだと四年位
もっと最適化が必要
712 :
デフォルトの名無しさん :2011/03/07(月) 21:27:22.05
>>709 そうなんですか?
数学的には確率は一緒ですよね?
時間的には効率的かとかあるんですね
感動した・・・
マルチスレッドで並列処理するとかw
あーなんか同時に振ってる感有るなそれw
最悪でもN=12で10秒程度じゃないと厳しいな
716 :
デフォルトの名無しさん :2011/03/07(月) 21:38:01.45
N=10までは0.5〜1.3秒で収まるけど N=12から一気に遅くなる・・70秒とか、120秒とか。何故だw
計算量の概算は N*(6^(N-1)) Nが頭についてるのはN個のサイコロを振るため
718 :
デフォルトの名無しさん :2011/03/07(月) 21:41:36.35
ちょっと捻って、一致率が9割を超える時間だと、どのくらい時間短縮するんだろ。
>>716 N個のサイコロの目が全て揃う確立は
1/((6^N)*6)
単純にNが1増えれば6倍の時間がかかる
>>718 9割を超えるときの組み合わせ数で割ってみればいいじゃない
>>723 なるほど、じゃあとりあえずランダムで6桁取り出した方が早いか
x=rand()%1000000+1;
if(x%111111) break;
みたいな感じで
725 :
デフォルトの名無しさん :2011/03/07(月) 22:04:52.47
てかどう考えても、入門じゃないだろ
>>703 のプログラム組める奴が初心者でどんだけいることか。
RAND_MAXで6^NのNがいくつまで表せるか計算して、6^N超えたら振りなおし あとは、N以下について、パターン化した値との比較で、そこそこな速度にはなりそうな気がするが…
よく考えたら六桁とか全然違うなw for(i=0;i<N;i++) j+=N^i x=rand()%6^N+1; if(x%j) break; こんな感じか、でも個数が多くなるとダメかw
>>725 基本的な制御構造を知っていれば書ける内容ではあるし、
講師としては計算量の話とも絡めたいんでしょ
rand() のアルゴリズム次第では サイコロが x 個以上の場合は絶対に揃わなかったりする
>>729 速度とその検知を両立させないといかんのか…
731 :
デフォルトの名無しさん :2011/03/07(月) 22:21:58.73
>>728 そうですね、ただ時間を計るじゃなくて関数的な?ものを読み取りたいんでしょうね。
だから、N個ふるんじゃなくて、1個のサイコロをN回振って計算したほうがいいと思います。
で、振ってる最中で途切れたら、次はその途切れた目を一回目として計測するアルゴリズム
にしたらよくないですか?
>>731 問題の意味を変えることになるのは分かってる?
取りあえず、最上の命医見終わったら、速度の方だけ考えよう…
>>725 N個同時振りでのぞろ目の確率とか
1つのサイコロを振り続けN連チャンする確率とか
その信頼区間を求めろ
だとかってのは数学の理解度チェックを兼ねた
よくあるプログラミング初心者向けの課題だと思うよ
まぁN個振れと言われたらN個振るしか無いよな ゲームにするなら外れた目も見えなきゃいけないし
すいません、サイコロの問題あがってるので便乗して質問していいですか? [1] 授業単元: C言語プログラミング講座 入門編 [2] 問題文(含コード&リンク): 2個のサイコロを振って出た目が一致した時間(秒 int型)を計るという作業を n回しその平均時間をT(n)秒と算出する作業を行う。 正し一回の作業において、n回振るが、一つ前の作業のサイコロの算出結果は その時点で行ってる作業の回数に含めてはならない。 n=1・・・100と切の良い数字まで、作業を繰り返しT(n)の小数点部分を数字列 として T(1)=12312724632・・・・ T(2)=99237823423・・・・ ・ ・ T(n)=323423342523 といった感じで出力せよ [3] 環境 [3.1] Windows7 [3.2] gcc [3.3] C [4] 3月8日 AM6:00時 [5] cygwin メモ帳
どんだけサイコロスキーなんだよ
追加 小数点の桁数は100ケタとする 夜遅くすいません、余裕のある方だけでかまいませんのでお願いします・・・
100桁にするのに何の意味があるのか聞いていいか?
やっぱ一個づつの方が早いよなー for(x=rand()%6;z==N;x=rand()%6){ for(i=rand()%6;x==i;i=rand()%6) z++ } ってまたサイコロか!!
>>738 100桁だろうと200桁だろうと意味ないよ
OSのタイマー精度は精々3桁、よくて6桁しか無いんだから
一致した時間とか測っても意味なくね? どうせ一瞬だし
>>741 あぁ結構大雑把なんですねぇ
1/10^100秒単位でタイマーあるかと思ってました
>>736 > 2個のサイコロを振って出た目が一致した時間(秒 int型)を計るという作業
って単位は秒でint型だろ?
んで、
> n回しその平均時間をT(n)秒と算出する作業を行う。
って、多分、何度やっても0秒だから、その平均時間も0秒になるよ?
あとは、以下の意味が分からんので通訳よろ
> 正し一回の作業において、n回振るが、一つ前の作業のサイコロの算出結果は
> その時点で行ってる作業の回数に含めてはならない。
>>744 T(n)の結果を用いてT(n+1)を算出しないってことだろ
T(n+1) = (T(n)*n + さいころが一回一致するまでの時間)/(n+1)で表されるけど
こんな感じで毎回N回一致するまでの時間を計る
int T(n){
for(i=0;i<n;i++)
if(さいころ一致) t_sum += t
}
return t_sum/n;
}
一致した時間じゃねーの?
>>745 あぁ、n-1回の結果を使っちゃイカンってことか
素直にそう書けば良いものをって、それってT(n)は関数じゃないよな…
だめだ、それでもT(n)を関数と呼んで良いのか分からん 数学はよく分からんのう
>>748 乱数を使っている時点で副作用があるから
数学的な意味での関数ではない
>>736 これ、実際にサイコロを振るのですか?
100回目が揃うまで。
>>705 多くの場合は違いますが、さいころの場合には一緒ではないでしょうか。
いっぺんにたくさん振ったほうがぞろ目が出やすい気がするけどなぁ
お前ら数A勉強してこい
どれに言ってんだよw
>>753 例えば、どうくつで分かれ道があったとして、どっちの道に行くか
一人ずつやるのと、同時にやるのとでは結果が違う
駅の改札とか
>>754 さいころに人間みたく協調性があればぞろ目が出やすい
量子力学によると 光の粒子は二つの穴を同時に通過するからね。 すなわち分かれ道を右に行くか左に行くかだけじゃなく 同時に右と左を進むなんてことまで考えなければならない。
>>760 つ エルゴート性
>>705 の指摘のとおり、エルゴート性を常に仮定することはできません。その意味では
>>705 は正しいと思います。
さいころの場合もエルゴート性を仮定してもいい、というかするしかないのですが、無論これは証明されたものではなく経験的なものにすぎません。
ここでエルゴート性を持ちだしてくるのって、おかしいよね?
そう思うなら正しい答え書いてやればいいんじゃね〜
◆QZaw55cn4c は隔離スレから出てくるなよ
もちろん実際のサイコロの場合にはエルゴード性を持つと思うよ。
どうせその話をするなら
>>703 のコードはどうなのかって話もしないと意味がないような。
>>697 サイコロをN個、振って、全てのサイコロが同じ数の目が出るまでにかかった処理時間
>>703 のコード
>>705 の内容
単純に流れ読まずに脊髄反射しただけでしょ
◆QZaw55cn4c本人も分かってるけど
基本的にかまってちゃんだがらゴネてるだけ
中年高卒ニートが高学歴っぽい発言をしても痛いだけだな
また別の覚えたての単語を伴ってレスしにくるよQなんとかさんはね。
>>766 >>703 は、厳密には、「サイコロを N 回振って、どの結果も同じになるまでの時間」を測っています。
「サイコロを N個振って」ではありません。
rand() を N 回繰り返して呼び出しているのだから、どちらかというと、「N 回振って」という方に意味が近い。
でも我々は普通、N個のサイコロを一斉に振るのと、1 個のサイコロを N 回振るのとでは、結果は同じになることを、暗黙のうちに了解しています。
これをエルゴート性というのです。
>>705 は、この暗黙の了解に対して鋭い指摘をした、と私は思っています。
じゃあ、「N 個のサイコロを振って」というのをどのように書けばいいのかは、私はちょっと思いつかないのですが。
>>766 これで説明できていますかね?
もうぬこ(N個)を虐めるのはヤメテー
つーか705は違う目が出たときに処理を最初に戻すかどうかって話だろ〜
>>697 の宿題の解法
rand()を使って0〜6^N未満の乱数を発生させる関数を作る(ndice(N)と表す)
その関数で得た値が0〜5の場合サイコロの組み合わせは下記と考える
・結果が0の場合…全てのサイコロの目が1
・結果が1の場合…全てのサイコロの目が2
・結果が2の場合…全てのサイコロの目が3
・結果が3の場合…全てのサイコロの目が4
・結果が4の場合…全てのサイコロの目が5
・結果が5の場合…全てのサイコロの目が6
また6以上の値の場合下記のように適当にサイコロの組み合わせを作る
・結果が6の場合…1と2の組み合わせ(N==2)
・結果が7の場合…1と3の組み合わせ(N==2)
・結果が34の場合…6と4の組み合わせ(N==2)
・結果が35の場合…6と5の組み合わせ(N==2)
よって作成すべきなのは高速な6^N未満の乱数発生関数ndice(N)と
念のため突っ込まれても良いようにndice(N)の結果の値を
サイコロの組み合わせに変換する関数で良いのではないか?
自己愛性人格障害野郎は自分が間違っていても絶対に間違いを認めないからな それが嫌われる一番の原因だと自分で全く気づいていない所が痛すぎる いい年こいて ガキじゃあるまいし
>>776 振ってる
for(i=1;i<n;i++)
{
y=rand()%6+1;
if(x!=y) failed=1; // breakしてない
}
>>775 初老だから頭の働きが鈍ってんじゃね?ww
>>777 ああbreakしてないんだ、これは振ってるね
時間考えなきゃコレでいいんじゃね〜
>>776 正確には n + 1 個振ってますねえ。見落としていました。
いや、n 個か。初老じゃないけど頭鈍ってますね。
>>736 この問題について、もう一度確認させてください。
2個のサイコロを振って出た目が一致するまでの
時間は、delayを入れない限り、ほとんど100%の
確率で0秒(整数型)ですね。
n回の平均はどこまでいっても0となって、問題の
例に示されるような小数点以下は現れないように
思いますが。これは解決済みのことですか?
783 :
デフォルトの名無しさん :2011/03/09(水) 06:39:45.56
>>782 >>742 とか
>>744 で聞いてるが回答なし
多分思い付きで聞いてるだけで宿題ではないと思われるのでスルーでOK
(本当に宿題なら秒の小数点以下100桁の時間を表示なんてありえない)
>>775 的確な自己分析に賞賛いたします。
>間違っていても絶対に間違いを認めないからな
どこがどのように間違っているのかいまだに指摘がないのだから、認める認めない以前の問題ですよ。
自演ウザイ
>>784 過去、ずっとそう言っては、間違えてたよな
>>784 余程悔しかったみたいだなあ中年ニートの人格障害君
>>786 間違えたことは確かに沢山ありましたが、その都度修正をかけていますよ。
間違いを認めない、ということがありましたっけ。あるというのなら URL を示してください。
>>788 自己評価じゃなくて、みんながどう言ってるか、ちゃんと聞いた方がいいよ
どうでもいいから黙れよ('A`)
>>788 オウム返ししかできない頭の悪さ
それに皆お前の事を嫌っているという事実を認められないプライドの高さ
このままお前はホームレス一直線
いやホームレス連中にも仲間はずれにされるだろう
現実で誰にも相手にされないからここを荒らして存在を主張してんだろ
>>788 そこまで自分をさらしていると思っているという自負があるのであれば、常にトリップつけてください。
>>789 たんにトリップをつけているのを叩かれているだけ、という印象しかないですね。
>>791 ほう?これがオウム返しですかね?理由をお聞きしたいといっているだけですが、その理由がでてこない。
>>771 にしても
どこがどのように間違っているか説明がない。ただ「間違っているよ」と取ってつけたように言っているだけにしかみえない。
>それに皆お前の事を嫌っているという事実を認められないプライドの高さ
申し訳ないが、嫌われることが悪だと思っていませんのでね。
世間に出れば、言われもなく嫌われることなんてざらです。
その「嫌われること=悪」の考え方からすると、あなた、中高生?
>>793 いわれるまでもなく1年ほどそうしていますが、なにか?
>>794 >申し訳ないが
申し訳ないなんて、思ってないでしょ?
>>794 誰がどの発言をしたのかもう全然把握出来てないだろタコ
>世間に出れば、言われもなく嫌われることなんてざらです。
>その「嫌われること=悪」の考え方からすると、あなた、中高生?
(ノ∀`)ノ∀`)ノ∀`)ジェトストリームアチャー
中年ニートが何を偉そうに言っちゃってんの?世間に出た事もない癖に
嫌われる事=悪とは誰も言ってないでしょ
あんたの場合はわざと嫌われるような言動ばかりするから見方がいなく
なっちゃってんでしょうが
敵より味方をたくさん作れない人はあんたみたいに中年になっても無職で
仕事にも就けず2chを荒らすしか能のないダメ人間になっちゃうんですよ
>>794 別に俺はアンタのことは嫌いじゃないが、
スレが荒れるだけだから、誹謗中傷には反論しないでくれ。
>>796 >中年ニートが何を偉そうに言っちゃってんの?
ほお、どうしてそう思ったのですか?
>わざと嫌われるような言動ばかりするから
芸風なんです。たとえば
>見方が
×
○味方
これ以外の嫌われ方(連投・自演)は私じゃありません。
>>780 お前、トリつけてるから無知なのが目立つ。だから弄られる。
いい加減黙れよ('A`)
◆QZaw55cn4c のキチガイぶりが目立っちゃってますね
だから自演すんなよ('A`)
805 :
デフォルトの名無しさん :2011/03/10(木) 18:45:49.95
[1] 授業単元: アルゴリズムとメモ帳 [2] 問題文(含コード&リンク): 配列a[]には、添え字が0から〜9まであり、添え字が小さい順に、 3 2 4 5 6 8 7 9 1 の大きさのデータが挿入されている。 これららを昇給順、下降順にそれぞれ最も時間量が少なく効率的に、 なるようなクイックソートを施せ。 [3] 環境 [3.1] windows7 [3.2] gcc [3.3] C [4] 期限: 今日の午後9時30分 [5] その他の制限: なし よろしくお願いします。
806 :
デフォルトの名無しさん :2011/03/10(木) 18:50:32.83
間違えました。 "3 2 4 5 6 8 7 9 1 0 の大きさのデータが挿入されている" に訂正してください、すいません。
要素数が少ないときはクイックソートでなくで別のソートを使うようにしておけばよい データからして基数ソートかな、いやこれくらいならバブルでもなんでも変わらない
いつも思うけど問題文おかしいだろ
810 :
805 :2011/03/10(木) 19:47:14.63
>>807 クイックソードで書かないといけないんです、宿題だから。
ポインタは使わないでください。
明らかに日本語おかしいだろコイツ
宿題の題意を読み取れずに自分勝手な解釈を押し付けようとするのは一人だけじゃなかったのか
頭がボラタイル!
volatile void my_head = NULL; while(1){ delete my_head; }
void* か。。
>>813 そこ行かない方がいいよ
モリタポむしり取られるぞ
ちんこかゆい
ポインタ使わずにクイックソートとかアホなんじゃないかと
触らない方がいいかも
822 :
デフォルトの名無しさん :2011/03/11(金) 02:18:19.71
fgets関数を使った標準入力で、指定された範囲での入力を促す機能をつけよ うとしているのですがエラーがでます。どこがマズイんでしょうか? エラー E2034 0311.cpp 10: 'int' 型は 'char *' 型に変換できない(関数 main() ) エラー E2034 0311.cpp 10: 'int' 型は 'char *' 型に変換できない(関数 main() ) #include <stdio.h> int main(void) { char y[10]; printf( "1〜9999の間数字を入力してください \n" ); fgets( y, 10, stdin ); /* 標準入力から入力 */ while (1>y || 9999<y) { printf("1〜9999の間で入力してください。\n"); fgets( y, 10, stdin ); } puts(y); /* 入力された文字列を表示 */ return 0; }
>>822 エラーメッセージそのまま
>while (1>y || 9999<y)
10行目の int型の 1 は char*型の y に変換できない
10行目の int型の 9999 は char*型の y に変換できない
atoiなどで文字列を数値に変換して比較すればいいよ
こうですね? わかります。 #include <stdio.h> int main(void) { char y[10]; int n = 0a; while ( n < 1 || 9999 < n) { printf("1〜9999の間で入力してください。\n"); fgets( y, 10, stdin ); n = atoi( y ); } puts(y); /* 入力された文字列を表示 */ return 0; }
あ、typo ^^ 誤:int n = 0a; 正:int n = 0;
n の初期化が無駄だね。 int main(void) { char y[10]; int n; do { printf("1〜9999の間で入力してください。\n"); fgets( y, 10, stdin ); n = atoi( y ); } while ( n < 1 || 9999 < n ); puts(y); /* 入力された文字列を表示 */ return 0; }
NGName:QZaw55cn4c コイツ質問しても無視して返事しないからNGしてるけど あまりひどいようだと通報するしか無いな
831 :
デフォルトの名無しさん :2011/03/12(土) 17:21:12.49
[1] 授業単元: C言語講座 [2] 問題文(含コード&リンク): (1)ポインタを使用せず、配列によるスタック構造(ポップとプッシュが可能)を作れ。 (2)動的に配列を確保する事によってスタック構造(ポップとプッシュが可能)を作れ。 配列の要素数は10個、名前はhairetsuとする。 [3] 環境 [3.1] Windows [3.2] gccコンパイラ [3.3] 言語: C言語 [4] 期限: [5] その他の制限: できるだけ分かりやすく、複雑にならないようにお願いします。
#define HAIRETU_NUM 10 int hairetu[HAIRETU_NUM]; int hairetu_pos = 0; void push(int val) { if(hairetu_pos == HAIRETU_NUM){ puts("fuck!!"); exit(1); } hairetu[hairetu_pos++] = val; } int pop(void) { if(hairetu_pos <= 0){ puts("fuck!!"); exit(1); } return hairetu[--hairetu_pos]; } int main (void) { push(1); push(2); push(3); printf("pop: %d\n", pop()); printf("pop: %d\n", pop()); printf("pop: %d\n", pop()); printf("pop: %d\n", pop()); return 0; }
#define HAIRETU_NUM 10 int* hairetu; int hairetu_pos = 0; void push(int val) { if(hairetu_pos == HAIRETU_NUM){ puts("fuck!!"); exit(1); } hairetu[hairetu_pos++] = val; } int pop(void) { if(hairetu_pos <= 0){ puts("fuck!!"); exit(1); } return hairetu[--hairetu_pos]; } int main (void) { hairetu = (int*)malloc(sizeof(int)*HAIRETU_NUM); push(1); push(2); push(3); printf("pop: %d\n", pop()); printf("pop: %d\n", pop()); printf("pop: %d\n", pop()); printf("pop: %d\n", pop()); return 0; }
./a.exe pop: 3 pop: 2 pop: 1 fuck!!
原子炉容器の外側で水素が充満し、水素爆発が発生したとの説明だが、 では、その水素はどのように生成したのか? 原子炉内部からもれ出たか、あるいは原子炉容器自体がとてつもなく高温になったか? どちらにしても前代未聞の大惨事が進行しつつあることは明白であろう。
◆QZaw55cn4c は本当に糞だな
まともに反論されたらスルーだからな。
◆QZaw55cn4c は自己愛性人格障害の特徴を実に良く表している
鳥見るだけでも気分が悪いのでやめてくれ
NGすりゃいいじゃんw
>>843 まともな反論とやらが今までにありましたか?例を示してください。
ケンカするなら他所行けよ
自分のミスを指摘されても覚えてませんっていうアホが何言ってんだw
>>836 すみませんね、フリーの掲示板そのまま設置してるだけなもので。
あなたは、もう少し英文法を勉強したほうが良いみたい。
受身形を使うときは、主語が何かをもっと気にしたほうが良いよ。
cannot allocated memories 向こうの3才児でもこんな間違えしないだろwww
>>849 指摘をうけて忘れたと書いた覚えはありません。URL を示してください。
>>852 何度言ったら分かるんだよ他所行けよ
オマエもう書きこむなよ('A`)
未着手の宿題ある? 春休みは宿題なくて暇だな
未着手の宿題: ◆QZaw5 5cn4c を被災地に出向かせ原子炉の仕事をさせる
http://www3.nhk.or.jp/news/html/20110316/t10014716461000.html によれば、福島第一原発から 20〜30km 圏内では 330μシーベルト/時、30〜60km 圏内では 25μシーベルト/時の放射能が検出されたとのことですが、
レントゲンや CT の年間撮影回数に換算するとどれくらいでしょうか。
http://ja.wikipedia.org/wiki/%E8%A2%AB%E6%9B%9D を参考にして、
人が一年間に被爆する自然放射線量を 2400μシーベルト
レントゲン一回で 300 μシーベルト
CT 一回で 2 万μシーベルト
と仮定して、以下の計算式により試算しました。
s: 測定された放射線量値 単位:1時間あたりのμシーベルト
n: レントゲン回数(1年間)、m: CT 回数(1年間)
n = ((s - (2400÷365÷24))×24×365)÷300、m = ((s - (2400÷365÷24))×24×365)÷20000
一時間当りのμシーベルト(s) レントゲン回数(1年間)(n) CT回数(1年間)(m)
0.3 0.7 0.01
0.4 3.6 0.05
0.5 6.6 0.09
1 21.2 0.31
2 50.4 0.75
5 138 2
12.5 357 5 (30〜60km圏内最低値)
25.3 730 10 (30〜60km圏内最高値)
220 6416 96 (20〜30km圏内最低値)
330 9628 144 (20〜30km圏内最高値)
500 14592 218
一年間に100回以上もCT検査を受ける女性や、子供に一年間に1万回ものレントゲン撮影を許す親がいるとは思えません。
でも、福島原発から 30 km 以内にいる限り、それと同じペースで放射能にさらされることになるのです。
スレチ
859 :
デフォルトの名無しさん :2011/03/17(木) 01:28:12.64
[1] 授業単元: ゲームでfwriteとfreadの学習 [2] 問題文(含コード&リンク): 簡単なゲームにセーブとロード機能をつける。 メニュー画面にはステータス入力画面,戦闘実行画面,セーブ,ロード,ゲームの終了をつけること。 [3] 環境 Windows 言語 C言語 [4] 期限:3/17 [5] 戦闘の中身等は特に仕様はないそうです。途中まで制作したものをのせておきます。 よろしくお願いします。
860 :
デフォルトの名無しさん :2011/03/17(木) 01:34:10.36
ゲームwって学校でそんな宿題出るわけねーだろw
>>859 製作中。期限に間に合うかなぁ。
学校の課題でテニスゲーム作ったことならあるよ。
>>859 やってみたよ
http://ideone.com/Id5vD ・問題文が曖昧だったから細かいところは勝手に解釈した(ソースの下の方にちょこっと説明書き有り)
・HPなどの入力で変な値(0やマイナスなど)が入るとエラーになる
・OSはXP(32ビット)、コンパイラはVisual C++で作成した
・セーブするときのファイル名及び拡張子は何でもよい(作成したファイルトメモ帳で開いてもさっぱり)
・セーブはキャラクタのステータスが保存される(パワプロのサクセスのパスワードのように解釈した)
気に入らなかったら他の人の待ってね
864 :
863 :2011/03/17(木) 07:53:53.06
865 :
デフォルトの名無しさん :2011/03/17(木) 08:45:36.48
>>863 とても見やすくて助かりました!
わざわざ注釈までありがとうございます。
・トリつけっぱなしにしろよ ・1年以上そうしてるけど? ・してないじゃん、証拠はこれね スルー←いまここ
なんか、見事なまでに。ほとんど自演なのか?
自演というか、自分でやってみた結果を評価して欲しいんだろw 素直に「自己フォロー」と言えば良いのにw
まさに自己愛性人格障害そのものだな 「見て見て〜」クンです いい年してみっともないよねー
>>871 >>853 何度言ったら分かるんだお前は
幼稚園児なのか?脳みそ付いてんのか?('A`)
>>871 宿題スレで、モリタボむしり取るのやめれ
ここで営利目的で活動する事が不味いだろ?
>>872 多分精神年齢は幼稚園児未満だと思いますよ
1才児程度でしょう
実力があれば多少うざくても問題ないんだけど、クソコードしか書けない上に、 日本語まともに読めないから見当はずれの答え書くしなぁ
そうですか。 クソ、クソ、といいながら具体例を挙げられないのですね。
>>879 過去に何度も上げてるじゃない。記憶障害か?
モリタポって換金できるの?
>>879 他所でやれって何度言ったら分かるわけ?
ちょっと答えてよ、いい加減にしないと通報するよ?
すればいいじゃん
>>883 =NGName:QZaw55cn4c
だな他人のふりして煽ってんだよ
NGして無視しとけばいいよ
自治厨うざw
煽りうぜー
◆QZaw55cn4c本人ですら 通報しないでくれと頼んでないよ? 通報したけりゃすればよくね? 誰に対して何を遠慮してるんだよw
>>890 あ、ホンマモノさんか
すいませんっしたw
>>891 ファビョってんじゃねーよwwwどーせ口先だけで通報なんか出来ないんだろオマエwwwwww
A>やるよ B>やれば? A>お前がやれよ ガ板でこのパターンなかったっけ?
あぁ分かった A>やるよ B>やれば? A>お前がやれよ では単なるキチガイだけど A>やるよ B>俺がやるよ A>どうぞどうぞ でダチョウ倶楽部だなw
>>880 十何回かは指摘を受けたのは覚えていますが、何十回という気はしませんね。それに、どれも些細なことばかり。
無論、何十回と回答を書いた上での話ですが。
>>880 ×上げ
○挙げ
>>881 基本的にできません。
>どれも些細なことばかり。 根本的な問題の誤読が些細なこととかw
まだやってたの?他にすること無いのかなこの人?
宿題無いからってお前ら暴れるな >876 >835 cons-listですか、そうですか って、初め読んだときに思ったな あと#defineやめろ >809 わかりにくい、メモリ確保しすぎバロス って、初め読んだとき思ったな あとキャスト不要なんだけど あと3歳児未満でごめんね
もう次スレのテンプレにNG推奨って入れとけよ
>>899 コメント感謝です。
(
>>835 )
cons-list なら car の部分もポインタにしなくちゃいけませんね。
やっぱりいまどきの書き方って、#define よりも int const n = 10; とか enum { n = 10, a = 3, b = 4}; とかのほうがいいのですかね。
(
>>809 )
malloc()/free() のバグ退治にはなれているので、バンバン malloc() する主義です。
あと、これはライブラリの qsort() を実装してみる趣旨で書きました。
ところで、どのキャストが不要なんでしょうか?
問題の誤読をするって時点で、日本人として失格だろw
>>902 free漏れのバグ退治になれてるんだ。すごいね。
大抵はリークを起こさない記述を覚えてしまうから、そのようなバグが混入することが稀になるんだけどね。
ちなみにバグ退治にはどのツール使う?
やっぱ素人だな
以前にバグってるお手製チェッカー出してただろ 修正したらしいけど
910 :
◆QZaw55cn4c :2011/03/19(土) 09:20:46.47
×プロの使う道具はよくわかりません。 ○プロではなく素人なので全くわかりません。
912 :
◆QZaw55cn4c :2011/03/19(土) 10:40:59.22
>>911 ×プロではなく素人なので全くわかりません。
○プロではなくアマチュアなのでよくわかりません。
=プロの使う道具はよくわかりません。
>>912 最初からそう言え日本語不自由のノータリン
自己流の変な癖がついた、プライドばっかり高いアマチュアより、 純粋な素人のほうがマシだよなw
宿題の課題を素直に読んで、その通りに作れないのだから、問題外
>>914 どこが変な癖が具体的に指摘できますか?
>>916 問題文が読めないこと。
要求仕様が理解出来ないプログラマは失格。
粘着してるやつ◆QZaw55cn4cのこと大好きだろ
いつまでやってんだよ?頭おかしいんじゃねーの
早くdat落ちさせたいんだよ
922 :
デフォルトの名無しさん :2011/03/19(土) 13:29:49.59
c++の構文のことで スマートポインタを自前でやろうとしてるんですが たとえばclass Aがあって A a; a.dosomething() A b = a; と書いたときにbのコンストラクタは呼ばれずoperator=が直接呼ばれます 問題はデータポインタを参照していて もしbが既にデータを持っていたら削除してaからデータ参照を貰う bに何もなければそのままaからデータ参照を貰うというように bの初期状態でoperator=の動作を変えたいんですが bのコンストラクタが呼ばれないのでそれが新規のものなのか判断することが出来ません こういう場合どうすればいいんですか?
そんなバグってる環境のことなんか知らんよ
>>922 コピーコンストラクタが呼ばれるんと違うんか?
よく調べてみ
>>914 長期的(数年以上)のスパンで見ると
プライドの高いアマチュアの方が
結局は役に立ってたりする。
ま、普通そうなる前に
自称「プロフェッショナル」に
潰されてしまうんだけどね。
>>925 ==◆QZaw55cn4c
潰されてしまえよカス
中年ニートなんて世の中に必要ねーんだよ
927 :
922 :2011/03/19(土) 15:37:51.16
勘違いしてました、別の所がバグってただけでした
別に潰されなんかしないだろ 被害妄想とか簡便
>>922 1.最低限、implicit な A( A const & ); なコピーコンストラクタを記述する。
2.operator =(); operator =() const; な代入演算子を記述する。
キチガイに品良くって言ってもな.....
932 :
◆QZaw55cn4c :2011/03/19(土) 23:28:32.41
>>930 私に都合のいい発言はみんな自演にされてしまうのも、それも一つももらさずに「自演乙」というコメントがつくのも、恐るべき粘着というか、それこそ自己愛性なんとかとかいう障害なんですかね。
ところでエディットコントロールをマルチラインにして、そこにつらつらとデバッグメッセージを流す方法って、お手軽なのはどんな感じ/考え方になるのでしょうか?
きも過ぎ マジで
きんもーっ☆
>>932 SendMessageとかで設定するんじゃないの?
あとWin32APIのことならスレ違いだな
>>935 双方向リストなどで、エディットコントロールに表示できる行数分全部ヒープに持つように書くものでしょうかね。どうもエディットコントロールには一度に全部セットするかゲットするかしかないようです。
すれ違い失礼しました。
>>936 > 双方向リストなどで、エディットコントロールに表示できる行数分全部ヒープに持つように書くものでしょうかね。
SendMessage
WM_COPYDATA
で検索してみ
> どうもエディットコントロールには一度に全部セットするかゲットするかしかないようです。
WM_GETTEXTLENGTH,GetWindowTextLength
EM_SETSEL
EM_REPLACE
で検索してみ
>>937 関係ないスレに誘導するような人にレスしないでくれないか?
それとも自演ですか?
多分自演でしょう 頭が悪いのに自己顕示欲だけは一丁前に強いので困りますね
>>937 EM_SETLINE、はないんですね。EM_LINEINDEX/EM_LINELENGTH ->, EM_SETSEL -> EM_REPLACE ?うーん。
スレチガイなことを平気で聞くってさすがキチガイだな
こうなったら人間オシマイですね
てst
>>937 せっかくヒントをいただいたのですが、いろいろあってあきらめることにしました。
致命的なことには、コントロールにうっかりマウスカーソルを当ててしまうと、表示が乱れてしまうのです。
エディットコントロールの行末を選択してリプレイスする、という手法もどうもうまくいかない。(mingw (cygwin gcc-3 -mno-cygwin)) の改行がらみが悪いのかも)
おとなしくスタティックコントロールに SendWindowsText() することにしました。
>>943 おやすみなさい。
>>944 専用スレがあるんだから巣から出てくるな
>>946 専用スレがあるんだからこっちに書きこまないでくださいね
別スレでQZaw55cn4cの名前を見かけたので久々にのぞきに来たら相変わらずのようですね 引きこもりニートは外にボランティアにでもいけよ
なんで宿題スレで関係ない質問してんだろ。スレのルールも守れないの。 しかもその内容がデバッグメッセージをエディットコントロールに出したいからとか、 デバッグメッセージはそこに出すもんじゃないから。 単なる例だとしても頭悪すぎる。
[1] 授業単元:知識プログラミング [2] 問題文:計画停電が以下の通り実施されるとして、 日付 | グループ順 --------+----------- 3月15日 | 3,4,5,1,2 3月16日 | 4,5,1,2,3 3月17日 | 5,1,2,3,4 ・・・・・・・・・・ 3月21日 | 4,5,1,2,3 3月22日 | 5,1,2,3,4 日付を入力すると輪番グループ順を 表示するソースプログラムを生成する 帰納的プログラムを書きなさい。 [3] 環境 [3.1] OS:Linux [3.2] gcc [3.3] 言語:C [4] 期限:今月末日まで
現在までの死者数を入力して以降の予測される死者数を出力しろ って言われるより十分生産的だと思うけど
帰納的プログラムの意味が分からん 5パターンテーブルに登録しといて剰余でインデックス求める実装なら簡単だけどそれでいい?
>>953 これは問題として、完全なものではありません。
しかし、完全でなくても、部分的なヒントだけで
プログラミングすることは、正規表現でのそれは
ほとんどそうですし、珍しいことではありません。
例えば、数列が与えられたとき、何らかの
ルールを捜して我々はプログラムを組んで
みます。なにか糸口を見つけて、手持ちの
ルールを適用してみて、全ての要素に適合する
ことを確かめて、多分こんなルールではある
まいか。それでプログラミングに入る。
こういう過程をなぞるプログラムを書いてください。
そういう問題です。一応ソースプログラム生成の
課題としましたがここの部分が表現できていれば
十分だと考えます。
>>954 悪問解読ならエスパースレというぴったりなスレがあるよ
完全でない問題を、宿題として出すことってあるのか?
ただのウケねらいでしょ
良いから、さっさと福島原発の放射能漏れを防ぐプログラムのコードを教えろや! 絶対に被爆しないように頼むぜ?w
話題を転じるために無理して作った問題に 決まってるではないか。 アルゴリズムの発見過程をシミュレーションする 問題で、少し難しすぎたか。
for(i = 0; i < n; i++) { for(j = 0; j < 5; j++) printf("%d ", (i + j) % 5 + 1); printf("\n"); }
>>961 完全であろうとなかろうと、我々は
>>950 の
ヒントでプログラムを書いてしまう。
何故書くことができるかというと、「輪番」と
いう情報があるからだね。そういう部分が
反映すると面白いと思ったんだけどね。
オブザーバパターンを使って原子炉リストに津波オブジェクトを与えると 連鎖爆発を起こすプログラムを書けばいいのかな?
VC++でごくごく簡単なもの(例えばハローワールド等)で ハローワールドと結果を表示した直後にその画面が閉じちゃうんですけど、 コードの最後に無意味にcin >> unko みたいに無理矢理処理を止める以外に方法ありませんか?
コマンドプロンプトから実行
それ以外で
もともとコマンドプロンプトを起動していた場合を除き、 プログラムの実行が終わると閉じられるため、何らかの方法でプログラムを終わらせないようにしないとだめ。 cin >> unkoが嫌って事はgetcharなんかも嫌だろうから、別途ラッパースクリプトなりexeを作って、引数で指定された exeを起動した後、待機するものを作っておけば今後流用できるとおもうよ。
ありがとうございます ちなみにCtrl+F5って具体的にどういう動作をしているんですか? またどこかにプロジェクトタブ→デバックみたいに選ぶ所はありますか?
デバッグ→デバッグなしで開始
ありがとうございました
973 :
デフォルトの名無しさん :2011/03/23(水) 19:48:01.09
鍵ファイルにパスワードのハッシュ値の認証機能を付けて鍵に直接
アクセスできないようにしたいのですがうまくいきません。32バイト
のハッシュ値を先読みして、それから後続の16バイトの鍵を使おうと
思うのですが、ハッシュ値の認証で失敗したり、鍵生成が無限ループ
になったりします。何が原因か分かりません。どなたか教えてください。
よろしくお願いします。
http://codepad.org/nz55zSBj
ここは笑うところか 最小限のソースくらい渡せよ あとスレチだな
>>973 無限ループは36行目のwhile(a==0)が原因なんじゃないの。
ループ内でaの値が変化してるように見えないんだが。
はっきり言ってデバッグする価値もないコード。
インデントがまともにできてないし、
fcloseが呼ばれない可能性や複数回呼ばれる可能性もあるし、
マジックナンバーだらけだし、危険なコードだな。
最初から書き直すことをオススメするよ。
保守
977 :
デフォルトの名無しさん :2011/03/26(土) 22:52:03.58
梅
なんか宿題ある?
>>979 1. 依頼する
2. モリタポを渡す
3. その事実を元に2chで商売してるとして運営に削除してもらう
>>794 でトリップ常につけてると言っておきながらその書き込みw
>>981 そこまでやれば後は運営の判断
駄目なら削除されるだろうし、OKなら削除されないだろう?
>>982 そこには触れられたくないようで、しばらくするとこのスレ埋まると思うよ
>>984 削除依頼を出したことあるか?
ルールの中から理由を選んで添えておかないと門前払いになる
本当に削除したいんだから、そんな敗戦前提の行動は起こせない
穿った見方をするなら、通らない削除依頼を申請して、正統性を主張しているようにさえ見える
ごめん、違ったみたい
確かに、削除はめんどい。
もう宿題もなさそうだから雑談を続けるけど おまえら的に有料宿題スレってどうなの? 俺らがマネするには安すぎて商売にならないし (ちなみに俺は人月90万、緊急対応1回5万〜) 需要はあるようだしどうなんだろうな 俺としては独占してる点はダメだと思う しかし、有料でやってる事自体を避難する論理を組み立てられないんだが・・・ もちろん、2匹目のどじょうがでてくる前に止めないと 板がおかしくなってしまうような気はしてるよ、うまく説明できないけどね
>>986 何言ってんの?
ルールがなけりゃ、ローカルルールで提案して作れば良いだけ。
本気で削除したいなら、それくらいやれよ。
はっきり言って、
>>979 のスレ主も、叩いてる奴らも、同じ位ウザイ。
後だしジャンケンかよw 個別スレの削除の為にローカルルールを拡張しようとすると ゲーム製作技術板みたいになるぞ
>>990 宿題は中途半端すぎて需要と供給が合わないんじゃないか?
本気で商売するために、仕事の紹介なら有りかも知れんが、2chでb2bは抵抗あるな…。
>>990 有料でやりたいなら、自分でWeb用意してすればいいんじゃない?
ここまで嫌がられて、それでも執着する理由が分からない。
もともと、暇つぶしでやってるんだろうけど、
それにしても同じ回答するのに、一方が有償で、
もう一方が無償だって言うのは、おかしいと思う
容認したら、スレが荒れるだけだし。
>>992 後だしだろうが何だろうが、臭い物に蓋をするのが日本の文化だ。
それに、商売禁止、もしくは、有償・無償の住み分けは
特に悪いローカルルールとも思えない。
思いつきだけど、思い切って、全ての宿題を有料にして 全部今回の震災にカンパすれば良いんじゃねえか?
ただ、あの有料宿題スレってモリタポを正しく運用してるように見えるんだよ つまり、2ch運営スタッフから見ると俺らのほうが悪なんじゃないかってこと モリタポに関する削除依頼やローカルルール変更他、前例ってなにかないの?
>>982 >>983 別人ですよ。このスレでは私はトリップを必ずつけるようにしています。
もう、この手のあおりは ID をつけるしかないですね。
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。