C/C++の宿題片付けます 146代目

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。

【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。

【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/joyful.cgi
http://codepad.org/ ←遅い時間は重い事があります
http://ideone.com/
【C 関数検索 man on WWW】 http://www.linux.or.jp/JM/index.html
【過去ログ検索】        http://chomework.sakura.ne.jp/
【wiki】               http://www23.atwiki.jp/homework/
前スレ
C/C++の宿題片付けます 145代目
http://hibari.2ch.net/test/read.cgi/tech/1294061094/
2デフォルトの名無しさん:2011/01/30(日) 20:48:02
次はもうないと思ってた新スレ乙
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] その他の制限:特に制限無し
よろしくお願いします。
4デフォルトの名無しさん:2011/01/30(日) 21:43:24
[1] 授業単元: C言語演習
[2] 問題文(含コード&リンク): http://img406.imageshack.us/img406/7043/toi8.jpg
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC++
 [3.3] 言語: C言語
[4] 期限: 1/31まで
[5] その他の制限:
#include <math.h>あたりまで。
2次元配列もならいました。
覆面算を習いました。
5デフォルトの名無しさん:2011/01/30(日) 21:53:28
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):http://www.dotup.org/uploda/www.dotup.org1393065.txt.html
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名:gcc
 [3.3] 言語:C
[4] 期限:2011年02月01日15:00まで
[5] その他の制限:ある程度内容を理解しておく必要があるのでコメント文をお願いします
         なるべく簡単なコードを書いていただければと思います
よろしくお願いします
6 ◆QZaw55cn4c :2011/01/30(日) 22:30:44
7デフォルトの名無しさん:2011/01/30(日) 22:48:56
自スレに転送してるやつなんなの?アク禁されればいいのに
8デフォルトの名無しさん:2011/01/31(月) 00:13:57
スレストされたのにまだ懲りないのか・・
9デフォルトの名無しさん:2011/01/31(月) 02:33:26
// 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
10デフォルトの名無しさん:2011/01/31(月) 04:22:52
>>5
コマンドライン引数にパスを指定するとそのファイルをデータとする、指定しなかった場合は問題文に有る例題をデータとする
インターフェイスに難が有るかも知れんけどこんなもんじゃないのかな
コメントが不足してるかも知れんので疑問点には答えるぉ

ttp://codepad.org/r4NeIxPn
11sage: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] その他の制限: 基礎的な授業なので入門書等に書いてある内容だけ習ってます。
お願いします!
12デフォルトの名無しさん:2011/01/31(月) 06:50:51
>>1
13デフォルトの名無しさん:2011/01/31(月) 18:12:51
[1] 授業単元: C言語演習
[2] 問題文(含コード&リンク): http://img707.imageshack.us/img707/1654/mondai11.png
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC++
 [3.3] 言語: C言語
[4] 期限: 1/31まで
[5] その他の制限:
http://codepad.org/nweVLXiB
ここまで自分で考えたけどわかりませんでした。
14デフォルトの名無しさん:2011/01/31(月) 18:31:25
>>13
問題の意図が不明確
数学的アプローチとして、ルートに入る最小の正整数は1だから、
√(1+1)-√1=1.414-1=0.414 > d
つまり回答が無いことになる

問題11って事だから、問題10以前にヒントがあるのかな?無いなこの調子じゃ
15デフォルトの名無しさん:2011/01/31(月) 18:32:47
>>14
自信満々で間違えると恥ずかしいねw
16デフォルトの名無しさん:2011/01/31(月) 18:33:43
ループの条件が逆
17デフォルトの名無しさん:2011/01/31(月) 18:36:20
>>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;
}
18デフォルトの名無しさん:2011/01/31(月) 18:40:18
>>15 ん、あぁそうだね
19デフォルトの名無しさん:2011/01/31(月) 18:44:43
>>14って日本語読めない◆QZaw55cn4cじゃないの?
20デフォルトの名無しさん:2011/01/31(月) 18:47:06
◆QZaw55cn4なら自スレに誘導するんじゃねw
21デフォルトの名無しさん:2011/01/31(月) 18:50:07
それは問題を理解した気になったときだろw
22デフォルトの名無しさん:2011/01/31(月) 18:54:33
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;
}
23デフォルトの名無しさん:2011/01/31(月) 19:01:44
>>17さん >>22さん
ありがとうございました。
考えてもわからなかったので大変助かりました。
参考にして勉強させていただきます。

>>14さん
問題10です。また、その他の問題もまったく問題11と関係ありませんでした。
http://img16.imageshack.us/img16/6428/mondai10.png

>>4 これも自分なのですが全く解けません><
もしよろしければ解答お願いします。
24デフォルトの名無しさん:2011/01/31(月) 19:14:38
>>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;
}
25デフォルトの名無しさん:2011/01/31(月) 19:32:29
とりあえず俺にケツを向けろ
26デフォルトの名無しさん:2011/01/31(月) 19:36:49
>>24
ありがとうございます><
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] その他の制限:特になし
宜しく御願いします。
28デフォルトの名無しさん:2011/01/31(月) 21:16:37
>>27
コメントにやること書いてあるとはいえ
もう少し何してもらいたいのか書いたら?
29デフォルトの名無しさん:2011/01/31(月) 21:27:29
GORL
30前スレ88:2011/01/31(月) 22:04:19
前スレ88ですが、〆切を2/8の22:00まで延長してもらいました。
もし解ける方がいましたら、よろしくお願いします。
31デフォルトの名無しさん:2011/01/31(月) 22:13:16
>>27
http://codepad.org/0Yblzpmw
あとはrec_track()が冗長なので適当に修正してスマートにすればOK
32デフォルトの名無しさん:2011/01/31(月) 22:31:31
33デフォルトの名無しさん:2011/01/31(月) 22:55:20
>>31さん>>32さん
ありがとうございます。
34デフォルトの名無しさん:2011/01/31(月) 23:23:08
>>30
じゃあ2月9日に俺が解いてあげよう。
35デフォルトの名無しさん:2011/01/31(月) 23:23:39
>88
何処の大学がこういう課題を出すのか気になるが

まだ間に合う
【モリタポ有償】C/C++の問題を片付けます(2)
http://hibari.2ch.net/test/read.cgi/tech/1295273862/
ここに依頼するんだ
36デフォルトの名無しさん:2011/01/31(月) 23:29:50
講義にでてない人が作ったら間違いなく想像してたのとは違うものができる気がする
37デフォルトの名無しさん:2011/01/31(月) 23:31:55
>>30
前スレもう落ちたから問題すら見られなくて無理
38デフォルトの名無しさん:2011/01/31(月) 23:40:20
C/C++の宿題片付けます 145代目
http://hibari.2ch.net/test/read.cgi/tech/1294061094/88

88 :デフォルトの名無しさん [] :2011/01/06(木) 16:08:50
[1] 授業単元:プログラミング応用
[2] 問題文(含コード&リンク):http://www1.axfc.net/uploader/File/so/56644
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:visual studio
 [3.3] 言語:C
[4] 期限:2011年1月11日(火) 09:00まで
[5] その他の制限:制限なし、OpenCV使用可

期限が短いですが、よろしくお願いします。
39デフォルトの名無しさん:2011/01/31(月) 23:42:10
>>38
何これ怖い

というか応用どころか実務に近いので
宿題の領域ではないと思われ
40デフォルトの名無しさん:2011/01/31(月) 23:50:44
ハフ変換か
41デフォルトの名無しさん:2011/01/31(月) 23:51:18
>>39
専門的過ぎるよな
42デフォルトの名無しさん:2011/01/31(月) 23:52:13
s/〆切/納期/
43デフォルトの名無しさん:2011/01/31(月) 23:59:19
ググってみたら論文があったぞ
考え方くらいは参考にさせてもらって来いよ
納期に間に合うといいね^v^
44デフォルトの名無しさん:2011/02/01(火) 00:01:14
1ヵ月も延びたのに何もやっていなかったとか呆れちゃうわ
論文もまともに読めないブラック乙ですか()
455:2011/02/01(火) 01:34:43
>>10 ありがとうございます!
46デフォルトの名無しさん:2011/02/01(火) 02:09:55
>>38
これネタだろ? 144か143代目辺りでもこれと同じのあった記憶があるぞ。
47デフォルトの名無しさん:2011/02/01(火) 02:11:09
あ=
>>145代目 って書いてあるか。ネタじゃないのか。
48sage:2011/02/01(火) 04:31:53
どなたか>>11お願いします!
49デフォルトの名無しさん:2011/02/01(火) 05:48:56
>>48
せめてサンプルデータくらいは自作して提示すれば回答しやすいと思うよ
それすら面倒なら単位を諦めなさい
50デフォルトの名無しさん:2011/02/01(火) 09:33:15
>>48
Cってよりも、BCBのGUIっぽい気がする
51デフォルトの名無しさん:2011/02/01(火) 10:06:09
>>11は他スレで質問して20分も立たずにここに丸投げしたゆとり
少しは自分で考えろよ
52デフォルトの名無しさん:2011/02/01(火) 13:11:39
>>6
ありがとうございました。
53デフォルトの名無しさん:2011/02/01(火) 17:52:29
>>51
ゆとりって怖いね
サンプルデータも作れないって事は問題文すら理解できないって事か?
54ドヤン:2011/02/01(火) 17:53:28
ずうずうしいですがマジでお願いします。
これできないと単位オワります。

http://www.info.shonan-it.ac.jp/kobayashi-lab/2010infotheory/infotheory.htm
55デフォルトの名無しさん:2011/02/01(火) 17:53:53
課題提出期限ラッシュか。いそがしくなるな
56ドヤン:2011/02/01(火) 17:55:23
ずうずうしいですがマジでお願いします。
これできないと単位オワります。

http://www.info.shonan-it.ac.jp/kobayashi-lab/2010infotheory/infotheory.htm
57デフォルトの名無しさん:2011/02/01(火) 17:57:22
大学のURLそのまま貼るとか勇気あるな
58ドヤン:2011/02/01(火) 17:59:52
そんなんビビって宿題なんて頼めません。
59デフォルトの名無しさん:2011/02/01(火) 18:25:20
学籍番号教えろ
60ドヤン:2011/02/01(火) 18:40:33
さすがに怖いわ!
61デフォルトの名無しさん:2011/02/01(火) 19:23:04
締め切りは今日だね、意味有るの?
62ドヤン:2011/02/01(火) 19:35:36
今日中ならいいと言っていたので大丈夫です。
でも急に頼んだこっちが悪いんで気が向いたらでかまわないです。
かといって他にも頼んでる訳ではないですけど。
63ドヤン:2011/02/01(火) 19:44:45
でももしやっていただけるならめっちゃうれしいです。
64デフォルトの名無しさん:2011/02/01(火) 20:03:10
ここにデコードのソース有るけどね
俺は飲んでるからパスするわ、テストコード書いてくれる優しい人が居ると良いね

ttp://homepage1.nifty.com/docs/algo/l/lz77.html
65ドヤン:2011/02/01(火) 20:22:49
こういう資料探してました。
ほんとにありがとうございます。

66デフォルトの名無しさん:2011/02/01(火) 21:36:20
[1] 授業単元:計算機プログラミング
[2] 問題文(含コード&リンク):
以下のコマンドを実行可能な名簿管理システムを作成せよ。
メンバーの追加
メンバーの削除
メンバーリストを名前順(アルファベット昇順)で表示
メンバーリストの名前順(アルファベット昇順)でのファイル出力
引数として"-f ファイルパス"を指定することによるメンバー初期データの読込

メンバー情報として、名前と学生番号を持つこと。システムの拡張は自由に行ってよい。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限: 2011年02月07日17:00まで
[5] その他の制限: リスト構造を用いる

よろしくお願いします
67デフォルトの名無しさん:2011/02/01(火) 21:36:26
>>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;
としています。
コマンドラインでファイルをうまく読み込むことができません。文字化けします。
お願いします!
68デフォルトの名無しさん:2011/02/01(火) 22:03:53
>>67
今さら回答するわけねーよ。どあほ

君が焦る分、俺のメシが美味くなるぜ(笑)
69デフォルトの名無しさん:2011/02/01(火) 22:11:10
>>68 いや、ホント焦ってます。お願いします。
70デフォルトの名無しさん:2011/02/01(火) 22:20:19
>>69
今ならまだ間に合うのか?
71デフォルトの名無しさん:2011/02/01(火) 22:23:28
もう2/1だからむりだぁ〜
72デフォルトの名無しさん:2011/02/01(火) 22:27:55
>>70 >>71 なんとか間に合います。できたらお願いします!!
73デフォルトの名無しさん:2011/02/01(火) 22:30:32
>>72
そうか。それならよかった
74デフォルトの名無しさん:2011/02/01(火) 22:34:32
>>73 ダメですか?
75デフォルトの名無しさん:2011/02/01(火) 22:37:29
名簿がどうとか明らかに宿題じゃないだろw
よってスレチ
数学の知識もある程度必要な、面白い問題無いの?
76デフォルトの名無しさん:2011/02/01(火) 22:39:31
内容的には課題レベルだろ
77デフォルトの名無しさん:2011/02/01(火) 22:40:35
つか文字コードレベルの話と見た
78デフォルトの名無しさん:2011/02/01(火) 22:41:08
>>75
写真画像から境界線抽出して塗り絵素材を作る
79デフォルトの名無しさん:2011/02/01(火) 22:41:18
そろそろ気づけよ(笑)

誰もやるわけねーよ。

単位落としとけやゴミが
80デフォルトの名無しさん:2011/02/01(火) 22:41:37
>>75 そこをなんとかお願いします!
81デフォルトの名無しさん:2011/02/01(火) 22:44:08
>>75は医学に挑戦するらしいから
82デフォルトの名無しさん:2011/02/01(火) 22:45:30
>>75さん論文頑張って読んで下さい!!
83デフォルトの名無しさん:2011/02/01(火) 22:51:53
コマンドプロンプトとメモ帳とgccでC言語の勉強をしています。
メモ帳で"あいうえお"と書いたファイル,ファイル名aiueo(拡張子はtxt)を作って
デスクトップ上に保存しました。

それなのに
コマンドプロンプト上で

dir aiueoや

dir aiueo.txt
など
としてもファイルが見つかりませんとなります・・・orz
何故でしょう?
84デフォルトの名無しさん:2011/02/01(火) 22:54:15
>>83
dirのオプションググってこいカスが
85デフォルトの名無しさん:2011/02/01(火) 22:54:44
俺のPCではコンパイル出来たな

http://codepad.org/sInEGomi
86デフォルトの名無しさん:2011/02/01(火) 22:54:51
>>83
コマンドプロンプトのカレントディレクトリがデスクトップでないから。

8783:2011/02/01(火) 22:55:34
>>84
ちゃんと教えてください。ここ宿題スレですよね?
明日提出なんで、できなかったら留年しちゃいます!
88デフォルトの名無しさん:2011/02/01(火) 22:56:49
階層が違うんじゃない?
aiueo.txtが置いてあるところのアドレスとコマンドプロンプトのアドレスが違うとおもわれ
89デフォルトの名無しさん:2011/02/01(火) 23:00:18
>>87
dirのオプションは宿題じゃないだろwwww

マジスレすると
dir abcはカレントディレクトリに属するabcフォルダの中身を表示する
やろうとしてるのはコマンドプロンプト開いてそこのフォルダのaiueoフォルダの中身を表示させようとしてるだけ

全力で釣られてあげたよ嬉しいでしょww
90デフォルトの名無しさん:2011/02/01(火) 23:02:26
>>87

>>85で出来てるんじゃねーの?
91デフォルトの名無しさん:2011/02/01(火) 23:06:31
>>87
コマンドプロンプトの表示が
C:\
こうなってたら、
CD \Documents and Settings\お前のアカウント\デスクトップ
と入力して、リターンキーを押す
表示が
C:\Documents and Settings\お前のアカウント\デスクトップ>
こうなってたら、
DIR aiueo.txt
と入力して、リターンキーを押す

これで意味が分からないなら、留年した方が良い
92デフォルトの名無しさん:2011/02/01(火) 23:07:29
ってかデスクトップの階層が分からないから留年とか釣りすぎわろたw
93デフォルトの名無しさん:2011/02/01(火) 23:09:15
94デフォルトの名無しさん:2011/02/01(火) 23:10:09
留年おめでとう。

親に何て言うのか想像しただけでメシウマすぎるwww

学費もう一年払ってもらうように土下座しとけゴミwwwwwww
9593:2011/02/01(火) 23:14:26
>>74
提出したか?
96デフォルトの名無しさん:2011/02/01(火) 23:21:22
>>93
>>11用だな。 あと30分間に合うといいな。
97デフォルトの名無しさん:2011/02/01(火) 23:23:56
>>94みたいにただ煽るだけの低脳って、結局>>83に答えられないからなんだろうなぁ
98デフォルトの名無しさん:2011/02/01(火) 23:26:09
これは酷い釣り
99デフォルトの名無しさん:2011/02/01(火) 23:27:48
>>97
これは低レベルな釣り
100デフォルトの名無しさん:2011/02/01(火) 23:32:08
中身見たけどこのまま出したら笑えるなw
101デフォルトの名無しさん:2011/02/01(火) 23:34:42
>>100
今走って持って行ってるんじゃねw
102デフォルトの名無しさん:2011/02/01(火) 23:37:10
イカ ゲソ w
103デフォルトの名無しさん:2011/02/01(火) 23:38:42
教授「これはダメじゃなイカ」
104デフォルトの名無しさん:2011/02/01(火) 23:53:21
105デフォルトの名無しさん:2011/02/01(火) 23:54:50
自演乙
106デフォルトの名無しさん:2011/02/02(水) 00:04:15
>>93 >>104 ありがとうございます!
コンパイルしてみたら 83:宣言の構文エラー と出たので調べてます。
83 bool beginWith(char *a, char *b)
ってところなんですが…エラーなんですか?
107デフォルトの名無しさん:2011/02/02(水) 00:05:17
>>11
よかったな。
>>104 で完成してるようだな。
つうか俺も途中まで作ってたが0時過ぎた orz
108デフォルトの名無しさん:2011/02/02(水) 00:06:16
>>11
とにかく動く方を早く提出しろ!
109デフォルトの名無しさん:2011/02/02(水) 00:06:18
bool
110デフォルトの名無しさん:2011/02/02(水) 00:09:16
構文エラーってでてるのにエラーなんですかって意味がわからないんだが
111デフォルトの名無しさん:2011/02/02(水) 00:10:27
そういやCってbool型なかったっけ
11293:2011/02/02(水) 00:12:39
visual c++で通ったぞ
普段C書かないから知らない、boolをintにすればいいんじゃない?
ちゃんと提出したのか?
113デフォルトの名無しさん:2011/02/02(水) 00:17:47
>>107 >>108 >>112 ありがとうございます。なんとか提出しました。大丈夫だと思います!
迷惑かけてすいませんでした…。
114デフォルトの名無しさん:2011/02/02(水) 00:22:09
これはwwwwwメシウマな予感wwww
115デフォルトの名無しさん:2011/02/02(水) 00:27:48
>>11
よかったな。
116デフォルトの名無しさん:2011/02/02(水) 06:15:54
おまいらお疲れ。

そして>>11君、その内容ではおそらく留年。
117デフォルトの名無しさん:2011/02/02(水) 06:34:01
>>11
>>104 を出したのか?
問題には構造体を持つ配列と有るが、>>104 は構造体のポインターリンクリストだ
題意を満たしていない事に気が付かなかったの?

それ以前に俺が書いてる事は理解できるんだろうか?
118デフォルトの名無しさん:2011/02/02(水) 07:15:14
119デフォルトの名無しさん:2011/02/02(水) 07:22:12
え、金払ったのかコイツww

しかし、可哀想なことに遅すぎたな。
120デフォルトの名無しさん:2011/02/02(水) 07:24:47
>>119
お金もモリタポもいただいておりません。しばらくは開店セールでしょうね。
121デフォルトの名無しさん:2011/02/02(水) 07:29:02
普通の小学生でも理解できる日本語が理解できない相手に注文するなんて、怖くてできねーだろw
122デフォルトの名無しさん:2011/02/02(水) 07:48:03
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク):http://www.dotup.org/uploda/www.dotup.org1311028.txt.html
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名:gcc
 [3.3] 言語:C
[4] 期限:2011年02月05日23:59まで
[5]その他の制限 分かりやすいコメント文をつけていただくと助かります

すいません よろしくお願いします
123デフォルトの名無しさん:2011/02/02(水) 08:08:03
>122
めちゃくちゃスパースだな、もったいないもったいない
124デフォルトの名無しさん:2011/02/02(水) 08:11:19
>>122
全部書き直しちゃいけないのか?
読んで理解するのが時間がかかるのだが
if(strcmp(ss,"ア") < 0 || 0 < strcmp(ss,"カ"))
とか

指定されてたりするのか?
125デフォルトの名無しさん:2011/02/02(水) 08:12:18
>>66
strcmp() で名前ソートすると 大文字 < 小文字になるけど良いかな?
ttp://codepad.org/vnLUHJDw
126デフォルトの名無しさん:2011/02/02(水) 08:16:50
>>122
元の問題文をそのまま載せてくれればやるよ
一から書き直すけど
127デフォルトの名無しさん:2011/02/02(水) 09:22:32
122です。
携帯からの書き込みですいません…

書き換えても大丈夫です!
マップの表示と経路結果さえ出来ていれば…

問題分をまたあとで一応貼ります

迷惑かけます…
128デフォルトの名無しさん:2011/02/02(水) 11:05:56
>>125
> >>66
> strcmp() で名前ソートすると 大文字 < 小文字になるけど良いかな?
問題ありません
すごいです!ありがとうございます!
129デフォルトの名無しさん:2011/02/02(水) 12:30:31
122です 問題文です
よろしくお願いします

http://www.dotup.org/uploda/www.dotup.org1311271.txt.html
130デフォルトの名無しさん:2011/02/02(水) 14:23:07
>>129
>>122 のデータは何か変だな、東京-千葉や東京-神奈川の距離が -1 になってるよ

まぁそんな事は良いけど番号が隣接してても県が隣接してないケースも有る様だね
簡単に解けるかと思ったけど難しいな
131デフォルトの名無しさん:2011/02/02(水) 14:37:49
>>130

確かにMapの方はおかしいところがかなりありました…
しかしそのデータ基準で大丈夫です。
誤解を招くデータを与えてしまいすいません…
132デフォルトの名無しさん:2011/02/02(水) 15:04:50
>>131
東京と千葉が選択されたらどうするの?埼玉経由www?

最初に考えたのは1と5が選択されたら12345って経路から234を削る組み合わせを全探索すれば良いかなって思ったんだけど、
神奈川の次が新潟だったりするからこの考えではダメだね
何か考え方のヒントでも無いの?
133デフォルトの名無しさん:2011/02/02(水) 15:07:29
>>132

おそらく埼玉経由になるかと・・・
このデータで作れというのが前提条件なので・・・
考え方のヒントは すいません もらってないです

これを作るに当たって
>>122のプログラムを先に作らされ それを踏まえれば出来る とのことで出されました。

122のプログラミのdatファイルの中身は別ですが・・・
134デフォルトの名無しさん:2011/02/02(水) 15:18:43
>>133
>>122 のコードは汚くて読む気がしないんだけど、何するコードなの?
135デフォルトの名無しさん:2011/02/02(水) 15:28:41
>>134
http://www.dotup.org/uploda/www.dotup.org1311538.txt.html
を読み込んで 経路と距離の結果を表示です

136デフォルトの名無しさん:2011/02/02(水) 15:39:15
>>135
????
化けた文字しか見えないんだけど
137デフォルトの名無しさん:2011/02/02(水) 15:56:18
>>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

です。すいません!
138デフォルトの名無しさん:2011/02/02(水) 15:57:12
実際は一行目のアの前に半角スペースが2つ入ります!
139デフォルトの名無しさん:2011/02/02(水) 16:31:52
>>138
そんな事はどうでも良いんだけど、重要な質問に答えてくれ

>>122 のコードはちゃんと動くのか?
ルート決定を行っているのは start と end を算出した後の while() ループ内だと思うんだけど、
while() ループ内では end を参照していない
それで start から end への最短経路を選択するのは非常に困難だと思うんだが....
140デフォルトの名無しさん:2011/02/02(水) 16:40:34
>>139
一応動作するのですが・・・。


>>122のプログラム 出来る人の指示に盲従的にしたがって製作してしまったので・・・
これを発展させるように記載しましたが
全く様変わりしても 表示 結果 出来ていれば大丈夫です

本当に申し訳がないです・・・ 
141デフォルトの名無しさん:2011/02/02(水) 16:54:21
>>140
うーん、困ったな
俺には君のコードが理解できないし、良いアイディアも無い
君のコードの while() ループをそのまま移植してみようか?
それで動くとは思えないけど....

出来る人ってのも怪しいなぁ、配列を1オリジンで使うプログラマなんて絶滅したと思ってたのに...
142デフォルトの名無しさん:2011/02/02(水) 17:00:38
>>141

お願いします・・・
僕も全く能力がなくて こうしてみてはどうでしょう? 等 言えなくてすいません・・・
143デフォルトの名無しさん:2011/02/02(水) 17:20:15
>>142
書いてみたけど全然ダメだったよ
とにかく while() ループで何をしてるのか全く理解できないからなぁ
あんなんで上手くいくとはとても思えないし...

俺も力不足だわ、もっとできる人に期待してくれ
144デフォルトの名無しさん:2011/02/02(水) 17:22:05
>>143

考えてくれて
ありがとうございます!

僕ももう少しきちんと読み解いてみます
145デフォルトの名無しさん:2011/02/02(水) 18:41:51
>>144
なんと言うアルゴリズムでの宿題?
146デフォルトの名無しさん:2011/02/02(水) 18:49:44
>>122
初めのデータ対称じゃないのだが、しかも対角が0じゃない。別に対称じゃなくても答えは出るけど
アカのデータなら通る
ちょっとだけCode Jamみたいで面白かった

http://ideone.com/8F4MJ
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関数内の処理で元ソースに記述されている処理については変更禁止

不明な点はご指摘ください。よろしくお願いします。
148デフォルトの名無しさん:2011/02/02(水) 19:57:00
DLキー必要とかワロチ
149デフォルトの名無しさん:2011/02/02(水) 20:00:48
>>147
なんで&intNumFrom[1]で添え字が1なんだ?
150149:2011/02/02(水) 20:04:45
>>147
Disp_func内でポインタを-1するすごく難しい問題なのか?www
151デフォルトの名無しさん:2011/02/02(水) 20:18:11
152デフォルトの名無しさん:2011/02/02(水) 20:51:48
>>146
都道府県のデータだと落ちちゃうね、データに問題が有るんだろうか?
153デフォルトの名無しさん:2011/02/02(水) 21:16:58
>>146
回答ありがとうございます!
一応コンパイルしたのですが
http://www.dotup.org/uploda/www.dotup.org1312333.txt.html と表示されました・・・

あの間違っているであろうMap.dat基準で経路計算をしていいのですがあれだとやはり無理が出るのでしょうか・・・

>>145
どのアルゴリズムを駆使して〜 などの指定は特にないです

結果が出ればOKです。

すいません・・・
154デフォルトの名無しさん:2011/02/02(水) 21:57:28
>>153
日本語ふんだんに使ったから、gcc 文字コードとかでぐぐれば? http://p.tl/3tG9

75行目から82行目で対称じゃないデータをはじいてるので、ここのチェックをなくせば
意味無いかもしれないけど、答えはでるはず。出題者も頭悪いだろ
155デフォルトの名無しさん:2011/02/03(木) 00:49:28
誰かいますか?
質問してもいいですか?
156デフォルトの名無しさん:2011/02/03(木) 00:59:47
なんだね
157デフォルトの名無しさん:2011/02/03(木) 01:03:37
【初心者歓迎】C/C++室 Ver.74【環境依存OK】
http://hibari.2ch.net/test/read.cgi/tech/1289292155/
で質問してみるのもいいのでは? あまり活発な所とは言えないが。
158デフォルトの名無しさん:2011/02/03(木) 05:13:28
>>154
確かにこのデータは酷いね、非対称箇所が39も有ったよ
非対称箇所を修正する様に書いたら正常に動くようになった

しかし、>>146 のロジックが俺には全く理解できないんだが、考え方を教えてはくれまいか
159デフォルトの名無しさん:2011/02/03(木) 05:35:39
>>158
基本はこんな感じ
http://www1.axfc.net/uploader/Img/so/107071

それぞれの県のスタートからの最短距離を記録しておく(はじめは十分大きい数で初期化)
スタート地点は当然最短距離0

次からは、ある県から隣の県に行く場合の最短距離(ある県の最短距離 + 隣の県への距離)
が、現在の隣の県の最短距離より短かったら、隣の県の最短距離を更新する

これを全部の県に対して何回か繰り替えす。
全部のルートを網羅するためには県の数だけループすればOK
160デフォルトの名無しさん:2011/02/03(木) 05:37:55
続き

これだけだと、経路がわからないので
最短距離を更新する場合、どの県によって更新されたかを記録しておく

あとは終点からそれを逆にたどっていけば経路がわかる
161デフォルトの名無しさん:2011/02/03(木) 06:37:21
>>159
なるほど、理解した
終点から周囲への距離をKループ毎に範囲を広げる感じで書き込んでいくのか
ありがとう
162デフォルトの名無しさん:2011/02/03(木) 07:42:01
>>154

プログラムの75行目〜82行目を消せばってことですかね?

>>158

Map.datをいじれば正常になったということでしょうか?

質問ばかりですいません・・・
163デフォルトの名無しさん:2011/02/03(木) 08:12:45
>>162
map.dat を読み込むと非対称部分が39箇所有った
非対称部分とは A[i][j] != A[j][i] である箇所ね
これを検出して以下の補正を行えば正常に処理できたよ
・片方が -1 である場合は対象位置の値で上書き
・両方とも -1 で無い場合は平均値を上書き
map.dat を見て直した訳では無いので地図的な不整合は否めない、東京→神奈川が群馬経由だったりするからねww
164デフォルトの名無しさん:2011/02/03(木) 08:28:25
>>163

あんぽんたんなので どう書いて補正すればいいのか分かりません・・・

正常に処理をしたソースファイルをもらえると助かるのですが・・・

お手数かけます・・・
165デフォルトの名無しさん:2011/02/03(木) 08:36:15
>>164
出題者に言って直してもらったほうがよくないか?
166デフォルトの名無しさん:2011/02/03(木) 08:38:56
>>165

出題時点で 間違いが発生しても
もうこのファイルでいきますと
揚々と宣言されました・・・
167デフォルトの名無しさん:2011/02/03(木) 08:38:59
>>164
俺が書き始めたコードに >>146 のロジックを組み込んで、データの補正を追加したコード
24行目のコメントアウトを外してコンパイルしてくれ

ttp://codepad.org/SgVf49x3
168デフォルトの名無しさん:2011/02/03(木) 08:43:19
日本地図と物差しがあれば、簡単に訂正できるだろう。
そのくらいの気楽にやれなくては。
169デフォルトの名無しさん:2011/02/03(木) 09:27:35
>>167

ありがとうございます!
早速コンパイルしましたが
http://www.dotup.org/uploda/www.dotup.org1313572.txt.html と表示されました・・・

>>168
ですよね・・・
もっと僕に能力があればよかったのですが・・・
170デフォルトの名無しさん:2011/02/03(木) 09:35:45
>>169
FILE が未定義って事は stdio.h がインクルードされてないって事じゃね?
ちゃんとコピペしたんかいな?
171デフォルトの名無しさん:2011/02/03(木) 09:51:04
>>170

!!!

どうやら僕は切腹するにふさわしい人間のようです・・・!

もういっかいやってみます!
172デフォルトの名無しさん:2011/02/03(木) 10:07:34
 実行した結果
http://www.dotup.org/uploda/www.dotup.org1313613.txt.html
と表示されました
 あと一歩感があるのですが
どうすればいいのでしょう・・・?
県の一覧表示は下のほうに表示されています(49までありますが・・・)

173デフォルトの名無しさん:2011/02/03(木) 10:18:42
>>172
漢字が化けてるな、文字コードの問題はそっちの環境が判らんのでなんともできん
文字化けしてない前提で

最初に県名二つと数字二つが出てる行が沢山あるのは非対称のチェック結果だから無視してくれ
県一覧が49まであるのは 24行のコメントを外していないからって理由とバッファサイズが256じゃ足らんのだろうね
解決方法は以下の2つ

1)以下の修正を行う
line15:  char buf[256] -> char buf[512]
line24:  fgets( buf, 256, fp ) -> fgets( buf, 512, fp )

2)データファイルの一行目(県名のみが入っている行)を削除する
 県名,数字,数字..... の行から始まるようにする

174デフォルトの名無しさん:2011/02/03(木) 10:46:29
>>173
ありがとうございます!

文字化けについては分からなかったので 漢字を英語にして逃げました・・・!

考えてくれた皆様 本当にありがとうございました!
175デフォルトの名無しさん:2011/02/03(木) 11:19:27
>>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行目の県名一覧とデータ行の並びが異なるのでは、
なんて考えが浮かんでチェックしたけどそんな事は無かったよ
176デフォルトの名無しさん:2011/02/03(木) 11:33:36
>>175

了解しました!

こんなデータにつき合わせてしまい本当に申し訳がないです・・・
177デフォルトの名無しさん:2011/02/03(木) 11:50:21
一覧表示の前に表示されるCheckdataで行っているであろう部分を非表示にするにはどうすればいいのでしょう?

すいません...
178デフォルトの名無しさん:2011/02/03(木) 11:51:22
出来てました・・・
何回も書き込みすいませんでした!!!
179デフォルトの名無しさん:2011/02/03(木) 12:43:22
[1] 授業単元:自然言語処理
[2] 問題文(含コード&リンク):
http://nlp.dse.ibaraki.ac.jp/~shinnou/lecture/nl/rep4.pdf
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ gcc
 [3.3] 言語: C等
[4] 期限: 2011年2月10日
分かる方いましたら、よろしくお願いします。
180デフォルトの名無しさん:2011/02/03(木) 13:16:17
>>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文を使って作成

期間も短すぎですが、分かる方がいましたらお願いします。
182デフォルトの名無しさん:2011/02/03(木) 13:30:47
>>179-180
俺ははっきり出来ないって言えるぞ
こんな専門的なのは講義受けて概念くらいは理解してないと手の付けようが無いだろう
処理手順が提示されてれば書くのは簡単そうだけど
183デフォルトの名無しさん:2011/02/03(木) 13:43:13
誰か留年しないかなぁ
184デフォルトの名無しさん:2011/02/03(木) 13:51:54
>>181
これどこで入れ子にするんだw
思いついたのがここしかなかった
http://codepad.org/IlL562On
185デフォルトの名無しさん:2011/02/03(木) 16:05:36
>>179
mecabがincludeできないから諦めた
186デフォルトの名無しさん:2011/02/03(木) 17:00:24
めかぶ?
187デフォルトの名無しさん:2011/02/03(木) 18:06:31
もはや何が書いてあるのかすら理解できないレベル
188デフォルトの名無しさん:2011/02/03(木) 18:07:18
何をしたいのかイメージは沸くけど具体的にどうしたらいいかはバカなので分からない。
189デフォルトの名無しさん:2011/02/03(木) 18:29:08
とりあえず名詞を抽出するまでは分かった
それを各名詞ごとに数を数えるとこまでは出来た

そこから先が解読できなくて詰まった

当然スパゲッティwww
190デフォルトの名無しさん:2011/02/03(木) 19:23:15
>>181
大学3年生にもなったんだから、
これくらいできないと就職できないよ?

俺は情報学部出身じゃないからこんなのできへん(キリッ
191デフォルトの名無しさん:2011/02/03(木) 19:51:43
>>189
名詞の回数を要素に文章ごとに配列を作って
比較したい二つの文章の配列の要素の合計の平方根(√x,√y)と
要素ごとに積算した配列の合計(z)を求めて
z/(√x*√y)で類似度が求まる

っぽい
192デフォルトの名無しさん:2011/02/03(木) 20:12:16
>>184 >>181の入れ子はこれでいいと思う。
俺もこんな感じしか思い浮かばない。
193デフォルトの名無しさん:2011/02/03(木) 20:17:06
>>191
(1) は MeCab の使い方が判れば簡単だろ、Mはかなり大きくなると思うけど
(2) の文書間類似度の算出方法が問題文には記述されていない様に思うんだけど...

多分、講義で(1)の行列から文書間類似度を算出する方法をやってるんじゃないのかな
>>179 がその手順を示さないと回答は難しいだろ
194デフォルトの名無しさん:2011/02/03(木) 20:32:44
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
http://codepad.org/GxAuXYrr
http://codepad.org/2mRtRFu9
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2011年2月7日
[5] その他の制限:特になし
宜しく御願いします。
195デフォルトの名無しさん:2011/02/03(木) 21:06:35
>>194
何がどう出来ないのか書かないと直しようがない
196デフォルトの名無しさん:2011/02/03(木) 21:14:33
>>195
UDPで実現、単語登録機能の追加が出来ません。
アクセス時の排他制御はわかります。
197デフォルトの名無しさん:2011/02/03(木) 21:26:07
>>196
アクセス時の排他制御って何の話?
サーバー側は recvfrom() で受けて sendto() で送り返すだけでしょ
つまり、一度に一つのクライアントしか相手にしないんだから排他なんか必要無いはずだよ
198デフォルトの名無しさん:2011/02/03(木) 21:37:26
排他制御はdictionary.txtの話でしょ?
199デフォルトの名無しさん:2011/02/03(木) 21:41:56
>>198
はい、そうです。
単語登録中はlockファイルを作りlockファイルがある間は他の方が作業できないようにし終わったらlockファイルを削除します。
200デフォルトの名無しさん:2011/02/03(木) 22:15:36
>>199
だからね、TCP/IPと違ってUDPの場合は同時に複数のクライアントと通信する必要は無いんだよ
サーバーのメインループの中では
recvfrom() で電文を受信
受信した電文に応じた処理(英単語→日本語や辞書更新)
sendto() で電文を返信
のシーケンスを行う
よって、辞書更新中に他のクライアントからの電文を受信する事は無いんだよ
まぁサーバープロセスを複数動かすのであれば排他が必要かも知れんけどね

注意しなければならないのはクライアント側だ
sendto() で英単語を送信
recvfrom() で日本語の受信を待つ
これをブロッキングで動作させると、送信したパケットがロストした場合に recvfrom() で処理が止まってしまう
だからソケットをノンブロッキングにして recvfrom() を規定回数行って受信できなかった場合はタイムアウトとする様な
仕組みが必要だよ
201デフォルトの名無しさん:2011/02/03(木) 22:21:08
そしてコードを書かない>>200であった
202デフォルトの名無しさん:2011/02/03(木) 22:31:45
>>201
うん、Linux マシンを物置部屋から引っ張り出すのが面倒だから
仮に書いてもコンパイルすら通さないシロモノを張る気は無いよ
203デフォルトの名無しさん:2011/02/03(木) 22:35:45
仮想マシン使えばよくね?
204デフォルトの名無しさん:2011/02/03(木) 23:00:01
情弱にそんなこと言うのは失礼ですよ
205デフォルトの名無しさん:2011/02/03(木) 23:39:50
cygwin とかの事?
宿題スレの為だけにインストールしろってかw
自分の用事で linux が必要なら物置から引っ張り出すわい
206デフォルトの名無しさん:2011/02/03(木) 23:52:09
仮想マシンを知らないの?
207デフォルトの名無しさん:2011/02/03(木) 23:56:13
と知ったげに言っている>>206であった

と思ったけど>>205の情弱さは60代中堅管理職のそれと同レベル
208デフォルトの名無しさん:2011/02/03(木) 23:57:03
すいません、仮想というとVirtual Boyしか知らないもので…。
209デフォルトの名無しさん:2011/02/03(木) 23:59:16
>>179
c++使ってもいい? mapが使いたい
210デフォルトの名無しさん:2011/02/04(金) 00:01:01
C等のなかにC++は入っていないのでやめてください。
C等の言語として許容されるのはObject-CとCCCPのみとします。
211デフォルトの名無しさん:2011/02/04(金) 00:03:02
>>179じゃないけど、使って良いよ
212デフォルトの名無しさん:2011/02/04(金) 00:04:21
>>210
当たり前のことを聞くが、自分でもやってるのか?
213女子中学生:2011/02/04(金) 00:05:35
や、やってるに決まってるでしょ!
ただ、ちょっと、その、…期待してるだけよ。おねがいなんだから。
214デフォルトの名無しさん:2011/02/04(金) 01:06:16
C等
215デフォルトの名無しさん:2011/02/04(金) 04:12:06
初めてのCって聞いて、ときめいたことあったな
まあ、みんなやってるな
216デフォルトの名無しさん:2011/02/04(金) 08:42:24
>>213
これをデブでブサイクな奴が口呼吸したり、身体中ボリボリかきながら投稿してるんだぜ
217デフォルトの名無しさん:2011/02/04(金) 11:33:53
>>179の類似度計算に関しては
http://nlp.dse.ibaraki.ac.jp/~shinnou/lecture/nl/nlp13.pdf
の18ページあたりに載っています。
よろしくお願いします。
218デフォルトの名無しさん:2011/02/04(金) 12:47:25
>>217
コサイン尺度の式

cos( Dj, q ) = 〜

はどういう処理なの?
数学から離れて久しいので式の意味が判らん
219デフォルトの名無しさん:2011/02/04(金) 13:21:04
内積ってことだろ、相関係数みたいな
http://ideone.com/s6i8s
c++使わせてくれないからやる気なくなった。途中まで
220デフォルトの名無しさん:2011/02/04(金) 13:31:36
>>219
つまり・・・どういうことなんだってばよ?
221デフォルトの名無しさん:2011/02/04(金) 15:47:49
>>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||)で求めることができます。
223デフォルトの名無しさん:2011/02/04(金) 16:37:24
a・b=|a||b|cosθで、この場合はベクトルが正規化されていて|a|=|b|=1だから
a・b=cosθになるわけ。
つまり内積が1に近いほど二つのベクトル間の角度が小さくて同じ方向を向いてるということだから類似度が高いというわけだ。
224デフォルトの名無しさん:2011/02/04(金) 16:37:41
>>222
だからその式の意味を教えてくれって
||X|| を見た事ないんだぉ
225デフォルトの名無しさん:2011/02/04(金) 16:47:27
載る無
226デフォルトの名無しさん:2011/02/04(金) 19:25:33
227デフォルトの名無しさん:2011/02/04(金) 20:59:30
>>226
君は何も理解していないようだねw
この場合は行列ノルムではなくベクトルノルムの記述を示すべきだと思う

||x|| がベクトルのノルムを示す表記で有るならば、>>219 の naiseki() に見られるような、
ΣV1i * V2i  がコサイン尺度となるのだろうな
但し、V1, V2 が正規化されている前提だけど(これは問1の前提でもあるし)

ところで君は MeCab を使えるの?
MeCab 以外の部分は書いても良いけど、MeCab 回りは書く気にならないし、インストールする気にもならない
よって、英文用のコード(英文ならセパレーターとして " ,.!?" くらいを用いれば簡単に単語分割できるから)なら、
書いても良いよ
まぁそれを MeCab を使った日本語用のコードに修正できないなら意味は無いだろうけどね

228デフォルトの名無しさん:2011/02/04(金) 21:58:02
(キリッ
229デフォルトの名無しさん:2011/02/04(金) 21:59:31
>>227
横槍だけどmecabは単語分割して出力するから君の言うような処理は必要ないんだよ
230デフォルトの名無しさん:2011/02/04(金) 22:06:48
MeCabって単に名詞を取り出す際に利用すれば良いんじゃないのか?
テキストを適当に喰わせて、grep cut sort uniq 等使って、最初の単語だけ切り取ればすみそう。
231デフォルトの名無しさん:2011/02/04(金) 22:10:30
出力フォーマットが
%s\t%s,%s...
だから、タブ文字でstrtokして次が名詞で始まればカウントすればいいんじゃね
>>227がんばってネ
232デフォルトの名無しさん:2011/02/04(金) 22:27:55
(シコシコッ
233デフォルトの名無しさん:2011/02/05(土) 06:24:58
>>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] その他の制限: 効率は悪くなっていいので、公式に忠実にお願いします。
よろしくお願いします。
235デフォルトの名無しさん:2011/02/05(土) 08:37:05
>>234
問題はホイホイチャーハンどこだよ
236デフォルトの名無しさん:2011/02/05(土) 08:48:27
2月5日の14:30にこのスレに戻ってきて現実に気づく >>234 であった
237デフォルトの名無しさん:2011/02/05(土) 09:11:02
>>233
で、コードはホイホイチャーハンどこだよwwwwwwwwwwwwwwwwwwww
238234:2011/02/05(土) 09:33:41
すみません。問題貼るの忘れてました。
http://www.dotup.org/uploda/www.dotup.org1319667.png.html
あらためて、よろしくお願いします。
239デフォルトの名無しさん:2011/02/05(土) 09:55:16
#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;
}
240デフォルトの名無しさん:2011/02/05(土) 14:07:39
>>194
linux マシンは出さなかったけど winsock でテストできたので書いてみたよ

サーバー ttp://codepad.org/dTevahYE
クライアント ttp://codepad.org/ReQknZ3a

両方のソース中、 #define USE_WINSOCK と書かれてる行をコメントアウトしる
辞書ファイル名(dictname)や、ポート番号(port)は main() で定義してあるので適宜直してちょ
問題有ったらレスしてね
241240:2011/02/05(土) 14:19:54
補足
同一筐体内でのテストしかしていないので別筐体だと上手くいかないかも知れない
その場合はクライアント側で #if 0 になってる行(initUDP() 内)を #if 1 にして試してみてくれ
242デフォルトの名無しさん:2011/02/05(土) 14:22:15
>>237
出題者から『Mecab の組み込みは出来ます』ってレスが有ったら書き始めるよ
243デフォルトの名無しさん:2011/02/05(土) 16:54:38
>>122です!
最後のわがまま すいません・・・


http://www.dotup.org/uploda/www.dotup.org1320571.txt.html
なんですが
分かりやすいコメント文を付けてもらえないでしょうか・・・?
あと経路が7つまでという制限だったのですが
こちらは無制限になっています
7つまでにしてもらえないでしょうか・・・???
244デフォルトの名無しさん:2011/02/05(土) 16:55:11
>>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なのは当然だよね
245デフォルトの名無しさん:2011/02/05(土) 17:03:12
>>243
コメント面倒だな、締め切り何時だっけ?

経路数の制限は難しいな
例えば8経路で最短になる場合に最短ではない7経路が存在しても現在のロジックでは求められない
又、アイディア募集だねw
246デフォルトの名無しさん:2011/02/05(土) 17:07:24
>>245

今日の23:59までです・・・

最短が8経路以上になる時のみ 非表示 にして
「結果が7経路を超えています」という文を表示とかは不可能なのですかね?

無理ならもうこのままでいこうかと思ってきました・・・
247デフォルトの名無しさん:2011/02/05(土) 17:08:12
コメントぐらいは自分でかけお
248デフォルトの名無しさん:2011/02/05(土) 17:13:04
>>246
出来なかったらドウモツヨシサン…単位落とすのかい?
249デフォルトの名無しさん:2011/02/05(土) 17:14:54
>>247

そうですよね すいません・・・

>>248

提出してみないことには分からないのですが
条件を満たしていない ので おそらく・・・
250デフォルトの名無しさん:2011/02/05(土) 17:30:04
mainのrootFindで得た経路をソートして最大7番目まで出力するようにすればいいんじゃないの?

問題文分からんから推測だけど
251デフォルトの名無しさん:2011/02/05(土) 17:31:57
>>246
それは可能だよ
rootFind() の最後の方

 }
  retarr[j] = -1;
  return calcDist( pkd, retarr );
}
ここで j が8なら8経路って事なので -1 でも return する
そして呼び出し側に
ret = rootFind( cnt, kd, p1, p2, arr );
ret < 0 の場合は8経路以上だって表示させれば良いだけ

でも結局題意は満たしていない事になるんだよなぁ...
252デフォルトの名無しさん:2011/02/05(土) 17:36:47
>>251

本当にお手数だとは承知ですが
その作業を>>243に施してもらえないでしょうか・・・
253デフォルトの名無しさん:2011/02/05(土) 17:45:48
こいつ全部やらせる気だな
254デフォルトの名無しさん:2011/02/05(土) 17:48:40
>>250
ダメなんよ、rootFind は最短経路しか求められない仕組みなので7経路の解が有っても判らんのよ

>>252
いいじょ、ちょとまて
考えたら8経路最短で7経路が存在する組み合わせが存在しないかも知れないし、
あの腐ったデータを出題したアホ講師がそこまで気づくとも思えんしな
255デフォルトの名無しさん:2011/02/05(土) 17:56:44
>>254 すいません・・・ありがとうございます!
256デフォルトの名無しさん:2011/02/05(土) 17:59:05
>>252
動作確認してないし、日本語でメッセージ入れたので直してね
ttp://codepad.org/559Ucs6C

しかし、なんでこんなにインデントがグチャグチャなんだ?
257デフォルトの名無しさん:2011/02/05(土) 18:28:38
>>256
ありがとうございます!

コメント文があると凄く嬉しいのですが・・・
甘えてばかりで申し訳がないです・・・
258デフォルトの名無しさん:2011/02/05(土) 18:39:09
>>257
>>249
質問には答えるよ
259デフォルトの名無しさん:2011/02/05(土) 18:40:16
>>257
君にはゆとりというヘタクソデチュネー言葉がよく似合う。
260デフォルトの名無しさん:2011/02/05(土) 20:06:21
ここまでしてもらって解読くらいしない>>257は異常者
261デフォルトの名無しさん:2011/02/05(土) 21:18:41
元々宿題丸投げスレだからいいだろ
回答者がやるかどうかは別だけどな
262デフォルトの名無しさん:2011/02/05(土) 21:21:53
丸投げでもコメントまでは知らん
しかし、質問もしてこないとこ見るとソースを読む気も無いみたいだな
263デフォルトの名無しさん:2011/02/05(土) 21:30:20
でも確かに読む気でないなこのソースは
264146:2011/02/06(日) 01:01:27
おまいらガチで頭悪いな
146のソースで言えば、sourcesの他に、現在何個の県を通過したかを記録しておいて、8個目になってしまう場合は、最短距離の更新をやめればいいだけ
細胞の分裂回数に制限があるイメージ
てゆうか、なんで俺のソースを使わないんだ?
コメント入れたのに

あと多分7個までっていうのは、7個までにしておけばアルゴリズムが思いつきやすいからそうしたんであって、
別に無制限ができるならそれでもいいと思うのだが
多分本来期待されているアルゴリズムっていうのは7重ループだと思う(無制限にすると重くなりすぎる)

あとrootは根だぞ、routeだろ。初めなんのことかわからんかった
265146:2011/02/06(日) 01:08:03
ごめん、俺も頭悪かった

このアルゴリズムだと網羅できない。
distancesを二次元配列にして(県の数 * 7)
一個目でいける最短、二個目でいける最短、・・・という風に。県の通過回数ごとに最短距離を7個記録しておけばOK
そして、隣の県に伝播させるときは、3個目の距離->隣の4個目の距離、みたいに更新していく
266デフォルトの名無しさん:2011/02/06(日) 01:58:24
>>264
仕様を開発側の都合で曲解するのは最悪の行為だぞ
仕様に明らかなミスがあっても仕様違反はバグ
267デフォルトの名無しさん:2011/02/06(日) 04:09:23
>>263
悪かったわね、プンプン!
あんたは綺麗なコードを書ける人なんだね、できたら見せて欲しいわww

>>264
意味不明

>>265
最短で上書きするときにソートするのかな?
できる気もするけど検証が大変だな、そも8経路経路最短で7経路が存在する組み合わせが存在するかを調べないと...
268146:2011/02/06(日) 06:58:09
>>266
どうせ学校の課題なんだから、課題が出来てなくてもアイデアとかアルゴリズム的におもしろければいいんじゃないか?
どうせ、コメントを要求するってことはコード読んで評価するわけだし。

>>267
ソートはしなくていい、計算量はO(7 * n^3)。
県の通過回数ごとに最短が出てくる。7経路の最短とか、6経路での最短とか
269デフォルトの名無しさん:2011/02/06(日) 07:13:07
>>268
distance も source も2次元にする必要があるよね
さらにKループの外にもう一つループが必要かな?
ソートは必要ないけど source を舐めて通ったパスは除外する様にしなければならないと思う
270146:2011/02/06(日) 07:44:02
http://ideone.com/7zaGJ
都道府県のデータで実験してないから、7経路制限がどう動くかは知らない
271デフォルトの名無しさん:2011/02/06(日) 12:45:16
[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デフォルトの名無しさん:2011/02/06(日) 13:12:35
[2] 問題文(含コード&リンク): 以下の4バイトバイナリファイルをエクセルに読み込め
http://www1.axfc.net/uploader/File/so/58078.zip
[3] 環境
[3.1] OS: (Windows)
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: 出来ればCで
[4] 期限: 2011/2/10

もしよろしければお願いします
273 ◆QZaw55cn4c :2011/02/06(日) 14:40:45
>>272
height, latitude, longitude, pressure, temperature
を一組として csv ファイルの一行を構成するとしていいですか?
あと、4 byte のバイナリ数値ですが、整数ですか、小数点のある数値ですか?
274デフォルトの名無しさん:2011/02/06(日) 16:57:04
[1] 授業単元:プログラミング実習
[2] 問題文(含コード&リンク):http://www.dotup.org/uploda/www.dotup.org1324335.txt.html
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ gcc
 [3.3] 言語: C
[4] 期限: 2011年2月9日
よろしくお願いします
275 ◆QZaw55cn4c :2011/02/06(日) 19:44:00
http://hibari.2ch.net/test/read.cgi/tech/1295721606/894
しばらくして思いついたのですが、これは MS-DOS で VRAM に値を書き込む、というお題ですか?
実際に実行させたい環境を教えてください。
276275: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新しい住所録の追加、既存の住所録の変更・削除が可能。
それぞれの機能はわかりやすく関数に分割すること。

よろしくお願いします。
279デフォルトの名無しさん:2011/02/06(日) 22:22:07
どなたか>>271をお願いします…
280デフォルトの名無しさん:2011/02/06(日) 22:42:43
しつけー奴はツヨクナリタイ無視されるぞ
281279:2011/02/06(日) 23:07:47
>>280
何だと!答える能力がない癖にケラケラ
282デフォルトの名無しさん:2011/02/06(日) 23:23:31
今北産業
MeCabの問題はもう終わったの
283デフォルトの名無しさん:2011/02/06(日) 23:29:55
>>282


284デフォルトの名無しさん:2011/02/06(日) 23:30:08
>>281なりすましはやめてください
285デフォルトの名無しさん:2011/02/06(日) 23:33:40
成りすまされる方にも非があるんじゃなくて?
286デフォルトの名無しさん:2011/02/06(日) 23:33:42
10日までだからちょっとやってみるわ
287デフォルトの名無しさん:2011/02/06(日) 23:45:13
288デフォルトの名無しさん:2011/02/07(月) 01:13:41
>>279
できた。
最近C始めたんだけどEclipse動くとサクサク作れるな。
ネットで例も転がってるし、今の学生は死ぬほど楽だな。
289デフォルトの名無しさん:2011/02/07(月) 01:20:30
>>288
ありがとうございます。
アップしていただけますか?
290デフォルトの名無しさん:2011/02/07(月) 01:39:40
>>274
検索はIDじゃ無くて商品名か。
期日までに訂正してしておく。
291デフォルトの名無しさん:2011/02/07(月) 01:42:31
>>288
環境作るためにも仮想マシン持ったほうがよくないか?
Eclipseが悪いとは言わないが、所詮windowsなんだし
292デフォルトの名無しさん:2011/02/07(月) 01:58:13
>>289
いや、結果は何とかなったけど、中身が恥ずかしいので。
それより作りかけのソースアップしなよ。そういうスレじゃないのか?

>>291
そうだねぇ。どういう事を考慮して、VMで環境を分けるのか、
まだピンと来ない。分けるポイントはどこになるの?

EclipseってWinじゃなくてもつかえなかったっけ?
自分はWindowsでしか使ってないけど。
293デフォルトの名無しさん:2011/02/07(月) 02:02:08
>>292
お見せできるような物すら書けていないのが現状なので、どうかアップしていただけないでしょうか。
もう時間があまりないので、お願いします。
294291:2011/02/07(月) 02:03:51
>>292
あぁ、確かにlinuxでも出来るわ
先入観スマソ

で、分ける点は環境依存であるコードが出たときとか。
画像処理系は結構環境依存なことが多いな

で、そろそろスレチだしやめるわ
295デフォルトの名無しさん:2011/02/07(月) 02:24:44
>>293
http://www1.axfc.net/uploader/Sc/so/202529
やさしく逆採点してくれ。Cの定石は勉強中なので。
296デフォルトの名無しさん:2011/02/07(月) 02:29:26
>>293
いや、もう拡張子の時点でまさかと思ったけど
内容c++ですよオニイサン
297デフォルトの名無しさん:2011/02/07(月) 02:31:39
アップしたら c になっちゃった。
cppにして使ってよ
298295:2011/02/07(月) 02:41:01
>>296
で、それだけかよ?
299240:2011/02/07(月) 03:02:51
>>194 からのレスが無いなぁ、誰も書かないと思って見てもいないんだろうか?
せっかく書いてやったのに...
300デフォルトの名無しさん:2011/02/07(月) 03:07:07
>>282
>>244 に Mecab 以外の部分は上げた
出題者が無能でなければ Mecab の組み込みくらいは出来るだろう
無能なら単位は諦めれば良い
301デフォルトの名無しさん:2011/02/07(月) 03:51:33
302デフォルトの名無しさん:2011/02/07(月) 04:04:22
>>271
先こされちゃったけど、ようやくできた・・・むつかしぃ。
ちなみにC++だよん。

http://codepad.org/izai5um1
303302:2011/02/07(月) 04:16:40
>>271
あ、やだ、メモリリークしてる・_・;

void dijkstra( std::vector< Node > &nodes, std::string const &name )関数
の最終行に delete next; を追加しといて…。
304デフォルトの名無しさん:2011/02/07(月) 04:23:11
>>302
問題文には距離が近い『隣接交差点』とあるよ
ダイクストラ法なんて使う必要無いと思うけど...
>>122 を解いてみたら、期限は過ぎちゃってるけど
305デフォルトの名無しさん:2011/02/07(月) 04:31:23
>>274
http://codepad.org/rOdSDD97
1.ファイル名は固定にしている。 コマンドライン入力がよければ変更する。
 (コマンドライン入力習った?)
2.構造体だがdata1.txtとdata2.txtを一つにまとめた。
 分けた方がいいなら分ける。
3.構造体は配列にしたが構造体をmallocで確保し、でリスト構造にしたいならやる。
(malloc習った?)

コードが汚いのは申し訳ないがべったりと初心者的に作ってみた。
306302:2011/02/07(月) 05:21:19
>>304
ありゃま。単純に2点間の距離を測ってソートすればよかったのかしら・_・;

ところで、そもそも new の必要がなかったことに気づいた
無駄骨になっちゃったけど、一応そこも含めて修正・3・;
http://codepad.org/mNWmLXDT
307デフォルトの名無しさん:2011/02/07(月) 06:30:05
>>272
ttp://codepad.org/w4lDZanz
全部 float で良いのかな?
高度と気圧と温度はそれらしい数字が出てるから良いみたい
latitude と longitude って何だろう?
そいつらには何箇所か32768というどっかで見たような数字が入ってるけど、これは計測エラーなのかな?

308デフォルトの名無しさん:2011/02/07(月) 06:41:23
期限切れてるけど>>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日間ほど
よろしくお願いします 穴埋めです

310デフォルトの名無しさん:2011/02/07(月) 08:31:11
>=
<=
||
'A'
'Z'

番号順
311デフォルトの名無しさん:2011/02/07(月) 08:32:35
不等号違うな


&&
’A'
’Z'
だわ
312デフォルトの名無しさん:2011/02/07(月) 08:50:04
>>308
問題は持ってないけどデータファイルは有るよ
ttp://codepad.org/poUfZlvM

県名,県[0]との距離、県[1]との距離.....県[46]との距離
....

みたいなフォーマットのファイルを読んで、入力された2つの県間最短距離とその経路を表示するって問題
データファイル中 -1 になってるのは隣接していない事を表す
データファイルは以下の問題点が有る糞データだよ
・対角成分(県[i] と 県[i] の距離)が0では無い部分が有る
・対称ではない(県[i]-県[j] の距離 != 県[j]-県[i] の距離)部分が有る
・東京と群馬が隣接してたりする実際の地図とは異なる構造の部分が有る

出力の制約として経路数が8以上の場合は出力しないってのが有って、これの完全な解決は為されていない
例えば8経路で最短経路が有った場合に最短経路ではないけど7経路以下の経路が有った場合にその経路を解と
するべきなんだけど、その手法が確立されてない(>>146 が追加で書いたみたいなんだけど、俺は動作確認していない)
なお、経路数には入力された2県も含む事として考えてきたけど、この点は問題に明記されてなかった気がする
313デフォルトの名無しさん:2011/02/07(月) 16:21:59
[1] 授業単元:プログラミング演習 2
[2] 問題文(含コード&リンク)
[3] 環境
@キーボードから学生番号と氏名の組をn個読み込み、ファイルに書き込む関数を作れ。ただし、nの値とファイル名は引数として取得するものとする。
A引数で取得したファイル名のファイルから同じく引数で取得した個数の学生番号と氏名のデータを構造体変数に格納し、学生番号順に表示する関数を作れ。
B以上で作成した関数を使用し、プログラムを完成せよ。ただし、nの値と使用するファイルの名前はプログラムの引数として与えられるものとする。
[3.1] OS: unix
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:2月7日
[5] その他の制限: なし
よろしくお願いします。
314デフォルトの名無しさん:2011/02/07(月) 16:33:07
経路数ってのは経路の数(解の数)ってこと?じゃない感じだね
経由した県の数のことだろうか
A-B-C-D-E-F-Hの7県にまたがる経路が距離100
A-B-C-J-K-E-F-Hの8県にまたがる経路が距離90
なら距離100の経路を選択するってことかね
315デフォルトの名無しさん:2011/02/07(月) 17:04:16
>>312
対称行列じゃないどころか行列として成立してないじゃねえか
46列の行と47列の行がありやがる
316272:2011/02/07(月) 18:11:21
>>307
ありがとうございます
32768は観測エラーの地点みたいです
latitudeは緯度でlongitudeは経度をXY座標系で表したのなので問題ない値です
317デフォルトの名無しさん:2011/02/07(月) 20:25:06
>>309
これがわからないのって、1000人にひとりぐらいじゃないか?
幼稚園児でもほとんどが、概念だけなら理解できるだろ

if ((*str < 'a' || *str > 'z') &&
(*str < 'A' || *str > 'Z')) sum++;
318デフォルトの名無しさん:2011/02/07(月) 20:29:07
>>308
問題自体はおもしろかったけど、出題者も出題された人もやる気ない
>>270で解けてるはず >>264 >>265がアルゴリズム
319デフォルトの名無しさん:2011/02/07(月) 20:38:50
【質問テンプレ】
[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
>>305
ありがとうございます
321デフォルトの名無しさん:2011/02/07(月) 21:53:38
>>319
@はx= "2+3+4+5+6=" 20の中身も表示すんの?
まぁそれ前提で
http://codepad.org/igeaiHuI
322デフォルトの名無しさん:2011/02/07(月) 22:17:23
>>321
早々に取り掛かってくれてありがとうございます。
しかし、begin_x=2等は例であり、そこに任意の数字を打ち込むと計算するプログラムにして頂きたいのです。
この場合、どこをいじれば、それができるのでしょうか…?すみません。
323デフォルトの名無しさん:2011/02/07(月) 22:18:13
>>322
29-32行目にある
てか本当に授業受けたの?
324デフォルトの名無しさん:2011/02/07(月) 22:20:30
>>323
受けました、が。読解は出来てないので・・・すみません。
その行をprintfとscanfでいじればできますかね?
325デフォルトの名無しさん:2011/02/07(月) 22:23:14
>>324
できる
やる気なら後は頑張ってね
326デフォルトの名無しさん:2011/02/07(月) 22:25:07
>>325
わかりました。出来る限りやってみます。
ありがとうございました。
327デフォルトの名無しさん:2011/02/07(月) 22:31:15
>>314
YES

>>315
俺に言われても....

>>316
緯度・経度なんて基本的な単語だな、言われれば思い出すのは老化の始まりか...
328デフォルトの名無しさん:2011/02/07(月) 22:35:29
今気づいたけど>>314にGが無いのは誰も突っ込まないのね
329319:2011/02/07(月) 22:44:41
すみません、>>321を基にいじろうとすると無限に計算される結果になってしまいます。
どなたか任意の数字を打ち込んで表示できるようにお願いします。
330デフォルトの名無しさん:2011/02/07(月) 22:52:54
>>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);

…何をすれば無限になるのかわからんわ
331デフォルトの名無しさん:2011/02/07(月) 22:53:58
自分のコード晒せよ
332デフォルトの名無しさん:2011/02/07(月) 22:54:47
>>329
俺321じゃないけど、なんで321に頼まないの

bx>exだったら交換すればいいだけじゃん、くそ頭悪いな
333デフォルトの名無しさん:2011/02/07(月) 22:56:36
ありがとうございました。勉強精進します…
334308:2011/02/08(火) 03:59:44
経由数に制限加えるってことで単純な深さ制限探索で書いてみた
http://codepad.org/wOb9ZcOx
(出題者はこの方法を想定していたんだと予想)

もう期限切れてるし答え出てるからファイル読み込みとか大分端折ってるけど
探索部分はしっかり書いた(つもり)
枝刈りしようかとも思ったけど時間と気力がない
#それゆえ同じ経路の堂々巡りとかあるけど結果はでるから許して
335デフォルトの名無しさん:2011/02/08(火) 18:14:36
ソースを見ていただきたいのですが、どなたかアップの方法を教えてくれませんか?
336デフォルトの名無しさん:2011/02/08(火) 18:16:19
すいません、テンプレにありましたね。失礼しました。
337デフォルトの名無しさん:2011/02/08(火) 18:27:01
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):次の書きこみにまとめます。
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C++
[4] 期限: 2011年2月9日
338デフォルトの名無しさん:2011/02/08(火) 18:29:46
地図データmap.dat に対して、出発点の交差点番号をキーボードから入力すると、
A. 隣接する交差点名と交差点番号および出発点からの距離をディスプレイに表示
する
B. 表示された交差点の中から次に進む交差点を選択できる
C. 選択された交差点に対して、A. の手順に戻り、順々に道案内する
プログラムを作成しなさい。手順A の距離は、出発点からの直線距離ではなく、
経路の累計移動距離を計算すること。また、プログラムを途中で終了させるコマ
ンドも用意すること。


という問題について次のようなソースを書いたのですが、これでは経路の累計移動距離が計算されないため、不十分だと言われました。
http://codepad.org/1hcQfHlM
地図データはこちらに上げてあります
http://www1.axfc.net/uploader/Sc/so/202935.dat
どこをどう直せばいいのか、どなたかお願いします
339デフォルトの名無しさん:2011/02/08(火) 19:02:25
>>338
ソース見ただけだけどこれc++じゃないじゃん
340デフォルトの名無しさん:2011/02/08(火) 19:13:08
こうやって C++ を Better C として使うプログラマが量産されていくのかな?
341 ◆A/.glBNgDKSk :2011/02/09(水) 00:04:01
[1] 授業単元:システム開発実習
[2] 問題文(含コード&リンク):問題分は下記 http://s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/img/39.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] 学習用C言語開発環境 Ver 0.0.8.1
 [3.3] 言語: C
[4] 期限: ([2010年02月10日13:00]
[5] その他の制限: 入門ソフトウェアシリーズ1 C言語 河西朝雄 をひととおり。

現在、システム開発実習として、自己参照構造体を用いた線形リストを使い、
予約システムのようなものをグループワークで作っています。

フローチャートを先生が用意し、それを元に設計、計画、開発を行う実習です。
フローチャートはA4で4枚、main関数、表示関数、追加関数、検索関数です。

自分は追加関数(void add_r)を選択しました。

以下ソースです。
http://s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/img/39.txt
で、質問の内容なのですが、while分を1つにまとめ昇順で登録するにはどうすればいいでしょうか。
342デフォルトの名無しさん:2011/02/09(水) 00:24:25
>>341
てゆうかなんでこんなことしてんの、whileのやり方を見るに、年、月、日でツリー構造みたいにして検索を速くしたいのかなとか思ったが
現在のデータ構造ならまったく速くならないし、最後のwhileだけでいいし
343デフォルトの名無しさん:2011/02/09(水) 00:27:03
とりあえず、構造体同士を比較する関数を作れ
そうして整数と同じに考えれば簡単だろ
344デフォルトの名無しさん:2011/02/09(水) 00:29:10
>>341
>fflush( stdin );

頼むからこれやめれ

VCの独自拡張で移植性がない
345デフォルトの名無しさん:2011/02/09(水) 01:47:21
>>341
こんなんでいい?

http://codepad.org/tJbTMmUR
346デフォルトの名無しさん:2011/02/09(水) 05:20:21
>>338
どう直せば良いかのアドバイスは難しいけど、題意を満たすソースはこんな感じ
コメントは君の為に敢えて割愛した(大嘘、面倒だっただけ)

ttp://codepad.org/LQyXJ4Yv
347 ◆A/.glBNgDKSk :2011/02/09(水) 07:43:04
>>342-346
まだ8時間もたっていないのにわざわざサンクス

考えてみる テラサンクス
348デフォルトの名無しさん:2011/02/09(水) 11:26:41
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] その他の制限:グローバル変数とダミーノードを使わない。
追加、削除、全体表示の動作を行うことができる住所録のプログラムをよろしくお長いします
352デフォルトの名無しさん:2011/02/09(水) 16:59:59
353デフォルトの名無しさん:2011/02/09(水) 21:40:47
[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問あります。
こんなギリギリにすみませんが、よろしくお願いします。
354デフォルトの名無しさん:2011/02/09(水) 23:41:27
>>353
上から【】の番号順
1)
complex
!=
||
0
flag

2)
char
*p
ninzu
account
!=
<
&p[i]
p[i++]
i = 0
p[i]
355353:2011/02/10(木) 00:40:26
>>354
ありがとうございます。

できれば(3)(4)もお願いします。
356353:2011/02/10(木) 11:00:39
どなたか>>353の(3)(4)をお願いします……12時ぐらいまでならギリギリなんとかなるんでどうか助けてください……
357デフォルトの名無しさん:2011/02/10(木) 11:15:50
>>756
そんなこと言われたら、いじわるしたくなっちゃうぞ♪
358デフォルトの名無しさん:2011/02/10(木) 11:17:53
番号を盛大に間違えた
359353:2011/02/10(木) 11:26:32
>>358
( °Д °)
( °Д °)
( °Д °)
( °Д °)
( °Д °)
360デフォルトの名無しさん:2011/02/10(木) 11:40:00
っていうかねー。問題文の
%calc - 5 + 10 + 100 + 10を実行すると95を表示する
ってのがどうやっても実現不能だしー。
だいたい、goto 使うは、if else を多用しているのに単文のあとに{}をつけないはで
読みにくいことこの上ない。どんだけトリッキーなプログラムなんだ^^;
361353:2011/02/10(木) 11:47:44
>>360
ぎやあああああ
%calc - 5 + 10 + 100 - 10
ですごめんなさいマジでごめんなさい
この様子だと他の文の中にもミスがありそう……
元の問題文をメモに書き写しただけで、問題文そのものは回収されてしまっていて、確認のしようがないです、申し訳ありません
ミスじゃなかった場合は教授のせいですごめんなさい
362デフォルトの名無しさん:2011/02/10(木) 11:56:02
>この様子だと他の文の中にもミスがありそう

よかった。どうやってもwhile以下の文が正常動作させられなかったんだ。
363353:2011/02/10(木) 12:03:17
申し訳ありません……。
(4)だけでもどうにかなりませんでしょうか……?
364353:2011/02/10(木) 12:10:00
連続ですみません
12:30までで、>>353の(3)(4)について「これかな?」という憶測で構わないので答えをいただけたらありがたいです。
図々しいのは承知の上ですが、どうかよろしくお願いします。
365デフォルトの名無しさん:2011/02/10(木) 12:10:18
void *array
で定義された配列をdouble型の配列にキャストしたいのですが
d_array[3] = *(double (*)[3])array;
としても
error: incompatible types in assignment
と出てしまいます。
何がおかしいでしょうか…
366デフォルトの名無しさん:2011/02/10(木) 12:12:30
>>364
どんだけー^^;
(3)
1
RET
[0]
'+'
i++
+=
'-'
-=
i
argc

(4)
argc
1
2
3
0
argv[1]
argv[2]
stderr
argv[1]
break
367353:2011/02/10(木) 12:23:44
>>366
本当にすみません本当にありがとうございます

>>354 >>366
お陰様でなんとか再試に望めそうです、本当にありがとうございました
368デフォルトの名無しさん:2011/02/10(木) 13:52:23
>>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;
}
369デフォルトの名無しさん:2011/02/10(木) 15:36:57
単純に配列型はキャストできないし、
何かを配列型にキャストすることもできないってだけだよ。

JIS X3010 p.63
>6.5.4 キャスト演算子
>(中略)
>制約 型名が void 型を指定する場合を除いて、型名はスカラ型の修飾版又は非修飾版を指定しなければならず、オペランドは、スカラ型をもたなければならない。
p.31
>算術型及びポインタ型を総称して、スカラ型と呼ぶ。配列型及び構造体型を総称して集成体型と呼ぶ。

さらにいうと配列型に代入することもできない。

p.71
>6.5.16 代入演算子
>(中略)
>制約 代入演算子の左オペランドは、変更可能な左辺値でなければならない。
p.38
>6.3.2.1 左辺値、配列および関数指示子 (中略)変更可能な左辺値(modifiable lvalue)とは、配列型をもたず、不完全型をもたず、const修飾型をもたない左辺値とし、
370デフォルトの名無しさん:2011/02/10(木) 16:02:15
>>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] その他の制限:特に無し

不明な点はご指摘ください。よろしくお願いします。
372デフォルトの名無しさん:2011/02/10(木) 20:37:40
>>371
春分の日と秋分の日は「1980年〜2099年」の間を指定した場合のみ表示で良いのか?
373デフォルトの名無しさん:2011/02/10(木) 22:42:04
>>352
ありがとうございます。

あとひとつお願いなのですが、プログラムにコメントを付けてもらえないでしょうか?
374デフォルトの名無しさん:2011/02/10(木) 22:44:00
コメントを依頼→コードすら読む気ねえよ
375デフォルトの名無しさん:2011/02/10(木) 23:05:10
プログラムの骨組み作るモチベーションが保てないぜ
376デフォルトの名無しさん:2011/02/11(金) 00:20:07
>>371
平成元年より前の天皇誕生日の扱いは?
377デフォルトの名無しさん:2011/02/11(金) 00:24:03
春分の日は、前の年に決めるんじゃなかった?
378デフォルトの名無しさん:2011/02/11(金) 01:35:58
>>277
>>278
そろそろやばいです。 どうか助けてください
379デフォルトの名無しさん:2011/02/11(金) 04:54:25
>>378
ttp://www1.axfc.net/uploader/File/so/58325

書き殴った。

久しぶりにCで書いたら面倒くさすぎワロタ。
ファイルの読み書きとか検索とか、エラー処理はてきとう。

ファイル読み書きの書式は

1行目: 氏名
2行目: 郵便番号
3行目: 住所
4行目: 電話番号
5行目: 区切り線

これの繰り返しで。空行とかは恐らくうまく解釈できない。
わかんなかったら先に適当にエントリ追加した状態で書きこんで、
吐き出されたファイルを空気読んで編集すべし。
380デフォルトの名無しさん:2011/02/11(金) 04:57:38
>>371
グレゴリウス歴(だっけ?)が採択される前とか
紀元前〜年とかも対応しなきゃだめなの?
381デフォルトの名無しさん:2011/02/11(金) 05:09:05
>>371
おれ様の生誕100周年と1000周年入れて良いか?
382379:2011/02/11(金) 05:25:04
>>378
いまソース眺めてみたら ask_load 関数の出力で
「未保存の既存データは...」みたいな出力してるけど、そのとおりに実装し忘れてた。
load(head, path) の手前で free_all(head) するか、もしくは「未保存の...」って文言を消すとつじつまが合う。
後者の場合には単に読み込んだデータを既存データに追加する挙動になる。

あと、linux 環境でしか動作チェックしてないから、もしかしたらコンパイルこけるかもなー。
383デフォルトの名無しさん:2011/02/11(金) 10:52:18
>久しぶりに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' : 値を
返さなければいけません
384デフォルトの名無しさん:2011/02/11(金) 11:37:54
どう見てもC++だと思うが
385383:2011/02/11(金) 12:08:34
>久しぶりにCで書いたら面倒くさすぎワロタ。
C++言語で書いてるだろ〜。
386379:2011/02/11(金) 18:30:07
>>378, >>383-385
C++ 環境でコンパイルしました。サーセンwww

「C のヘッダ使って C++ で書いた」みたいな変なコードになってたから
gcc に -ansi 付けてコンパイル通るように直したよ。
ついでに ask_load も直した。

ttp://www1.axfc.net/uploader/File/so/58351.c

C っぽく書くときも基本 C++ 環境で書いてしまっていたから
C と C++ の違いとかあんま気にしてなかったw 勉強になったわ。
387デフォルトの名無しさん:2011/02/11(金) 18:36:18
×
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;

ってことか
388デフォルトの名無しさん:2011/02/11(金) 18:45:40
初心者の私が思ったのは
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

みなさんありがとうございました。
多少の修正が必要ということで突っぱねられましたが、
減点にはならず、とりあえず月曜まで延長してもらえることになりました。
後は自分で頑張ってみます。
390デフォルトの名無しさん:2011/02/12(土) 04:57:24
 独学でプログラミング学んでるんだが
猫でもわかるシリーズの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
393デフォルトの名無しさん:2011/02/13(日) 18:41:17
誰かやってやれよ

あ、これ自演じゃないですよ。多分
394デフォルトの名無しさん:2011/02/13(日) 18:54:49
395 ◆QZaw55cn4c :2011/02/13(日) 22:04:12
>>392
>隣り合う頂点
p[i] のとなりは p[i - 1] または p[i + 1]、と機械的に考えていいでしょうか?
また、点がN個あり、i= 0〜N+1 のとき、p[0] と p[N - 1] は隣り合うとしなければならないでしょうか?

> 2頂点を中点に置き換えて移動を続ける。
考える点が減る、ということでいいでしょうか?
396デフォルトの名無しさん:2011/02/13(日) 22:33:13
天才コテきたー!

>p[i]^(t+1)-p[i]^t=a(p[i+1]^t-2p[i]^t+p[i-1]^t)
の ^ はCの規格どおり排他的論理和だと思う?
それともVBとかのべき乗だと思う? っていうか、これ、何のアルゴリズム?
397 ◆QZaw55cn4c :2011/02/13(日) 23:04:43
>>396
単にp[i][t] くらいの意味でしょうね。数学表記では二つ目の引数を上付き文字にすることもあると思います。
398デフォルトの名無しさん:2011/02/14(月) 01:57:15
>>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;

って事?プログラムを書くのは簡単だけど行列で記述するのは難しいな
399デフォルトの名無しさん:2011/02/14(月) 17:37:16
(1, -2, 1) って係数がラプラシアンを彷彿とさせるな
400 ◆QZaw55cn4c :2011/02/14(月) 21:22:38
>>392
http://codepad.org/WzIDHLdq
>>395 の方針で書きましたが、数学的にどんな意味を持つのかさっぱりわかりませんでした。
401デフォルトの名無しさん:2011/02/14(月) 21:38:32
数学的には、温度の変化じゃないか

部分部分によって温度ムラがある針金を放置しておいた場合の、温度の変化みたいな
402デフォルトの名無しさん:2011/02/14(月) 21:41:31
多角形の頂点でやってる意味はわからんが、
あと針金はループしてる
http://ja.wikipedia.org/wiki/%E7%86%B1%E4%BC%9D%E5%B0%8E
403デフォルトの名無しさん:2011/02/14(月) 21:52:01
>>400
エラー E2140 dai71.c 69: ここでは宣言はできない (関数 main )
エラー E2140 dai71.c 70: ここでは宣言はできない (関数 main )
エラー E2140 dai71.c 71: ここでは宣言はできない (関数 main )
*** 3 個のエラーがコンパイル中に発生しました ***

これはひどいですね

> [3.3] 言語:C

が見えなかったようで
404 ◆QZaw55cn4c :2011/02/14(月) 22:01:46
>>400
最近のCはこれでも通るんですよ。

>>403
bcc32 でもコンパイルができるように訂正します。
http://codepad.org/C7Wk5TXG
405404 ◆QZaw55cn4c :2011/02/14(月) 22:03:39
アンカーが間違っていましたので訂正します。

>>403
最近のCはこれでも通るんですよ。

>>392
bcc32 でもコンパイルができるように訂正します。
http://codepad.org/C7Wk5TXG
406デフォルトの名無しさん:2011/02/14(月) 22:06:52
>>405
最近のCって?
kwsk
407404 ◆QZaw55cn4c :2011/02/14(月) 22:15:20
>>406
C99 です。
codepad.org も gcc を C99 として使っているようで、だから、>>400 でもコンパイル時のエラーが表示されていません。

C99 の新仕様は、手近のここを参照しました。
http://seclan.dll.jp/c99d/c99d07.htm#dt19990927 の 7-7
権威のある規格を教えていただけるとうれしいです。
408デフォルトの名無しさん:2011/02/14(月) 22:16:37
>>407
へえーC99に完全準拠している処理系があったら教えて欲しい物です

Intel C++もgccもC99には部分準拠ですよ?
それにVCではCモードでコンパイルすると通りません
409デフォルトの名無しさん:2011/02/14(月) 22:18:21
>>407
http://gcc.gnu.org/c99status.html

こんな感じでLibrary IssueやMissingやBrokenが多い処理系をC99準拠だと言われるのですか?
410404 ◆QZaw55cn4c :2011/02/14(月) 22:18:45
>>408
完全準拠の処理系は確かにみたことがないですね。
411デフォルトの名無しさん:2011/02/14(月) 22:19:27
存在しなくても規格に通ればそれでいいのか
クソソースだな
412デフォルトの名無しさん:2011/02/14(月) 22:21:07
>>407

> [3.3] 言語:C

こう書いてあったらVCでも通るように書けよ
要するにC89で書けってこった
413デフォルトの名無しさん:2011/02/14(月) 22:21:49
C99を平気で使えるヤツって働いたことなさそうw
414デフォルトの名無しさん:2011/02/14(月) 22:22:32
だから◆QZaw55cn4cは無職なんだってw
415デフォルトの名無しさん:2011/02/14(月) 22:27:10
おまいら細かいだろ、
ここは学校の課題をこなすところだぞ
416デフォルトの名無しさん:2011/02/14(月) 22:27:56
>>415==◆QZaw55cn4c

通らないソースを呈示されても学生はかえって迷惑するだけなんですけど
417デフォルトの名無しさん:2011/02/14(月) 22:28:06
>>412
それは流石に言いがかり
難癖つけたい気持ちは分かるが>>392の環境がgccなんだからgccで通ればOK
やるなら、gccのver xxで動きませんとか言わないと

>[3] 環境
> [3.1] OS:Linux
> [3.2] コンパイラ名とバージョン:gcc
> [3.3] 言語:C
418デフォルトの名無しさん:2011/02/14(月) 22:29:38
>>417==◆QZaw55cn4c
419415:2011/02/14(月) 22:29:44
おれ、ちがうぞ。学生だし
420デフォルトの名無しさん:2011/02/14(月) 22:30:40
>>419==◆QZaw55cn4c
もうね、、、
421415:2011/02/14(月) 22:32:20
>>420==◆QZaw55cn4c
おこったぞー、やりかえしてやるー
422デフォルトの名無しさん:2011/02/14(月) 22:32:47
アホだこいつ
423デフォルトの名無しさん:2011/02/14(月) 22:33:59
コンパイラが明記してあるんだから、
それでエラーになるなら文句言えば?
424デフォルトの名無しさん:2011/02/14(月) 22:35:54
gccでも-ansiのオプションを付けたらどうなる?
425417:2011/02/14(月) 22:36:36
>>418
残念ながら、俺も違う
◆QZaw55cn4cを叩きたいのは分かるが、粘着してるお前も同類にしか見えない
てか、冒険の書ってむかつく。
426デフォルトの名無しさん:2011/02/14(月) 22:39:41
>>424
通らない理由が思い当たらない
427デフォルトの名無しさん:2011/02/14(月) 22:42:22
>>424
残念ながら通るね
428デフォルトの名無しさん:2011/02/14(月) 22:44:48
>>408
VCのCモードって何?
VS.NET2008使ってるけど、そんなオプション見当たらない…
VC6辺りだとあるの?
429デフォルトの名無しさん:2011/02/14(月) 22:46:18
拡張子のことじゃないの?
430デフォルトの名無しさん:2011/02/14(月) 22:47:22
◆QZaw55cn4cあまり興奮するとハゲあがった頭がますますハゲるぞw

>>426
-pedanticを付けると

..\Learn1.c:59:3: warning: ISO C90 forbids mixed declarations and code

やはり叱られますよ
431404 ◆QZaw55cn4c :2011/02/14(月) 22:49:07
>>411
申し訳ありませんが、>>400 は、gcc-4 で警告・エラーなしにコンパイルできます。
「今は存在しないC99(完全)準拠コンパイラでコンパイルできれば無問題」という主張は私はしていません。
>>407 で不用意に、「gcc を C99 として使っている」と書いたのが不正確だった、ただそれだけです。

>>408,409
遅ればせながら、ご指摘ありがとうございます。

>>412
>[3.2] コンパイラ名とバージョン:gcc
と書いてありますから、最近の gcc(gcc-3 か gcc-4) でコンパイルできる >>400 は、使用するコンパイラに関して >>392 の要求する要件を満たしていると考えていいでしょうね。
ただ、C89 でもコンパイルできたほうが望ましいという意見には同意しますので、bcc32 の出力結果を示して指摘いただければ、これまでも >>404 のように修正してきましたし、これからもそうするでしょう。
432デフォルトの名無しさん:2011/02/14(月) 22:50:35
>>428
コマンドラインも知らないのか
433デフォルトの名無しさん:2011/02/14(月) 22:51:51
コマンドラインがどうかしたのか?
434デフォルトの名無しさん:2011/02/14(月) 22:54:00
拡張子を.cにしてcl.exeに掛けてみろと言ってるんだよ
435デフォルトの名無しさん:2011/02/14(月) 22:55:44
コマンドラインしたら何がアウトするの?
436デフォルトの名無しさん:2011/02/14(月) 22:57:54
>>435
C++なら

> q = malloc(sizeof(struct data) * n);
> int i, j;

のように書いても通るが、

C89ではコンパイルエラーになる
437デフォルトの名無しさん:2011/02/14(月) 22:58:01
コマンドラインじゃないとダメなんですか?
438デフォルトの名無しさん:2011/02/14(月) 23:01:54
>>434
main()から始めるオプションが分からん
439デフォルトの名無しさん:2011/02/14(月) 23:05:48
>>437
そんなにIDEが好きならIDEでやれ

http://mailsrv.nara-edu.ac.jp/~asait/c_program/part1.htm
440デフォルトの名無しさん:2011/02/14(月) 23:14:16
普通に IDE からビルドしても、*.c なら C として、*.cpp なら C++ でコンパイル
するだろ。

変えたければ、詳細設定のコンパイル言語の選択で変更できるし。
(/TC で C, /TP で C++)
441デフォルトの名無しさん:2011/02/14(月) 23:15:18
なぜコマンドラインにこだわったんだろう
442デフォルトの名無しさん:2011/02/14(月) 23:19:47
話題逸らしに必死だな

>>404
>>>400
>最近のCはこれでも通るんですよ。

これにはまいったね
443デフォルトの名無しさん:2011/02/14(月) 23:29:10
Cの規格云々より flg なんて使うお粗末なコードにケチつける奴は居ないのか?
444 ◆QZaw55cn4c :2011/02/14(月) 23:32:29
>>443
それはお話をおききしたいものです。ぜひともよろしくお願いいたします。
445デフォルトの名無しさん:2011/02/14(月) 23:35:33
>>443
関数名や変数名は宿題だから気にならない
でも、関数の宣言を省略してるのはキモい
まぁ、コーディングスタイルは人それぞれだから…
446デフォルトの名無しさん:2011/02/14(月) 23:36:52
N+1世代分の領域を確保して、0世代目に初期値を入れる
ループを1〜Nまで回せば無駄な flg や条件分岐の無いシンプルなコードになるだろ
447 ◆QZaw55cn4c :2011/02/14(月) 23:37:16
>>445
>関数の宣言を省略してるのは
>>400 にそのような箇所がありましたでしょうか?
448 ◆QZaw55cn4c :2011/02/14(月) 23:43:02
>>446
flag は、
>>392
>A移動中に隣り合う頂点が、ある距離以下になった場合には、2頂点を中点に置き換えて移動を続ける。
かつ
>>395
>考える点が減る
を反映しています。

ある距離よりも小さくなった隣り合う二点が一つに退縮し、もう計算対象ではなくなった点(p[i]) に目印をつけるための flag でしたが、まあ円形のリストで表現する、という
手もあるでしょうし、考える余地はありますね。
ご意見ありがとうございました。
449デフォルトの名無しさん:2011/02/15(火) 00:00:03
C99といいC++といい、どうして規格合致しているコンパイラがひとつもないのだ^^
450デフォルトの名無しさん:2011/02/15(火) 00:03:06
>>449
無意味だからだろ
451デフォルトの名無しさん:2011/02/15(火) 00:04:22
>>449
C++はデファクトスタンダード化しているからいいとして、C99はないよと言いたい
452デフォルトの名無しさん:2011/02/15(火) 00:06:53
gccで通れば良いんじゃないの?
453デフォルトの名無しさん:2011/02/15(火) 00:07:21
>>447
関数の定義はあるけど、宣言は1つもないけど?
454デフォルトの名無しさん:2011/02/15(火) 00:11:25
>>452
それはわかったからさ、

>>404
>>>400
>最近のCはこれでも通るんですよ。

俺がC99を知らないとでも思ってるような馬鹿にした書き方が頭に来るんだよな
ISO/IEC 9899:1999とJIS X3010は持ってるんだ
455デフォルトの名無しさん:2011/02/15(火) 00:15:53
>>454
突っかかりすぎ
嫌いなら無視すれば良いだけ
456デフォルトの名無しさん:2011/02/15(火) 00:19:11
>>455
まあそうだな
◆QZaw55cn4cは根っからのアホだから真面目に相手をするとこちらが馬鹿を見るだけだ
というか◆QZaw55cn4cと同じレベルに落ちる
457デフォルトの名無しさん:2011/02/15(火) 00:20:36
>>453
下から上に(main() が最後になる)コードを書いてるとプロトタイプ宣言は書かなくなるよ
稀に再帰等でプロトタイプ宣言が必須になるケースは有るけど
458 ◆QZaw55cn4c :2011/02/15(火) 00:39:04
>>454
それはこちらとて同じこと。
>>392 でコンパイラを gcc と指定しているので、それに従っただけなのに、
bcc でエラーが出るからという理由だけで >>403 「これはひどいですね」「[3.3] 言語:Cがみえなかったようで」
と、まるで、コンパイルしていないコードを投げたか、c++ でコンパイルしたかのように書かれてしまいました。

C89 でも通るように書くほうがいい、という意見には同意しましたので、書き直しました。
C99 をお持ちとのことですが、持ってるだけじゃ意味がないと思いますよ。
459デフォルトの名無しさん:2011/02/15(火) 00:44:13
>>458
だめだなこいつは
コテであぼーんしないと
キチガイだ
460デフォルトの名無しさん:2011/02/15(火) 00:44:34
>>458
そういう風に返すなら、gcc以外の処理系も用意しておくべき。
たまたま依頼がgccだったからで、そうでない時は回答しない?

461 ◆QZaw55cn4c :2011/02/15(火) 00:58:12
>>460
少なくとも依頼者の指定するコンパイラでコンパイルしないことはない、と記憶しています。
bcc が指定されれば bcc で、 cl が指定されれば cl で確かめます。
以前、lsi-c を指定されたことがありましたが、それにも対応したことがあります。
http://pc12.2ch.net/test/read.cgi/tech/1260532772/10
http://pc12.2ch.net/test/read.cgi/tech/1260532772/203

指定されたコンパイラでコンパイルできる状況になければ、その旨断っているつもりです。
462デフォルトの名無しさん:2011/02/15(火) 00:59:13
そういえば、Intel CはC99に規格合致してるんだっけ?
463デフォルトの名無しさん:2011/02/15(火) 01:01:53
>>462
完全準拠と謳ってはいるけど、ライブラリの動作が規格から外れている部分がある
464デフォルトの名無しさん:2011/02/15(火) 01:02:56
>>460
自己正当化しかしない馬鹿は放っとけよ
465 ◆QZaw55cn4c :2011/02/15(火) 01:04:54
>>464
不当な評価に対しては、当然反論する権利はあるでしょう。
466デフォルトの名無しさん:2011/02/15(火) 01:06:13
>>465
お前にとっては「自分のプライドに触る評価」が不当な評価なのであって、
客観的に見てどうかというのは全く問題になってない

話の進め方がおかしい事ぐらい誰が見てもわかる
467デフォルトの名無しさん:2011/02/15(火) 01:07:25
ケアレスミスを指摘されて顔を赤くするのは子供だと思うな
468デフォルトの名無しさん:2011/02/15(火) 01:09:50
C99などと言い出した奴は誰だよ
469デフォルトの名無しさん:2011/02/15(火) 01:13:06
>最近のCはこれでも通るんですよ。
470デフォルトの名無しさん:2011/02/15(火) 01:13:35
>>463
あらま…やはり完全準拠のコンパイラは不在か。
471デフォルトの名無しさん:2011/02/15(火) 01:16:53
仕事でもないのに、他人の丸投げ宿題1つでそこまで必死に議論するお前らが理解できない
回答者がコンパイル通らないor意図した通りの実行結果が得られないって言ってるわけでもないのに

472デフォルトの名無しさん:2011/02/15(火) 01:18:10
oops!
>>471訂正
×回答者
○出題者
473379:2011/02/15(火) 01:19:50
やけにスレ進んでるなーと思ったら、なんだこの無用なやりとりは。
回答者同士の煽り合いとか、マジ誰得www

宿題投稿者と回答者の一対一で、場合によってそれに助言など適当にやるスレなんじゃないの
いちいち第三者が回答者に対して執拗に突っかかる必要性はなんだろう。
文句あるならソース出せって思うの俺だけ?w

まあこういったスレではコテ要らないと思いますけどね。
回答者の立場としては泊をつけたいんでしょうけれど...。

まあソース出していろいろ楽しめたので、俺は今回に限りレス番号付けて投稿しますよ。
みんなマターリいこうぜ!
474 ◆QZaw55cn4c :2011/02/15(火) 01:24:19
>>466
どこが客観的におかしいというのですか?
コンパイラとして gcc が指定された問題に対する回答として、gcc でコンパイルできるコードを提示したにも関わらず、
>>403 「これはひどいですね」「[3.3] 言語:Cがみえなかったようで」
という事実に反する言及は不当と感じましたが、それに問題があるとでも?

>>404
>最近のCはこれでも通るんですよ。
自体も、事実に反する表現ではありますまい。>>403 は bcc のメッセージであったことから嫌味は含ませましたが。

>>407
>codepad.org も gcc を C99 として使っているようで、
これは不正確だったことは認めています。
475デフォルトの名無しさん:2011/02/15(火) 01:31:22
基地外がファビョり始めたな
476デフォルトの名無しさん:2011/02/15(火) 01:33:14
このスレでも◆QZaw55cn4cは糞
477デフォルトの名無しさん:2011/02/15(火) 01:34:42
>>466の言ってる通りだな
478デフォルトの名無しさん:2011/02/15(火) 01:34:50
>>474
>>最近のCはこれでも通るんですよ。
>自体も、事実に反する表現ではありますまい

最近のVCで通るかな?
479デフォルトの名無しさん:2011/02/15(火) 01:36:23
>>478
VC2010でやってみるわ
480デフォルトの名無しさん:2011/02/15(火) 01:43:40
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' : 定義されていない識別子です。

〜省略〜

ビルドに失敗しました。

通りませんねえ
481デフォルトの名無しさん:2011/02/15(火) 01:47:14
アホだから書けば書くほど墓穴を掘る◆QZaw55cn4c
糞だな
482デフォルトの名無しさん:2011/02/15(火) 01:52:26
コンパイルに通るか否かでコードの評価をしてしまう頭の悪さ。
お前がプログラムを書く目的はコンパイルをすることかと。
コンパイルに通らなければ直せばいい。
483デフォルトの名無しさん:2011/02/15(火) 01:53:04
最初の指摘に対して
『C99でコンパイルしたから気づかなかったよ』って答えるのが大人、
『C99準拠で書いてます、キリっ』って反論するのが子供
484デフォルトの名無しさん:2011/02/15(火) 01:54:43
>>482==◆QZaw55cn4c
485デフォルトの名無しさん:2011/02/15(火) 01:58:41
こうして◆QZaw55cn4cはますますム板一の嫌われ者になっていくのであった
恐らくリアルでも嫌われ者で友達も彼女ももちろんいないだろう
486デフォルトの名無しさん:2011/02/15(火) 02:01:05
>>482=┐=◆QZaw55cn4c
┌──┘









│     _、_
│   ヽ( ,_ノ`)ノ 残念、それは私のおいなりさんだ
│  へノ   /
└→  ω  へノ
487デフォルトの名無しさん:2011/02/15(火) 02:01:47
>>485
それどころか無職のオッサンだから
488 ◆QZaw55cn4c :2011/02/15(火) 02:52:45
>>392
初期化していない変数を読み出すバグがありました。
以下に訂正いたします。
http://codepad.org/ANfdiuJI

>>478
>最近のVCで通るかな?
通りませんでした。上記のバグが発見されました。とりあえず、VCを入れるきっかけを下さった皆様に感謝です。
489デフォルトの名無しさん:2011/02/15(火) 03:12:01
初期化してない変数を読み出すという初歩的な糞を犯す◆QZaw55cn4c
490デフォルトの名無しさん:2011/02/15(火) 08:48:22
◆QZaw55cn4cが悪いとかいいとか言わないけど
荒れるから酉外してほしいね
491デフォルトの名無しさん:2011/02/15(火) 14:12:48
>>490
ここで商売しようとしてるので、止めないんじゃない?
492デフォルトの名無しさん:2011/02/15(火) 18:07:38
n = sizeof(p) / sizeof(struct data);
q = malloc(sizeof(struct data) * n); // 何でこんなことしてんの?
// q = malloc(sizeof(p)); // で良いんじゃね?
493デフォルトの名無しさん:2011/02/15(火) 18:16:51
バカだから
494デフォルトの名無しさん:2011/02/15(火) 18:18:24
変な使いまわしだな
後で要素数ループしたいので 要素数は別途保持しとくついでにこっちも使っちゃえ的な
495デフォルトの名無しさん:2011/02/15(火) 18:35:04
良くみると、qを動的に確保する意味もわからんな…
普通に考えれば、構造体を宣言して、p[5]とq[5]を用意すれば良いだけ…
もともと、qはループの中で作って開放してたのか?
496 ◆QZaw55cn4c :2011/02/15(火) 23:45:42
>>492
ご指摘感謝です。確かに私のはちょっとくどい。

>>495
>qを動的に確保する意味
struct data p[5]
としたくなかったからです。
struct data p[] = {
...
};
のなかに、好きなだけ座標データを定義するだけで、あとはよきにはからってくれるようにしたいと考えました。
データの数を変数 n にとったのもそのためです。
ああ、#define N 5 は余計でしたね。
497デフォルトの名無しさん:2011/02/16(水) 00:04:37
こんなレベルで商売を目論む◆QZaw55cn4c
498デフォルトの名無しさん:2011/02/16(水) 00:38:25
態度がでかいPGほどソースはこんなもんだよ
499デフォルトの名無しさん:2011/02/16(水) 00:39:12
PGじゃなく、アマチュアさんだろ
500デフォルトの名無しさん:2011/02/16(水) 00:49:13
char chr[3];
func(chr);

func(char* val)
{
   printf("%d", sizeof(val));
}

これって3?
501デフォルトの名無しさん:2011/02/16(水) 00:57:24
いいえ
502デフォルトの名無しさん:2011/02/16(水) 00:57:57
>>500
ポインタのサイズにならない?
503デフォルトの名無しさん:2011/02/16(水) 01:01:30
printf("%d", sizeof(*val));

じゃあこれで3?
504デフォルトの名無しさん:2011/02/16(水) 01:03:52
func(char* val,int len){
505デフォルトの名無しさん:2011/02/16(水) 01:03:57
1
506デフォルトの名無しさん:2011/02/16(水) 01:04:17
valのみから3を導き出すことは難しい
507デフォルトの名無しさん:2011/02/16(水) 01:17:21
普通やらないってこと?
508デフォルトの名無しさん:2011/02/16(水) 01:18:46
mallocして、後に確保した値を調べようとするようなもの
509デフォルトの名無しさん:2011/02/16(水) 01:20:51
なるほど
510デフォルトの名無しさん:2011/02/16(水) 01:22:11
なるほど?理解できたのか?
511デフォルトの名無しさん:2011/02/16(水) 01:23:07
できたできた
512デフォルトの名無しさん:2011/02/16(水) 01:23:54
説明してみろ
513デフォルトの名無しさん:2011/02/16(水) 01:25:35
#define sz 3
char chr[sz];

中略

printf("%d", sizeof(sz));

こういうことでしょ?
514デフォルトの名無しさん:2011/02/16(水) 01:26:29
なにが?
515デフォルトの名無しさん:2011/02/16(水) 01:48:25
sizeof(sz) って int 変数のサイズにならないか?
516デフォルトの名無しさん:2011/02/16(水) 02:02:57
delphiの動的配列みたいにしないと
517デフォルトの名無しさん:2011/02/16(水) 05:28:30
>>515
それを後輩がやって笑い話になったぉ
518デフォルトの名無しさん:2011/02/16(水) 06:44:04
[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法をプログラムを作ってシミュレーションせよという課題です。
可達行列までは求めることが出来たのですがその後の行列の変形や
要素レベル分割が上手くいきませんでした。
期限には間に合いそうにないので無期限でお願いします。
519デフォルトの名無しさん:2011/02/16(水) 12:06:23
>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;
}
521520: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;
}
522デフォルトの名無しさん:2011/02/16(水) 13:46:46
523デフォルトの名無しさん:2011/02/16(水) 13:48:36
>>521
頭悪いな。それに、ようです・・・、とはなんだ。自分のことなのに
524520:2011/02/16(水) 14:17:40
>>522
変数名はよくて、むしろ値を文字列化するほうが分からないのです。
>>523
マクロよく知らないので・・・。
const int A=1;
のほうの値を
const string id="1";
として取り出す方法が分かってないです。

#define B 3
の方は型がないから普通に通るけど。
525デフォルトの名無しさん:2011/02/16(水) 14:19:37
>>524
オーバーロードした関数たくさん用意すれば
string henkan(int a);
string henkan(double a);
・・・
みたいに
526520:2011/02/16(水) 14:24:48
>>525
それはアリですね。ありがとうございます。
527520:2011/02/16(水) 14:27:15
いや、やっぱ定数文字列にhenkanの結果を戻すのは無理でなかろうか?
528デフォルトの名無しさん:2011/02/16(水) 14:37:21
定数にしなければよくない?
代入したくないんだったら、関数しちゃえば
529520: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
[1] 授業単元: C言語
[2] 問題文: http://www1.axfc.net/uploader/Sc/so/205691  パス(0099)
[3] 環境
 [3.1] OS: Windows
 [3.2]コンパイラ名とバージョン:visual studio (多分)
 [3.3] 言語: C
[4] 期限: 2月18日、21日まで
[5] その他の制限:初歩、ポインタ、ユーザー関数
どうかよろしくお願いします。
531デフォルトの名無しさん:2011/02/16(水) 17:06:47
>>530
穴埋めサービス問題ばかりじゃないか・・・。
コード書かせてもらえない宿題とかやりたくない。
532デフォルトの名無しさん:2011/02/16(水) 18:11:10
>>531
Cソースコードは無視すれば良いと思うよ
ちらっと見たら3は内容が異なるし4は無い
533デフォルトの名無しさん:2011/02/16(水) 18:26:41
>>529
もう一息

#define str(s) henkan(s, #s)
string henkan(T x, string s)
534デフォルトの名無しさん:2011/02/16(水) 20:16:13
[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デフォルトの名無しさん:2011/02/16(水) 21:38:02
すいません、ペペロンチーノの作り方を教えてください
536デフォルトの名無しさん:2011/02/16(水) 21:47:58
>>535
環境書け
537デフォルトの名無しさん:2011/02/16(水) 21:50:57
538デフォルトの名無しさん:2011/02/16(水) 22:13:32
まずは服を脱ぎます
539デフォルトの名無しさん:2011/02/16(水) 22:22:18
>>536
ペペローンチーノ、知らない?
ttp://www.youtube.com/watch?v=yyKpcleAQnY
540デフォルトの名無しさん:2011/02/16(水) 23:00:11
脱いだ服をカバンに詰めます
541デフォルトの名無しさん:2011/02/16(水) 23:37:15
>>535
ペペロンチーノに必要なクラスまでは考えた。
残りの具体化は他の奴に任せる。

class peperoncino {
  public:
    pasta longPasta;
    spice garlic;
    oil oliveOil;
    spice redPepper;
    herb parsley;
    spice pepper;
    pickles anchovy;
}
542デフォルトの名無しさん:2011/02/16(水) 23:49:32
543デフォルトの名無しさん:2011/02/17(木) 06:50:02
>>542
あいむふぁいんせんきゅー
544520:2011/02/17(木) 08:00:45
>>533
参りました。見に来てよかった。
こういうことになってくると、やっぱ気持ち悪いですねぇ(笑
545デフォルトの名無しさん:2011/02/17(木) 12:19:44
>>544
値の内容は、動的だから、実行時に取り出すしかない。
変数名は、静的に取り出すしかないから、>>533みたいになる。
気持ち悪いのは、>>533で文字列を引っ張って来て、
呼び出し元で、毎回出力を書くからなので、
文字列を返すhenkan()関数をやめて、
debug_print()とかにして、そこで出力まで完結させればOK
546デフォルトの名無しさん:2011/02/18(金) 15:47:29
「文字型配列 str1 に "ABCDEFGHIJKLMNOPQRSTUVWXYZ" が格納されている。
ポインタ2つを用いて、文字型配列 str2 に、この文字列を逆運に格納するプログラムは?」


ポインタ2つ使う意味がわからない
547デフォルトの名無しさん:2011/02/18(金) 16:11:36
char *p, *q;
for (p = str1, q = str2; *p; p++, q++) *q = *p;

的な?
548デフォルトの名無しさん:2011/02/18(金) 16:12:21
アカン、逆順になってないしもうどうしようもない。
忘れてくれ。
549デフォルトの名無しさん:2011/02/18(金) 16:31:06
>>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 );

こんな感じに使えってことじゃね?
550デフォルトの名無しさん:2011/02/18(金) 16:38:21
逆運って?さかさウンコ?灰皿ウンコ?
551デフォルトの名無しさん:2011/02/18(金) 19:05:44
>>549
ありがとうございます
552デフォルトの名無しさん:2011/02/18(金) 20:21:51
文字列型配列ってstring[]じゃね?
553デフォルトの名無しさん:2011/02/18(金) 20:39:25
文字列なのか配列なのか
554デフォルトの名無しさん:2011/02/18(金) 22:16:11
*char[]だろ常考
555デフォルトの名無しさん:2011/02/18(金) 22:16:58
永遠なのか本当か
556デフォルトの名無しさん:2011/02/18(金) 22:33:50
時の流れは続くのか

ま、もともと文字型配列と書いてるし、>>552は誤読しただけ
557デフォルトの名無しさん:2011/02/19(土) 11:34:08

ポインタを用いて配列 a[101] の中に下記のような数字を格納してください

a[ 0 ] = 0
a[ 1 ] = 0 + 1
a[ 2 ] = 0 + 1 + 2
(中略)
a [ 100 ] = 0 + 1 + 2 + … + 99 + 100
558デフォルトの名無しさん:2011/02/19(土) 11:43:57
int a[10]={0},i,*p;
for(i=1,p=a;i<10;i++,p++){
 a[i]=*p+i;
}
559デフォルトの名無しさん:2011/02/19(土) 11:46:52
560デフォルトの名無しさん:2011/02/19(土) 11:53:30
arr[-1]ネタか
釣られてやれよ
561デフォルトの名無しさん:2011/02/19(土) 12:11:08
dim a(100)
for i = 1 to 100 step 1
a( i ) = a( i ) + a( i -1 )
next
562デフォルトの名無しさん:2011/02/19(土) 12:28:36
全部 0 のままじゃね?
563デフォルトの名無しさん:2011/02/19(土) 12:30:04
BASICインタプリタは優秀だから大丈夫
564デフォルトの名無しさん:2011/02/19(土) 14:19:58
http://codepad.org/jP4CQKdZ
削除と検索が出来るようにしてもらえないでしょうか?
565デフォルトの名無しさん:2011/02/19(土) 16:00:41
*nextの指す先を今まで指してたヤツの*nextに書き換える
見つかるまで*nextをループさせる

これくらい書けるだろここまで行ってたら
566デフォルトの名無しさん:2011/02/19(土) 16:27:02
>>564
codepad 上での修正なので動作確認はしていない
ttp://codepad.org/psBKh7Y6
567デフォルトの名無しさん:2011/02/19(土) 16:50:07
>>565

色々と書いてたらよくわからなくなってきまして……
568デフォルトの名無しさん:2011/02/19(土) 17:04:35
あるあるw

最初のうちは、思った以上に分解して、
細かい機能単位をクリクリにしておいて、
それを組み合わせていくのがいいよ。
569デフォルトの名無しさん:2011/02/19(土) 18:29:16
1バイトの変数の下位4bitに符号付き4bit整数が格納されているのですが、
これをint型に変換する方法をお願いします。
570デフォルトの名無しさん:2011/02/19(土) 18:32:21
補足、パックされている符号付き4bit整数は2の補数?で表現されています。
571デフォルトの名無しさん:2011/02/19(土) 18:34:47
http://codepad.org/Dc6LY5cV
このプログラムをSSE2かグラフィックボードで高速化しなさいという
課題が出てます。全然わかりません。
よろしくお願いします。
572デフォルトの名無しさん:2011/02/19(土) 18:36:45
>>571
なんでマルチポストするのん?
【C++】高速化手法【SSE】
http://hibari.2ch.net/test/read.cgi/tech/1130349336/575
573デフォルトの名無しさん:2011/02/19(土) 18:47:28
どこなら答えてもらえるか解らないから。
574デフォルトの名無しさん:2011/02/19(土) 19:50:36.58
なんでドヤ顔なのw
575デフォルトの名無しさん:2011/02/19(土) 20:06:30.12
マルチポストに気づかれると答えてもらえる確率はさがるのにな
576デフォルトの名無しさん:2011/02/19(土) 21:41:34.34
>>569
符号付4ビット整数って事は -8 〜 7 って事?
( val & 0x0F ) - 8 じゃダメ?
577デフォルトの名無しさん:2011/02/19(土) 22:29:25.70
>>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] その他の制限: 特になし
よろしくお願いします。
579デフォルトの名無しさん:2011/02/20(日) 00:44:03.91
>>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]期限:無期限
581580: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);
}
}
582580: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
というエラーが出ます。何が原因でエラーになっているのかわかりません。
何故エラーになるのか、どういうふうにすればエラーが直るのか教えてほしいです。
583デフォルトの名無しさん:2011/02/20(日) 01:00:48.93
tanto_t[1000] → tanto_t[1000][100]
でとりあえずエラーは消える
584デフォルトの名無しさん:2011/02/20(日) 02:13:37.74
[1] 授業単元:制作課題
[2] 問題文(含コード&リンク):PICとのシリアル通信
[3] 環境
 [3.1] OS:Windows
 [3.2] VC 6.0
 [3.3] 言語:C++
[4] 期限:無制限
[5] その他の制限:無し
マイコンにUSARTで通信したいのですが、サンプルを探してみてもC#やVB
の例が多く困っています。createfileやwritefileでどうしてもエラーが出てしまうんです。

585デフォルトの名無しさん:2011/02/20(日) 02:30:50.89
カレンダーの課題を出さないと麻呂のクソースをお見舞いしてやるでおじゃるよ?
586デフォルトの名無しさん:2011/02/20(日) 10:16:04.04
>>584
> createfileやwritefileでどうしてもエラーが出てしまうんです。

エラーの出るコードとエラーの内容書いてよ。
587デフォルトの名無しさん:2011/02/20(日) 11:44:03.93
588デフォルトの名無しさん:2011/02/20(日) 15:08:02.94
>>582
そこまでできてるならパラメーターが間違ってるだけだと思う

http://0n0.fc2web.com/bcc/ser/com01.html
シリアルポートの開閉
589578: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
591578:2011/02/20(日) 18:25:06.06
>>590
ありがとうございます!!
すごいなぁ。。。
592デフォルトの名無しさん:2011/02/20(日) 20:04:01.77
>>591
これって課題じゃないでしょ…
すごいなぁじゃねえよ
593デフォルトの名無しさん:2011/02/20(日) 21:58:11.22
>>592
??
594デフォルトの名無しさん:2011/02/20(日) 22:08:28.41
>>592
??
595デフォルトの名無しさん:2011/02/21(月) 00:02:50.98
perlでのprint pack("H*","938c8b9e"),"\n";は、東京と表示される。
これをC言語で実装したいが、分かりません。
宜しく、お願いします。
596デフォルトの名無しさん:2011/02/21(月) 00:07:16.13
>>595
"H*"が前提なら楽勝だけど、pack()そのままが必要だと面倒
597デフォルトの名無しさん:2011/02/21(月) 02:02:58.83
>>593-594
>>589
> [4] 期限: [無期限]
598デフォルトの名無しさん:2011/02/21(月) 02:19:18.97
>>597
期限がない=課題じゃない→感想を言ってはいけない?
599デフォルトの名無しさん:2011/02/21(月) 02:33:06.65
>>597
自分に課する問題だって課題でしょ
600デフォルトの名無しさん:2011/02/21(月) 04:22:07.88
596さんへ、早速の解答有難うございます。
H*を前提です。
pack()は、そのまま必要です。

そのままが必要だと面倒だと言う部分が
私には、さっぱり分かりません。

宜しくお願いします。

601デフォルトの名無しさん:2011/02/21(月) 08:35:21.66
>>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;
}
602デフォルトの名無しさん:2011/02/21(月) 08:43:24.94
eval_pv("$s = pack('H*','938c8b9e');",TRUE);
printf("$s = %s\n", SvPV_nolen(get_sv("s",0)));
>>600
> そのままが必要だと面倒だと言う部分が
> 私には、さっぱり分かりません。

H* 前提でなければこの仕様を全部実現しろって話になるわけで、
ttp://homepage2.nifty.com/Catra/memo/perl_pack.html
そりゃ面倒だと思うよ。
604デフォルトの名無しさん:2011/02/21(月) 12:32:30.21
>>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';
}
605デフォルトの名無しさん:2011/02/21(月) 12:34:04.37
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';
}
606デフォルトの名無しさん:2011/02/21(月) 12:34:34.10
- 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さん、その辺を宜しくお願いします。
608デフォルトの名無しさん:2011/02/21(月) 22:46:21.57
>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
609デフォルトの名無しさん:2011/02/21(月) 22:53:39.24
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] その他の制限: 初心者で現在条件分岐までならっているのですがこの問題はは
初心者には難しいでしょうか?よろしくお願いします。
611デフォルトの名無しさん:2011/02/22(火) 03:00:56.83
>>610
条件分岐までしか進んでないのにファイル入力や二次元配列 or 構造体配列が必要な宿題を出すのか?
もし自分の独習用なら少し早いかも知れないね
まぁ調べながらコードを書くのは良い勉強になるからダメもとで書いてみるのは良いと思うけど
612デフォルトの名無しさん:2011/02/22(火) 04:28:48.10
foo.exe << bar.txt
のようにすればcinでもいいので
そういうのを想定してるのかもよ
613デフォルトの名無しさん:2011/02/22(火) 06:24:40.43
>>607
おい>>606
614デフォルトの名無しさん:2011/02/23(水) 00:31:36.29
そのままでは、エラーになるので、多分ライブラリーが無いと思われるのだが。
下記で、調べようと思って、下記のコマンドを実行したら、下記のメッセージが出た。

これは、何を意味しているのだろうか。ヘッダーファイルが無いと言う事なのだろうか。
バージョンは確かにこの通りに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

615デフォルトの名無しさん:2011/02/23(水) 02:32:44.38
616デフォルトの名無しさん:2011/02/23(水) 02:50:56.98
そのperlコマンドを実行し、コンパイル時にそれらのリンカオプションをつけてみろってことなんでないのかな
617デフォルトの名無しさん:2011/02/23(水) 02:58:11.57
>>614
良く分からんが、perlをコンパイルすると、perlライブラリが出来るらしい
で、そのコマンドは出来上がったライブラリがどこにあるか調べるコマンドだって
618デフォルトの名無しさん:2011/02/23(水) 23:08:49.94
シリアル通信の質問したものですが学校の制限のせいでAPIが制限されていただけのようです
課題は何とかなりそうです。リンクを張ってくれた方ありがとうございます
ところで制限のかかったアカウントで管理者のユーザーとして立ち上げたVisual studioで作ったプログラムから
管理者権限でプログラムを起動するのは可能ですか?
素人なのでよくわかりません。
619デフォルトの名無しさん:2011/02/24(木) 01:55:30.70
環境に依存しなさそうな方法が、ショートカットを作って管理者権限を要求するように設定する方法
Vista以降ならシールドアイコンつける
620 ◆tr.t4dJfuU :2011/02/25(金) 23:12:18.56
[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] その他の制限: 特にないと思います。お手数かけますがどなたかお願いします。
621デフォルトの名無しさん:2011/02/25(金) 23:16:41.12
イカソースがないじゃないか
622 ◆tr.t4dJfuU :2011/02/25(金) 23:18:53.10
ソースはこちらになります。
#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;
}
623 ◆tr.t4dJfuU :2011/02/25(金) 23:21:27.11
じ、字下げが反映されてない・・・orz
字下げはちゃんとされてる設定です!
624デフォルトの名無しさん:2011/02/25(金) 23:27:00.93
     
625デフォルトの名無しさん:2011/02/25(金) 23:31:40.14
>>622
いくら宿題だとはいえ、こんなソース見た瞬間に0から書き直すことを考える。
一応書いておくと8箇所か9箇所かな…
626デフォルトの名無しさん:2011/02/25(金) 23:37:37.94
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行目。= は不要
627 ◆tr.t4dJfuU :2011/02/25(金) 23:47:06.88
>>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;
}

628 ◆tr.t4dJfuU :2011/02/25(金) 23:50:40.95
何故さがらない・・・・orz
629 ◆tr.t4dJfuU :2011/02/25(金) 23:54:18.35
>>626
ありがとうございます。
12行目は自分の打ち込みミスでした・・・
ほんとすいません。
凄く助かりました。
630デフォルトの名無しさん:2011/02/26(土) 00:18:38.24
>for (i=0; i<=9; i++)
マジックナンバー (・A・)イクナイ!
for (i=0;i<sizeof(number)/sizeof(number[0]);i++)
631デフォルトの名無しさん:2011/02/26(土) 00:21:56.36
ループで毎回計算させるのもイクナイ!
632デフォルトの名無しさん:2011/02/26(土) 00:27:10.77
>>631
嘘つけ、コンパイル時に定数決定される。あれ?もしかすると釣りか?
633デフォルトの名無しさん:2011/02/26(土) 00:36:55.58
まぁ、マジックナンバーは「誤っている」とまでは言えないわな。
sum(int arg1, int arg2) も返却値の型 int を明示すべきだが
規格ではエラーではない(ここでは int と推測されてプロトタイプに一致する)。
634デフォルトの名無しさん:2011/02/26(土) 00:56:22.77
2行目が何気に変わってるのも釣りなのかな…?
>int sum(int arg1, arg2)
635デフォルトの名無しさん:2011/02/26(土) 01:15:28.60
何気に
kekka = sum(kekka,number[i-1]);

for (i=1; i<=10; i++)
は正しいのかも知れない…
636デフォルトの名無しさん:2011/02/26(土) 01:19:11.74
>>628
以前はダメだったんだけど、最近は tab インデントは下がるはずだよ
空白でインデントしていないかい?
もしくは専ブラとかが関係してるのかな?
637デフォルトの名無しさん:2011/02/26(土) 01:24:23.85
#include<stdio.h>

int main() {
printf( "%s\n", ">>636 そうなのか?" );
return 0;
}
638デフォルトの名無しさん:2011/02/26(土) 01:29:34.01
駄目じゃん
639 ◆tr.t4dJfuU :2011/02/26(土) 01:31:02.23
>>635
ああ!2行目も打ち間違えてた・・・orz
正式には
int sum(int arg1,int arg2)
です。
>>636
tabキーですか!
一回目の書き込みは専ブラからで
二回目は直で書き込んだんですけど
どちらも駄目で焦りましたw
640デフォルトの名無しさん:2011/02/26(土) 02:26:40.27
>>639
アンカーも間違ってるみたいだけど気にするなwww
641 ◆tr.t4dJfuU :2011/02/26(土) 02:51:21.10
>>640
hahaha...
もう駄目ですねwww
死んだほうがいい俺wwww
642デフォルトの名無しさん:2011/02/26(土) 04:05:11.40
#include <stdio.h>
int main( void )
{
    printf( "下がってない?\n" );
}
643642:2011/02/26(土) 04:07:28.19
エディターで書いてコピペすれば下がるみたい
ちなみにギコナビ使ってる、ギコナビだと直打ちするにも tab が入らない
644デフォルトの名無しさん:2011/02/26(土) 04:13:52.54
>>643
それギコナビがtabを&nbsp;×4に置き換えてくれてるだけでは無かろうか?
645デフォルトの名無しさん:2011/02/26(土) 05:43:03.25
>>644
どうやらそうみたいだね、今 chrome で同じ事しようとしたら確認画面の段階でダメだったよ
以前はギコナビでもダメだった記憶が有るんだけど、バージョンアップしたっけか?
ちなみに現在はバタ61です
646デフォルトの名無しさん:2011/02/27(日) 12:36:52.75
[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 から浮動小数点データを読み込み、線形リストを作成する処理部分を記述せよ。
647646:2011/02/27(日) 12:41:01.03
よろしくお願いします。
お手上げです。
648デフォルトの名無しさん:2011/02/27(日) 13:35:43.44
649646:2011/02/27(日) 14:03:21.01
>>648
ありがとうございます
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は使用しない

敵の作成と当たり判定で詰んでます・・・
よろしくお願いします。
651デフォルトの名無しさん:2011/03/03(木) 15:05:44.22
>>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日
653652:2011/03/03(木) 21:12:12.11
連続post申し訳ないです。。。
連立多元一次方程式の解法は種々ありますが、この形は初めてで手がつけられません。よろしくお願いします。
654デフォルトの名無しさん:2011/03/03(木) 21:15:44.14
四元数の計算ルーチンが揃ってるんだからガウス法か掃き出し法ですぐ解けるだろ
655デフォルトの名無しさん:2011/03/03(木) 21:28:14.21
交換法則が成り立たない場合があるのでそれだけ気を付ければいいみたいだな
656デフォルトの名無しさん:2011/03/03(木) 21:58:17.67
[1] 授業単元: C言語プログラミング
[2] 問題文
  任意の正の実数同士の割り算を30ケタまで正確に出力するプログラムを作成せよ。
  例 1/3=0.3333333333333・・・・・333
[3] 環境
 [3.1]Windows7
 [3.2]gcc
 [3.3]C言語
[4]明日のAM7:00
[5] その他の制限:なし
657デフォルトの名無しさん:2011/03/03(木) 22:25:45.42
>>656

>任意の正の実数
何億桁とかもおkなの?

>30ケタまで正確に出力するプログラム
小数点以下30桁?値全体の桁が30?まさか小数点を抜くと29桁ってこと?
658デフォルトの名無しさん:2011/03/03(木) 22:33:19.89
>>657
すいません、情報が少なすぎました。
任意の実数、そうですね、0<x<10000程度でお願いします。

30桁とは、小数点以下が30桁です。

おねがいします
659デフォルトの名無しさん:2011/03/03(木) 22:33:35.62
>>656
整数じゃなくて実数?
表現方法は?
660デフォルトの名無しさん:2011/03/03(木) 22:40:05.41
>>659
じゃぁ実数はint型でお願いします。
34/4

1000/23

みたいな感じの出力が知りたい。

とにかく知りたいのが出力なんで・・・
661デフォルトの名無しさん:2011/03/03(木) 22:44:27.75
Cスレで騒いでるキチガイか
相手すんな
662デフォルトの名無しさん:2011/03/03(木) 23:08:28.21
>>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;
}
こんな感じ?
入力を実数にするのはちょっと面倒だな
663662: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 );
}

に直してちょ
664デフォルトの名無しさん:2011/03/04(金) 00:24:11.28
>>662
やっぱり技巧でするんですか・・・

割り算じゃなくて、例えば
int 型だと

9000から1ずつ増やしていったら、9001・・・9997・・・9998・・・9999 10000
とちゃんと正確に出ますよね?

なのに、なんでfloatは

1.0000にならないといけないのに、0.9989とかなるんですか?
665デフォルトの名無しさん:2011/03/04(金) 00:24:30.59
>>651
円で考えてやったら出来ました!
ありがとうございました。
666デフォルトの名無しさん:2011/03/04(金) 00:43:51.82
>>664
技巧の意味は解らんが有効数字30桁を扱える型が無い以上、あんな方法しか無いだろう

1.0 が 0.9989 にはならんだろ、釣りか?
667デフォルトの名無しさん:2011/03/04(金) 00:48:24.82
>>666
桁の違う数値の足し算をしたと思われる
668デフォルトの名無しさん:2011/03/04(金) 01:08:33.04
相手にすんなって警告したのに
669デフォルトの名無しさん:2011/03/04(金) 01:18:47.78
浮動小数点型の丸め誤差と桁落ちについて調べなおしたほうがいい
670デフォルトの名無しさん:2011/03/04(金) 01:50:07.06
プログラミング以前の常識だと思うんだけど間違いなのかな
671デフォルトの名無しさん:2011/03/04(金) 02:07:50.17
そりゃ宿題スレで質問するぐらいなんだから初心者なんでしょ。
初心者の質問を気違いだと捨てる人の度量のなさに驚くわ。
もしくは答えられないのか。
672デフォルトの名無しさん:2011/03/04(金) 02:18:44.12
あんたが答えてやれよwww
673デフォルトの名無しさん:2011/03/04(金) 02:55:46.65
もう答えられてるじゃん。どうしたの?
674デフォルトの名無しさん:2011/03/04(金) 07:34:43.35
>>656
時間切れだよ〜♪

http://codepad.org/gA1zB7VU
675デフォルトの名無しさん:2011/03/04(金) 22:10:16.22
>>656
こんなん1桁づつ計算したらいいだけじゃん
676デフォルトの名無しさん:2011/03/04(金) 22:14:35.04
今 codepad.org 繋がる?
677デフォルトの名無しさん:2011/03/04(金) 23:49:36.47
>最終的には高速フーリエ変換等の高速化が必須となる。
はいはい博識乙^^
678デフォルトの名無しさん:2011/03/05(土) 02:17:54.67
博識?ユニバーサルメルカトルをつかうのが常識じゃないか?
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が表示されていく感じです

よろしくお願いします。
680デフォルトの名無しさん:2011/03/06(日) 07:23:09.69
>>679
int i;
for(i=30;i>=0;i--){
system("cls");
printf("%d",i);
WAIT(1000);
}
681デフォルトの名無しさん:2011/03/06(日) 12:46:19.57
>>680ナイキストさんに謝れ!
682デフォルトの名無しさん:2011/03/07(月) 00:50:30.17
>>679
Visual Studio 2007なんて見たことないから、
動作確認できないが、基本的にWindows系ならこれでOK

int main() {
  int i;
  for( i = 30 ; i >= 0 ; i-- ){
    printf( "%2d\r", i );
    WAIT(1000);
  }
  return 0;
}
683682:2011/03/07(月) 00:53:37.22
タイマー処理で誤差が大きくならない仕様に汁って話なら正しいコンパイラを
684デフォルトの名無しさん:2011/03/07(月) 00:56:32.81
誤差ならWAITを先にしたほうがいいんじゃね
って思ったけどたいした差じゃないか
685デフォルトの名無しさん:2011/03/07(月) 00:56:48.02
正しいコンパイラって?
686デフォルトの名無しさん:2011/03/07(月) 01:04:37.89
>>685
> [3.2] コンパイラ名とバージョン:Visualstudio2007
2007なんてあるのか?
687デフォルトの名無しさん:2011/03/07(月) 03:24:57.65
2005または2008で書いたらどうなるわけ?
688デフォルトの名無しさん:2011/03/07(月) 04:08:07.10
1900とか2100とか書いたらどうなるの?
年代物の価値が出る?
689デフォルトの名無しさん:2011/03/07(月) 05:07:22.12
クロックが可変な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;
}
690デフォルトの名無しさん:2011/03/07(月) 05:25:16.22
それは正しいコンパイラですか?
691デフォルトの名無しさん:2011/03/07(月) 06:28:42.54
いいえ、それはトムです
692デフォルトの名無しさん:2011/03/07(月) 06:41:24.38
はい、インテル入ってます
693デフォルトの名無しさん:2011/03/07(月) 13:37:40.19
>>689
なぜ素直に clock() を使わない
694デフォルトの名無しさん:2011/03/07(月) 13:38:24.81
精度がワロス
695デフォルトの名無しさん:2011/03/07(月) 15:44:27.50
>>693
> QueryPerformanceCounter( &tm ); // ここから
> if( cd[i] < tm.QuadPart ) {
> printf( "%2d\r", 30-i ); // ここまでの処理を出来るだけ短い時間、かつ、一定の処理速度に
clock()使うとvc++のclock()の実装処理に依存してしまうから
696デフォルトの名無しさん:2011/03/07(月) 20:29:12.95
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の画面、エディター:メモ帳
698デフォルトの名無しさん:2011/03/07(月) 21:09:50.66
>>697
コレをどうしろってのよ?
699デフォルトの名無しさん:2011/03/07(月) 21:10:04.88
>>697
サイコロの振り方に関する注文はないのか?
700デフォルトの名無しさん:2011/03/07(月) 21:10:08.81
>>697をよろしくお願いします。
701デフォルトの名無しさん:2011/03/07(月) 21:12:27.31
選挙かよw
702デフォルトの名無しさん:2011/03/07(月) 21:13:43.61
>>699
ランダムでお願いします。乱数と呼ぶのでしたっけ。
N=100はさすがに大きすぎるので、N=20くらいにしときましょうか。
703デフォルトの名無しさん:2011/03/07(月) 21:16:18.38
>>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;
}
704デフォルトの名無しさん:2011/03/07(月) 21:19:21.95
for(I=0;I>100;I++)がfor(I=0;I>20;I++)になるだけだろ?
705デフォルトの名無しさん:2011/03/07(月) 21:21:26.92
N個を振るのと1個をN回振るのとでは違う
706デフォルトの名無しさん:2011/03/07(月) 21:22:27.95
>>702
rand()の仕様にもよるが、多分終わるまでに一ヶ月位かかるぞ
707デフォルトの名無しさん:2011/03/07(月) 21:24:32.86
>>706
N=12 70秒w

これってパソコンのスペックとしては早い方ですかね?
708デフォルトの名無しさん:2011/03/07(月) 21:24:39.14
最悪一年位かかるかな?
709デフォルトの名無しさん:2011/03/07(月) 21:25:33.61
外れたときに最初に戻れるからN回の方が効率的かな
710デフォルトの名無しさん:2011/03/07(月) 21:27:09.85
>>706
ああコレってそういう問題か!
711デフォルトの名無しさん:2011/03/07(月) 21:27:13.56
>>707
そのペースだと四年位
もっと最適化が必要
712デフォルトの名無しさん:2011/03/07(月) 21:27:22.05
>>709
そうなんですか?
数学的には確率は一緒ですよね?
時間的には効率的かとかあるんですね

感動した・・・
713デフォルトの名無しさん:2011/03/07(月) 21:32:26.70
マルチスレッドで並列処理するとかw
714デフォルトの名無しさん:2011/03/07(月) 21:34:57.45
あーなんか同時に振ってる感有るなそれw
715デフォルトの名無しさん:2011/03/07(月) 21:35:11.65
最悪でもN=12で10秒程度じゃないと厳しいな
716デフォルトの名無しさん:2011/03/07(月) 21:38:01.45
N=10までは0.5〜1.3秒で収まるけど

N=12から一気に遅くなる・・70秒とか、120秒とか。何故だw
717デフォルトの名無しさん:2011/03/07(月) 21:39:54.15
計算量の概算は
N*(6^(N-1))

Nが頭についてるのはN個のサイコロを振るため
718デフォルトの名無しさん:2011/03/07(月) 21:41:36.35
ちょっと捻って、一致率が9割を超える時間だと、どのくらい時間短縮するんだろ。
719デフォルトの名無しさん:2011/03/07(月) 21:41:54.81
>>716
N個のサイコロの目が全て揃う確立は
1/((6^N)*6)
単純にNが1増えれば6倍の時間がかかる
720デフォルトの名無しさん:2011/03/07(月) 21:43:43.19
>>718
9割を超えるときの組み合わせ数で割ってみればいいじゃない
721デフォルトの名無しさん:2011/03/07(月) 21:47:20.14
>>717
N-1してるのにNかけちゃ駄目でしょ
722デフォルトの名無しさん:2011/03/07(月) 21:51:57.39
>>721
NコアのCPUならね
723デフォルトの名無しさん:2011/03/07(月) 21:55:20.33
724デフォルトの名無しさん:2011/03/07(月) 22:00:07.54
>>723
なるほど、じゃあとりあえずランダムで6桁取り出した方が早いか
x=rand()%1000000+1;
if(x%111111) break;
みたいな感じで
725デフォルトの名無しさん:2011/03/07(月) 22:04:52.47
てかどう考えても、入門じゃないだろ
>>703のプログラム組める奴が初心者でどんだけいることか。
726デフォルトの名無しさん:2011/03/07(月) 22:15:15.95
RAND_MAXで6^NのNがいくつまで表せるか計算して、6^N超えたら振りなおし
あとは、N以下について、パターン化した値との比較で、そこそこな速度にはなりそうな気がするが…
727デフォルトの名無しさん:2011/03/07(月) 22:16:17.96
よく考えたら六桁とか全然違うなw
for(i=0;i<N;i++) j+=N^i
x=rand()%6^N+1;
if(x%j) break;
こんな感じか、でも個数が多くなるとダメかw
728デフォルトの名無しさん:2011/03/07(月) 22:18:19.28
>>725
基本的な制御構造を知っていれば書ける内容ではあるし、
講師としては計算量の話とも絡めたいんでしょ
729デフォルトの名無しさん:2011/03/07(月) 22:19:23.61
rand() のアルゴリズム次第では
サイコロが x 個以上の場合は絶対に揃わなかったりする
730デフォルトの名無しさん:2011/03/07(月) 22:21:51.83
>>729
速度とその検知を両立させないといかんのか…
731デフォルトの名無しさん:2011/03/07(月) 22:21:58.73
>>728
そうですね、ただ時間を計るじゃなくて関数的な?ものを読み取りたいんでしょうね。

だから、N個ふるんじゃなくて、1個のサイコロをN回振って計算したほうがいいと思います。
で、振ってる最中で途切れたら、次はその途切れた目を一回目として計測するアルゴリズム
にしたらよくないですか?
732デフォルトの名無しさん:2011/03/07(月) 22:24:44.26
>>731
問題の意味を変えることになるのは分かってる?
733デフォルトの名無しさん:2011/03/07(月) 22:25:12.06
取りあえず、最上の命医見終わったら、速度の方だけ考えよう…
734デフォルトの名無しさん:2011/03/07(月) 22:25:55.71
>>725
N個同時振りでのぞろ目の確率とか
1つのサイコロを振り続けN連チャンする確率とか
その信頼区間を求めろ
だとかってのは数学の理解度チェックを兼ねた
よくあるプログラミング初心者向けの課題だと思うよ
735デフォルトの名無しさん:2011/03/07(月) 22:26:19.41
まぁN個振れと言われたらN個振るしか無いよな
ゲームにするなら外れた目も見えなきゃいけないし
736デフォルトの名無しさん:2011/03/07(月) 22:40:09.42
すいません、サイコロの問題あがってるので便乗して質問していいですか?
[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 メモ帳
737デフォルトの名無しさん:2011/03/07(月) 22:41:09.65
どんだけサイコロスキーなんだよ
738デフォルトの名無しさん:2011/03/07(月) 22:43:54.57
追加 小数点の桁数は100ケタとする


夜遅くすいません、余裕のある方だけでかまいませんのでお願いします・・・
739デフォルトの名無しさん:2011/03/07(月) 22:47:22.06
100桁にするのに何の意味があるのか聞いていいか?
740デフォルトの名無しさん:2011/03/07(月) 22:47:42.25
やっぱ一個づつの方が早いよなー
for(x=rand()%6;z==N;x=rand()%6){
for(i=rand()%6;x==i;i=rand()%6) z++
}
ってまたサイコロか!!
741デフォルトの名無しさん:2011/03/07(月) 22:47:53.17
>>738
100桁だろうと200桁だろうと意味ないよ
OSのタイマー精度は精々3桁、よくて6桁しか無いんだから
742デフォルトの名無しさん:2011/03/07(月) 22:52:25.68
一致した時間とか測っても意味なくね?
どうせ一瞬だし
743デフォルトの名無しさん:2011/03/07(月) 22:52:39.98
>>741
あぁ結構大雑把なんですねぇ
1/10^100秒単位でタイマーあるかと思ってました
744デフォルトの名無しさん:2011/03/07(月) 22:53:39.45
>>736
> 2個のサイコロを振って出た目が一致した時間(秒 int型)を計るという作業
って単位は秒でint型だろ?
んで、
> n回しその平均時間をT(n)秒と算出する作業を行う。
って、多分、何度やっても0秒だから、その平均時間も0秒になるよ?

あとは、以下の意味が分からんので通訳よろ
> 正し一回の作業において、n回振るが、一つ前の作業のサイコロの算出結果は
> その時点で行ってる作業の回数に含めてはならない。
745デフォルトの名無しさん:2011/03/07(月) 23:01:42.98
>>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;
}
746デフォルトの名無しさん:2011/03/07(月) 23:03:56.53
一致した時間じゃねーの?
747デフォルトの名無しさん:2011/03/07(月) 23:07:08.72
>>745
あぁ、n-1回の結果を使っちゃイカンってことか
素直にそう書けば良いものをって、それってT(n)は関数じゃないよな…
748デフォルトの名無しさん:2011/03/07(月) 23:14:10.57
だめだ、それでもT(n)を関数と呼んで良いのか分からん
数学はよく分からんのう
749デフォルトの名無しさん:2011/03/07(月) 23:26:19.39
>>748
乱数を使っている時点で副作用があるから
数学的な意味での関数ではない
750デフォルトの名無しさん:2011/03/07(月) 23:32:46.12
>>736
これ、実際にサイコロを振るのですか?
100回目が揃うまで。
751デフォルトの名無しさん:2011/03/07(月) 23:40:07.60
>>750
これみたいにやったらいいんじゃないか。

http://nojiriko.asia/prolog/c133_834.html
752 ◆QZaw55cn4c :2011/03/08(火) 01:46:32.65
>>705
多くの場合は違いますが、さいころの場合には一緒ではないでしょうか。
753デフォルトの名無しさん:2011/03/08(火) 03:09:10.95
>>752
( ゚Д゚)ハァ?
754デフォルトの名無しさん:2011/03/08(火) 04:10:29.32
いっぺんにたくさん振ったほうがぞろ目が出やすい気がするけどなぁ
755デフォルトの名無しさん:2011/03/08(火) 12:22:27.93
>>752
(゚Д゚)ハァ?
756デフォルトの名無しさん:2011/03/08(火) 13:11:05.88
お前ら数A勉強してこい
757デフォルトの名無しさん:2011/03/08(火) 13:14:50.94
どれに言ってんだよw
758デフォルトの名無しさん:2011/03/08(火) 14:14:23.25
>>753
例えば、どうくつで分かれ道があったとして、どっちの道に行くか
一人ずつやるのと、同時にやるのとでは結果が違う

駅の改札とか

>>754
さいころに人間みたく協調性があればぞろ目が出やすい
759デフォルトの名無しさん:2011/03/08(火) 15:16:50.96
量子力学によると
光の粒子は二つの穴を同時に通過するからね。
すなわち分かれ道を右に行くか左に行くかだけじゃなく
同時に右と左を進むなんてことまで考えなければならない。
760デフォルトの名無しさん:2011/03/08(火) 15:24:26.59
>>752
>>705のレスは>>703からの流れでしょ
761 ◆QZaw55cn4c :2011/03/08(火) 19:20:50.52
>>760
つ エルゴート性
>>705 の指摘のとおり、エルゴート性を常に仮定することはできません。その意味では >>705 は正しいと思います。
さいころの場合もエルゴート性を仮定してもいい、というかするしかないのですが、無論これは証明されたものではなく経験的なものにすぎません。
762デフォルトの名無しさん:2011/03/08(火) 19:33:12.31


ここでエルゴート性を持ちだしてくるのって、おかしいよね?

763デフォルトの名無しさん:2011/03/08(火) 19:39:07.90
そう思うなら正しい答え書いてやればいいんじゃね〜
764デフォルトの名無しさん:2011/03/08(火) 20:04:50.53
◆QZaw55cn4c は隔離スレから出てくるなよ
765デフォルトの名無しさん:2011/03/08(火) 20:15:42.69
もちろん実際のサイコロの場合にはエルゴード性を持つと思うよ。
どうせその話をするなら>>703のコードはどうなのかって話もしないと意味がないような。
766デフォルトの名無しさん:2011/03/08(火) 20:23:32.72
>>697 サイコロをN個、振って、全てのサイコロが同じ数の目が出るまでにかかった処理時間
>>703 のコード
>>705 の内容

単純に流れ読まずに脊髄反射しただけでしょ

◆QZaw55cn4c本人も分かってるけど
基本的にかまってちゃんだがらゴネてるだけ
767デフォルトの名無しさん:2011/03/08(火) 21:05:34.94
中年高卒ニートが高学歴っぽい発言をしても痛いだけだな
768デフォルトの名無しさん:2011/03/08(火) 23:02:57.33
また別の覚えたての単語を伴ってレスしにくるよQなんとかさんはね。
769 ◆QZaw55cn4c :2011/03/09(水) 00:44:42.61
>>766
>>703 は、厳密には、「サイコロを N 回振って、どの結果も同じになるまでの時間」を測っています。
「サイコロを N個振って」ではありません。
rand() を N 回繰り返して呼び出しているのだから、どちらかというと、「N 回振って」という方に意味が近い。

でも我々は普通、N個のサイコロを一斉に振るのと、1 個のサイコロを N 回振るのとでは、結果は同じになることを、暗黙のうちに了解しています。
これをエルゴート性というのです。
>>705 は、この暗黙の了解に対して鋭い指摘をした、と私は思っています。

じゃあ、「N 個のサイコロを振って」というのをどのように書けばいいのかは、私はちょっと思いつかないのですが。

>>766
これで説明できていますかね?
770デフォルトの名無しさん:2011/03/09(水) 00:47:51.10
もうぬこ(N個)を虐めるのはヤメテー
771デフォルトの名無しさん:2011/03/09(水) 00:51:53.65
>>769
その説明は間違ってるよ
772デフォルトの名無しさん:2011/03/09(水) 00:56:51.25
つーか705は違う目が出たときに処理を最初に戻すかどうかって話だろ〜
773 ◆QZaw55cn4c :2011/03/09(水) 01:21:30.84
>>772
違う目がでたときに最初に戻してしまっては、N 個ふったことにならないでしょう。 >>703 で正解なのでは?

>>771
ほう?どこが?
774デフォルトの名無しさん:2011/03/09(水) 01:29:04.28
>>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)の結果の値を
サイコロの組み合わせに変換する関数で良いのではないか?
775デフォルトの名無しさん:2011/03/09(水) 01:37:34.64
自己愛性人格障害野郎は自分が間違っていても絶対に間違いを認めないからな
それが嫌われる一番の原因だと自分で全く気づいていない所が痛すぎる

いい年こいて ガキじゃあるまいし
776デフォルトの名無しさん:2011/03/09(水) 01:38:43.39
>>773
703はN個振らなくね〜
777デフォルトの名無しさん:2011/03/09(水) 01:41:02.68
>>776
振ってる
for(i=1;i<n;i++)
{
y=rand()%6+1;
if(x!=y) failed=1; // breakしてない
}
778デフォルトの名無しさん:2011/03/09(水) 01:41:15.68
>>775
初老だから頭の働きが鈍ってんじゃね?ww
779デフォルトの名無しさん:2011/03/09(水) 01:47:32.02
>>777
ああbreakしてないんだ、これは振ってるね
時間考えなきゃコレでいいんじゃね〜
780 ◆QZaw55cn4c :2011/03/09(水) 01:58:22.17
>>776
正確には n + 1 個振ってますねえ。見落としていました。
781780 ◆QZaw55cn4c :2011/03/09(水) 02:00:00.57
いや、n 個か。初老じゃないけど頭鈍ってますね。
782デフォルトの名無しさん:2011/03/09(水) 06:23:58.51
>>736
この問題について、もう一度確認させてください。
2個のサイコロを振って出た目が一致するまでの
時間は、delayを入れない限り、ほとんど100%の
確率で0秒(整数型)ですね。
n回の平均はどこまでいっても0となって、問題の
例に示されるような小数点以下は現れないように
思いますが。これは解決済みのことですか?
783デフォルトの名無しさん:2011/03/09(水) 06:39:45.56
>>782
>>742とか>>744で聞いてるが回答なし
多分思い付きで聞いてるだけで宿題ではないと思われるのでスルーでOK
(本当に宿題なら秒の小数点以下100桁の時間を表示なんてありえない)
784 ◆QZaw55cn4c :2011/03/09(水) 12:31:31.48
>>775
的確な自己分析に賞賛いたします。

>間違っていても絶対に間違いを認めないからな
どこがどのように間違っているのかいまだに指摘がないのだから、認める認めない以前の問題ですよ。
785デフォルトの名無しさん:2011/03/09(水) 13:24:11.27
自演ウザイ
786デフォルトの名無しさん:2011/03/09(水) 13:35:39.73
>>784
過去、ずっとそう言っては、間違えてたよな
787デフォルトの名無しさん:2011/03/09(水) 17:13:39.19
>>784
余程悔しかったみたいだなあ中年ニートの人格障害君
788780 ◆QZaw55cn4c :2011/03/09(水) 18:26:48.60
>>786
間違えたことは確かに沢山ありましたが、その都度修正をかけていますよ。
間違いを認めない、ということがありましたっけ。あるというのなら URL を示してください。
789デフォルトの名無しさん:2011/03/09(水) 18:47:08.97
>>788
自己評価じゃなくて、みんながどう言ってるか、ちゃんと聞いた方がいいよ
790デフォルトの名無しさん:2011/03/09(水) 19:23:44.63
どうでもいいから黙れよ('A`)
791デフォルトの名無しさん:2011/03/09(水) 20:30:07.21
>>788
オウム返ししかできない頭の悪さ
それに皆お前の事を嫌っているという事実を認められないプライドの高さ
このままお前はホームレス一直線
いやホームレス連中にも仲間はずれにされるだろう
792デフォルトの名無しさん:2011/03/09(水) 20:40:17.34
現実で誰にも相手にされないからここを荒らして存在を主張してんだろ
793デフォルトの名無しさん:2011/03/09(水) 21:28:30.68
>>788
そこまで自分をさらしていると思っているという自負があるのであれば、常にトリップつけてください。
794 ◆QZaw55cn4c :2011/03/10(木) 03:02:27.69
>>789
たんにトリップをつけているのを叩かれているだけ、という印象しかないですね。

>>791
ほう?これがオウム返しですかね?理由をお聞きしたいといっているだけですが、その理由がでてこない。
>>771 にしても
どこがどのように間違っているか説明がない。ただ「間違っているよ」と取ってつけたように言っているだけにしかみえない。

>それに皆お前の事を嫌っているという事実を認められないプライドの高さ
申し訳ないが、嫌われることが悪だと思っていませんのでね。
世間に出れば、言われもなく嫌われることなんてざらです。
その「嫌われること=悪」の考え方からすると、あなた、中高生?

>>793
いわれるまでもなく1年ほどそうしていますが、なにか?
795デフォルトの名無しさん:2011/03/10(木) 03:27:33.70
>>794
>申し訳ないが

申し訳ないなんて、思ってないでしょ?
796デフォルトの名無しさん:2011/03/10(木) 03:33:00.99
>>794
誰がどの発言をしたのかもう全然把握出来てないだろタコ

>世間に出れば、言われもなく嫌われることなんてざらです。
>その「嫌われること=悪」の考え方からすると、あなた、中高生?

(ノ∀`)ノ∀`)ノ∀`)ジェトストリームアチャー
中年ニートが何を偉そうに言っちゃってんの?世間に出た事もない癖に
嫌われる事=悪とは誰も言ってないでしょ
あんたの場合はわざと嫌われるような言動ばかりするから見方がいなく
なっちゃってんでしょうが

敵より味方をたくさん作れない人はあんたみたいに中年になっても無職で
仕事にも就けず2chを荒らすしか能のないダメ人間になっちゃうんですよ
797デフォルトの名無しさん:2011/03/10(木) 03:52:13.28
>>794
ああもうめんどくさい人だなぁ
http://pc12.2ch.net/test/read.cgi/tech/1279286575/303-312 ここらへん参照。
この流れのなかに俺のレスがあるからよく覚えてるんだわ。
このころはまだ好意的だったんだが、今ではあんた大嫌いだわ。なんで素直に認めないんだよ。

305 名前:303[sage] 投稿日:2010/07/21(水) 22:43:54
typoです。s/c++1/c++/g

306 名前:デフォルトの名無しさん[sage] 投稿日:2010/07/21(水) 22:48:04
>>303 >>305
どちらさま?

>>◆QZaw55cn4c
一応全体はっとくね。
http://codepad.org/ptllMGv9
長々になったけど、また適当な時に突っ込み入れます。回答がんばれ。

307 名前: ◆QZaw55cn4c [sage] 投稿日:2010/07/21(水) 23:02:22
>>306
>>303 = >>305 = >◆QZaw55cn4c です。
あらためて。
C++ には慣れておらず、頓珍漢なことを言っていたと思います。お付き合いくださり、またソース提供も、ありがとうございます。
798デフォルトの名無しさん:2011/03/10(木) 06:46:16.86
>>794
別に俺はアンタのことは嫌いじゃないが、
スレが荒れるだけだから、誹謗中傷には反論しないでくれ。
799780 ◆QZaw55cn4c :2011/03/10(木) 07:51:38.73
>>796

>中年ニートが何を偉そうに言っちゃってんの?

ほお、どうしてそう思ったのですか?

>わざと嫌われるような言動ばかりするから

芸風なんです。たとえば

>見方が
×
○味方

これ以外の嫌われ方(連投・自演)は私じゃありません。
800デフォルトの名無しさん:2011/03/10(木) 08:07:27.55
>>780
お前、トリつけてるから無知なのが目立つ。だから弄られる。
801デフォルトの名無しさん:2011/03/10(木) 11:53:17.45
いい加減黙れよ('A`)
802デフォルトの名無しさん:2011/03/10(木) 14:53:08.79
◆QZaw55cn4c のキチガイぶりが目立っちゃってますね
803デフォルトの名無しさん:2011/03/10(木) 14:56:51.38
だから自演すんなよ('A`)
804デフォルトの名無しさん:2011/03/10(木) 15:29:34.78
>>803==◆QZaw55cn4c
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 の大きさのデータが挿入されている"
に訂正してください、すいません。
807デフォルトの名無しさん:2011/03/10(木) 18:53:51.77
要素数が少ないときはクイックソートでなくで別のソートを使うようにしておけばよい
データからして基数ソートかな、いやこれくらいならバブルでもなんでも変わらない
808デフォルトの名無しさん:2011/03/10(木) 18:55:56.33
いつも思うけど問題文おかしいだろ
809780 ◆QZaw55cn4c :2011/03/10(木) 19:44:48.16
810805:2011/03/10(木) 19:47:14.63
>>807
クイックソードで書かないといけないんです、宿題だから。
ポインタは使わないでください。
811デフォルトの名無しさん:2011/03/10(木) 19:48:48.13
明らかに日本語おかしいだろコイツ
812デフォルトの名無しさん:2011/03/10(木) 19:51:04.63
宿題の題意を読み取れずに自分勝手な解釈を押し付けようとするのは一人だけじゃなかったのか
813デフォルトの名無しさん:2011/03/10(木) 20:36:57.12
>>809
なぜ関係ないスレに誘導するんですか?
814デフォルトの名無しさん:2011/03/10(木) 20:40:34.80
頭がボラタイル!
815 [―{}@{}@{}-] デフォルトの名無しさん:2011/03/10(木) 21:03:23.83
volatile void my_head = NULL;
while(1){
  delete my_head;
}
816 [―{}@{}@{}-] デフォルトの名無しさん:2011/03/10(木) 21:05:23.26
void*
か。。
817デフォルトの名無しさん:2011/03/10(木) 21:32:34.56
>>813
そこ行かない方がいいよ
モリタポむしり取られるぞ
818デフォルトの名無しさん:2011/03/10(木) 22:16:29.97
ちんこかゆい
819デフォルトの名無しさん:2011/03/10(木) 22:44:28.77
ポインタ使わずにクイックソートとかアホなんじゃないかと
820デフォルトの名無しさん:2011/03/10(木) 23:35:06.68
>>819
アホなんだよ
821デフォルトの名無しさん:2011/03/11(金) 00:08:36.83
触らない方がいいかも
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;
}
823デフォルトの名無しさん:2011/03/11(金) 02:23:46.46
>>822
エラーメッセージそのまま

>while (1>y || 9999<y)
10行目の int型の 1 は char*型の y に変換できない
10行目の int型の 9999 は char*型の y に変換できない

atoiなどで文字列を数値に変換して比較すればいいよ
824デフォルトの名無しさん:2011/03/11(金) 02:25:27.30
こうですね? わかります。
#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;
}
825デフォルトの名無しさん:2011/03/11(金) 02:26:52.18
あ、typo ^^

誤:int n = 0a;
正:int n = 0;
826デフォルトの名無しさん:2011/03/11(金) 02:31:18.89
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;
}
827 ◆QZaw55cn4c :2011/03/11(金) 12:39:15.66
828デフォルトの名無しさん:2011/03/11(金) 13:55:18.71
>>827
有料スレに誘導しないでください
829デフォルトの名無しさん:2011/03/11(金) 14:07:06.77
NGName:QZaw55cn4c
コイツ質問しても無視して返事しないからNGしてるけど
あまりひどいようだと通報するしか無いな
830デフォルトの名無しさん:2011/03/11(金) 19:34:17.64
>>829
十分、酷いと思う
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] その他の制限: できるだけ分かりやすく、複雑にならないようにお願いします。
832 [―{}@{}@{}-] デフォルトの名無しさん:2011/03/12(土) 18:08:26.19
#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;
}
833 [―{}@{}@{}-] デフォルトの名無しさん:2011/03/12(土) 18:10:51.81
#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;
}
834 [―{}@{}@{}-] デフォルトの名無しさん:2011/03/12(土) 18:11:46.32
./a.exe
pop: 3
pop: 2
pop: 1
fuck!!
835 ◆QZaw55cn4c :2011/03/12(土) 18:19:04.39
836デフォルトの名無しさん:2011/03/12(土) 18:20:44.20
>831
http://s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/img/53.txt

拡張子で判断しているとか糞なアップローダだなと思った
837 ◆QZaw55cn4c :2011/03/12(土) 21:39:47.59
原子炉容器の外側で水素が充満し、水素爆発が発生したとの説明だが、
では、その水素はどのように生成したのか?
原子炉内部からもれ出たか、あるいは原子炉容器自体がとてつもなく高温になったか?
どちらにしても前代未聞の大惨事が進行しつつあることは明白であろう。
838デフォルトの名無しさん:2011/03/12(土) 22:07:33.32
>>837
放射線分解で格納容器下の水が水素と酸素に分解。

http://kotobank.jp/word/%E6%94%BE%E5%B0%84%E7%B7%9A%E5%88%86%E8%A7%A3
http://www.asahi.com/national/update/0312/TKY201103120165.html

じゃあ、圧力容器内の水は分解しないの?
しないよ^^
839デフォルトの名無しさん:2011/03/12(土) 22:10:39.69
いやいや。分解したのは格納容器内の水で
それがタービンへのパイプの中で爆発したんですよ。

http://www.kankuma.jp/mondai/energy/energy04.htm

つまり、パイプがふさがるような状況になり、
かつ火種(燃料棒自身?)がありさえすれば爆発するでしょう。
どかん。
840デフォルトの名無しさん:2011/03/12(土) 22:23:18.02
>>835
糞スレに誘導しないで下さい
841デフォルトの名無しさん:2011/03/13(日) 01:38:17.51
>>837
板違い。
842デフォルトの名無しさん:2011/03/13(日) 01:43:46.60
◆QZaw55cn4c は本当に糞だな
843デフォルトの名無しさん:2011/03/13(日) 18:13:36.61
まともに反論されたらスルーだからな。
844デフォルトの名無しさん:2011/03/13(日) 20:08:09.85
◆QZaw55cn4c は自己愛性人格障害の特徴を実に良く表している
845デフォルトの名無しさん:2011/03/14(月) 01:27:48.14
鳥見るだけでも気分が悪いのでやめてくれ
846デフォルトの名無しさん:2011/03/14(月) 01:32:32.02
NGすりゃいいじゃんw
847 ◆QZaw55cn4c :2011/03/15(火) 06:09:37.37
>>843
まともな反論とやらが今までにありましたか?例を示してください。
848デフォルトの名無しさん:2011/03/15(火) 12:33:37.19
ケンカするなら他所行けよ
849デフォルトの名無しさん:2011/03/15(火) 12:46:45.68
自分のミスを指摘されても覚えてませんっていうアホが何言ってんだw
850デフォルトの名無しさん:2011/03/15(火) 23:20:53.70
>>836
すみませんね、フリーの掲示板そのまま設置してるだけなもので。
あなたは、もう少し英文法を勉強したほうが良いみたい。
受身形を使うときは、主語が何かをもっと気にしたほうが良いよ。
851デフォルトの名無しさん:2011/03/15(火) 23:31:33.41
cannot allocated memories
向こうの3才児でもこんな間違えしないだろwww
852 ◆QZaw55cn4c :2011/03/16(水) 01:29:39.39
>>849
指摘をうけて忘れたと書いた覚えはありません。URL を示してください。
853デフォルトの名無しさん:2011/03/16(水) 02:02:35.82
>>852
何度言ったら分かるんだよ他所行けよ
オマエもう書きこむなよ('A`)
854デフォルトの名無しさん:2011/03/16(水) 15:19:24.23
未着手の宿題ある?
春休みは宿題なくて暇だな
855デフォルトの名無しさん:2011/03/16(水) 15:30:40.50
未着手の宿題: ◆QZaw5 5cn4c を被災地に出向かせ原子炉の仕事をさせる
856デフォルトの名無しさん:2011/03/16(水) 15:43:49.24
>>855
地球を滅亡させる気か!
857デフォルトの名無しさん:2011/03/16(水) 18:56:42.77
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 以内にいる限り、それと同じペースで放射能にさらされることになるのです。
858デフォルトの名無しさん:2011/03/16(水) 18:58:15.58
スレチ
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
↑ソース貼り忘れました
http://ideone.com/eun44

よろしくお願いします
861デフォルトの名無しさん:2011/03/17(木) 01:40:17.51
ゲームwって学校でそんな宿題出るわけねーだろw
862デフォルトの名無しさん:2011/03/17(木) 04:36:51.77
>>859 製作中。期限に間に合うかなぁ。

学校の課題でテニスゲーム作ったことならあるよ。
863デフォルトの名無しさん:2011/03/17(木) 07:44:21.02
>>859
やってみたよ
http://ideone.com/Id5vD

・問題文が曖昧だったから細かいところは勝手に解釈した(ソースの下の方にちょこっと説明書き有り)
・HPなどの入力で変な値(0やマイナスなど)が入るとエラーになる
・OSはXP(32ビット)、コンパイラはVisual C++で作成した
・セーブするときのファイル名及び拡張子は何でもよい(作成したファイルトメモ帳で開いてもさっぱり)
・セーブはキャラクタのステータスが保存される(パワプロのサクセスのパスワードのように解釈した)

気に入らなかったら他の人の待ってね
864863:2011/03/17(木) 07:53:53.06
さっそくミス発見したので訂正(対戦したときに、HPが前の対戦のままになってた)
http://ideone.com/OKMIg
865デフォルトの名無しさん:2011/03/17(木) 08:45:36.48
>>863

とても見やすくて助かりました!
わざわざ注釈までありがとうございます。
866デフォルトの名無しさん:2011/03/17(木) 19:03:18.44
>>847
>>797にはレスがついてないね
867デフォルトの名無しさん:2011/03/17(木) 19:06:11.77
・トリつけっぱなしにしろよ
・1年以上そうしてるけど?
・してないじゃん、証拠はこれね
スルー←いまここ
868デフォルトの名無しさん:2011/03/18(金) 02:12:47.14
なんか、見事なまでに。ほとんど自演なのか?
869デフォルトの名無しさん:2011/03/18(金) 10:13:51.79
自演というか、自分でやってみた結果を評価して欲しいんだろw
素直に「自己フォロー」と言えば良いのにw
870デフォルトの名無しさん:2011/03/18(金) 15:44:47.11
まさに自己愛性人格障害そのものだな

「見て見て〜」クンです
いい年してみっともないよねー
871 ◆QZaw55cn4c :2011/03/18(金) 20:18:42.38
872デフォルトの名無しさん:2011/03/18(金) 20:26:55.54
>>871
>>853
何度言ったら分かるんだお前は
幼稚園児なのか?脳みそ付いてんのか?('A`)
873デフォルトの名無しさん:2011/03/18(金) 20:27:26.71
>>871
宿題スレで、モリタボむしり取るのやめれ
ここで営利目的で活動する事が不味いだろ?
874デフォルトの名無しさん:2011/03/18(金) 20:31:38.66
>>872
多分精神年齢は幼稚園児未満だと思いますよ
1才児程度でしょう
875デフォルトの名無しさん:2011/03/18(金) 21:25:27.65
実力があれば多少うざくても問題ないんだけど、クソコードしか書けない上に、
日本語まともに読めないから見当はずれの答え書くしなぁ
876 ◆QZaw55cn4c :2011/03/18(金) 22:01:12.28
>>875
>クソコードしか
コードの話ならば大歓迎。たとえば直近の >>835 とか >>809 とかで、どこが糞と感じたか教えてください。
877デフォルトの名無しさん:2011/03/18(金) 22:07:20.12
>>876
過去の実績が物をいってるな
878デフォルトの名無しさん:2011/03/18(金) 22:17:58.59
>>876
糞スレに誘導しないで下さい。
879 ◆QZaw55cn4c :2011/03/18(金) 22:34:23.35
そうですか。
クソ、クソ、といいながら具体例を挙げられないのですね。
880デフォルトの名無しさん:2011/03/18(金) 22:35:23.64
>>879
過去に何度も上げてるじゃない。記憶障害か?
881デフォルトの名無しさん:2011/03/18(金) 22:38:12.44
モリタポって換金できるの?
882デフォルトの名無しさん:2011/03/18(金) 22:46:36.41
>>879
他所でやれって何度言ったら分かるわけ?
ちょっと答えてよ、いい加減にしないと通報するよ?
883デフォルトの名無しさん:2011/03/18(金) 22:54:07.19
すればいいじゃん
884デフォルトの名無しさん:2011/03/18(金) 22:55:35.07
>>883
お前誰だよ
885デフォルトの名無しさん:2011/03/18(金) 22:58:40.18
>>883=NGName:QZaw55cn4c
だな他人のふりして煽ってんだよ
NGして無視しとけばいいよ
886デフォルトの名無しさん:2011/03/18(金) 22:59:10.28
自治厨うざw
887デフォルトの名無しさん:2011/03/18(金) 23:00:45.32
煽りうぜー
888デフォルトの名無しさん:2011/03/18(金) 23:01:48.11
>>886
バレバレですよ^^
889デフォルトの名無しさん:2011/03/18(金) 23:04:10.02
◆QZaw55cn4c本人ですら
通報しないでくれと頼んでないよ?
通報したけりゃすればよくね?
誰に対して何を遠慮してるんだよw
890デフォルトの名無しさん:2011/03/18(金) 23:06:00.25
>>889
さっさと通報してみろよw
891デフォルトの名無しさん:2011/03/18(金) 23:09:48.69
>>890
あ、ホンマモノさんか
すいませんっしたw
892デフォルトの名無しさん:2011/03/18(金) 23:10:40.50
>>891
ファビョってんじゃねーよwwwどーせ口先だけで通報なんか出来ないんだろオマエwwwwww
893デフォルトの名無しさん:2011/03/18(金) 23:12:16.46
>>891
自演バレバレ過ぎ(笑)
894デフォルトの名無しさん:2011/03/18(金) 23:16:56.33
A>やるよ
B>やれば?
A>お前がやれよ

ガ板でこのパターンなかったっけ?
895デフォルトの名無しさん:2011/03/18(金) 23:19:44.44
あぁ分かった

A>やるよ
B>やれば?
A>お前がやれよ
では単なるキチガイだけど

A>やるよ
B>俺がやるよ
A>どうぞどうぞ
でダチョウ倶楽部だなw
896 ◆QZaw55cn4c :2011/03/18(金) 23:22:27.95
>>880
十何回かは指摘を受けたのは覚えていますが、何十回という気はしませんね。それに、どれも些細なことばかり。
無論、何十回と回答を書いた上での話ですが。

>>880
×上げ
○挙げ

>>881
基本的にできません。
897デフォルトの名無しさん:2011/03/18(金) 23:24:03.68
>どれも些細なことばかり。
根本的な問題の誤読が些細なこととかw
898デフォルトの名無しさん:2011/03/18(金) 23:25:52.15
まだやってたの?他にすること無いのかなこの人?
899デフォルトの名無しさん:2011/03/18(金) 23:30:54.06
宿題無いからってお前ら暴れるな

>876
>835
cons-listですか、そうですか
って、初め読んだときに思ったな
あと#defineやめろ

>809
わかりにくい、メモリ確保しすぎバロス
って、初め読んだとき思ったな
あとキャスト不要なんだけど

あと3歳児未満でごめんね
900デフォルトの名無しさん:2011/03/18(金) 23:33:49.97
>>898
キチガイは放置に限る
901デフォルトの名無しさん:2011/03/18(金) 23:38:36.49
もう次スレのテンプレにNG推奨って入れとけよ
902 ◆QZaw55cn4c :2011/03/18(金) 23:38:42.98
>>899
コメント感謝です。
(>>835)
cons-list なら car の部分もポインタにしなくちゃいけませんね。
やっぱりいまどきの書き方って、#define よりも int const n = 10; とか enum { n = 10, a = 3, b = 4}; とかのほうがいいのですかね。

(>>809)
malloc()/free() のバグ退治にはなれているので、バンバン malloc() する主義です。
あと、これはライブラリの qsort() を実装してみる趣旨で書きました。
ところで、どのキャストが不要なんでしょうか?
903 ◆QZaw55cn4c :2011/03/18(金) 23:56:00.35
>>898
先週は TSR をいっこ書きました。http://toki.2ch.net/test/read.cgi/i4004/1295492625/324
904 ◆QZaw55cn4c :2011/03/19(土) 00:13:21.91
>>897
ええ、大部分は修正は容易ですからね。でもこれはちょっとむりでした。http://hibari.2ch.net/test/read.cgi/tech/1295273862/14
905デフォルトの名無しさん:2011/03/19(土) 00:26:54.47
問題の誤読をするって時点で、日本人として失格だろw
906デフォルトの名無しさん:2011/03/19(土) 01:54:37.14
>>871
なに?これ。
ぐぬぬ、ってこと?
907デフォルトの名無しさん:2011/03/19(土) 01:58:55.09
>>902
free漏れのバグ退治になれてるんだ。すごいね。
大抵はリークを起こさない記述を覚えてしまうから、そのようなバグが混入することが稀になるんだけどね。
ちなみにバグ退治にはどのツール使う?
908デフォルトの名無しさん:2011/03/19(土) 02:21:25.98
やっぱ素人だな
909デフォルトの名無しさん:2011/03/19(土) 02:25:24.67
以前にバグってるお手製チェッカー出してただろ
修正したらしいけど
910 ◆QZaw55cn4c :2011/03/19(土) 09:20:46.47
>>909
現在のバージョンに近いものは、
http://hibari.2ch.net/test/read.cgi/tech/1294061094/722
です。宿題を数こなしていくうちに自然にできました。宿題レベルでは問題がないようです。プロの使う道具はよくわかりません。
911デフォルトの名無しさん:2011/03/19(土) 10:07:23.61
×プロの使う道具はよくわかりません。
○プロではなく素人なので全くわかりません。
912 ◆QZaw55cn4c :2011/03/19(土) 10:40:59.22
>>911
×プロではなく素人なので全くわかりません。
○プロではなくアマチュアなのでよくわかりません。
=プロの使う道具はよくわかりません。
913デフォルトの名無しさん:2011/03/19(土) 10:53:30.01
>>912
最初からそう言え日本語不自由のノータリン
914デフォルトの名無しさん:2011/03/19(土) 11:01:00.53
自己流の変な癖がついた、プライドばっかり高いアマチュアより、
純粋な素人のほうがマシだよなw
915デフォルトの名無しさん:2011/03/19(土) 11:13:49.05

宿題の課題を素直に読んで、その通りに作れないのだから、問題外
916 ◆QZaw55cn4c :2011/03/19(土) 11:15:41.90
>>914
どこが変な癖が具体的に指摘できますか?
917デフォルトの名無しさん:2011/03/19(土) 11:30:05.37
>>916
問題文が読めないこと。
要求仕様が理解出来ないプログラマは失格。
918デフォルトの名無しさん:2011/03/19(土) 11:30:11.44
粘着してるやつ◆QZaw55cn4cのこと大好きだろ
919デフォルトの名無しさん:2011/03/19(土) 12:09:08.08
>>916
「か」と「が」の区別がつかないところ
920デフォルトの名無しさん:2011/03/19(土) 12:59:37.33
いつまでやってんだよ?頭おかしいんじゃねーの
921デフォルトの名無しさん:2011/03/19(土) 13:28:07.85
早く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のコンストラクタが呼ばれないのでそれが新規のものなのか判断することが出来ません
こういう場合どうすればいいんですか?
923デフォルトの名無しさん:2011/03/19(土) 13:50:39.53
そんなバグってる環境のことなんか知らんよ
924デフォルトの名無しさん:2011/03/19(土) 14:04:46.28
>>922
コピーコンストラクタが呼ばれるんと違うんか?
よく調べてみ
925デフォルトの名無しさん:2011/03/19(土) 14:15:14.70
>>914
長期的(数年以上)のスパンで見ると
プライドの高いアマチュアの方が
結局は役に立ってたりする。

ま、普通そうなる前に
自称「プロフェッショナル」に
潰されてしまうんだけどね。
926デフォルトの名無しさん:2011/03/19(土) 14:27:11.57
>>925==◆QZaw55cn4c

潰されてしまえよカス
中年ニートなんて世の中に必要ねーんだよ
927922:2011/03/19(土) 15:37:51.16
勘違いしてました、別の所がバグってただけでした
928デフォルトの名無しさん:2011/03/19(土) 18:15:54.41
別に潰されなんかしないだろ
被害妄想とか簡便
929デフォルトの名無しさん:2011/03/19(土) 19:19:24.91
>>922
1.最低限、implicit な A( A const & ); なコピーコンストラクタを記述する。
2.operator =(); operator =() const; な代入演算子を記述する。
930デフォルトの名無しさん:2011/03/19(土) 20:25:34.55
>>926
もうすこし品よくいこう。
931デフォルトの名無しさん:2011/03/19(土) 21:33:04.15
キチガイに品良くって言ってもな.....
932 ◆QZaw55cn4c :2011/03/19(土) 23:28:32.41
>>930
私に都合のいい発言はみんな自演にされてしまうのも、それも一つももらさずに「自演乙」というコメントがつくのも、恐るべき粘着というか、それこそ自己愛性なんとかとかいう障害なんですかね。
ところでエディットコントロールをマルチラインにして、そこにつらつらとデバッグメッセージを流す方法って、お手軽なのはどんな感じ/考え方になるのでしょうか?
933デフォルトの名無しさん:2011/03/19(土) 23:36:28.06
きも過ぎ マジで
934デフォルトの名無しさん:2011/03/19(土) 23:38:22.67
きんもーっ☆
935デフォルトの名無しさん:2011/03/19(土) 23:39:49.85
>>932
SendMessageとかで設定するんじゃないの?
あとWin32APIのことならスレ違いだな
936 ◆QZaw55cn4c :2011/03/19(土) 23:44:51.65
>>935
双方向リストなどで、エディットコントロールに表示できる行数分全部ヒープに持つように書くものでしょうかね。どうもエディットコントロールには一度に全部セットするかゲットするかしかないようです。
すれ違い失礼しました。
937デフォルトの名無しさん:2011/03/20(日) 00:08:09.31
>>936
> 双方向リストなどで、エディットコントロールに表示できる行数分全部ヒープに持つように書くものでしょうかね。
SendMessage
WM_COPYDATA
で検索してみ

> どうもエディットコントロールには一度に全部セットするかゲットするかしかないようです。
WM_GETTEXTLENGTH,GetWindowTextLength
EM_SETSEL
EM_REPLACE
で検索してみ
938デフォルトの名無しさん:2011/03/20(日) 00:12:00.32
>>937
関係ないスレに誘導するような人にレスしないでくれないか?
それとも自演ですか?
939デフォルトの名無しさん:2011/03/20(日) 00:35:30.26
多分自演でしょう
頭が悪いのに自己顕示欲だけは一丁前に強いので困りますね
940 ◆QZaw55cn4c :2011/03/20(日) 00:56:10.70
>>937
EM_SETLINE、はないんですね。EM_LINEINDEX/EM_LINELENGTH ->, EM_SETSEL -> EM_REPLACE ?うーん。
941デフォルトの名無しさん:2011/03/20(日) 01:06:54.88
スレチガイなことを平気で聞くってさすがキチガイだな
942デフォルトの名無しさん:2011/03/20(日) 01:17:28.37
こうなったら人間オシマイですね
943デフォルトの名無しさん:2011/03/20(日) 03:17:29.90
てst
944 ◆QZaw55cn4c :2011/03/20(日) 04:53:41.05
>>937
せっかくヒントをいただいたのですが、いろいろあってあきらめることにしました。
致命的なことには、コントロールにうっかりマウスカーソルを当ててしまうと、表示が乱れてしまうのです。
エディットコントロールの行末を選択してリプレイスする、という手法もどうもうまくいかない。(mingw (cygwin gcc-3 -mno-cygwin)) の改行がらみが悪いのかも)

おとなしくスタティックコントロールに SendWindowsText() することにしました。

>>943
おやすみなさい。
945デフォルトの名無しさん:2011/03/20(日) 11:12:21.12
>>944
専用スレがあるんだから巣から出てくるな
946 ◆QZaw55cn4c :2011/03/20(日) 11:34:01.22
>>945
おはようございます。
947デフォルトの名無しさん:2011/03/20(日) 11:35:54.50
>>946
専用スレがあるんだからこっちに書きこまないでくださいね
948デフォルトの名無しさん:2011/03/20(日) 12:50:36.48
別スレでQZaw55cn4cの名前を見かけたので久々にのぞきに来たら相変わらずのようですね
引きこもりニートは外にボランティアにでもいけよ
949デフォルトの名無しさん:2011/03/20(日) 17:27:46.60
なんで宿題スレで関係ない質問してんだろ。スレのルールも守れないの。
しかもその内容がデバッグメッセージをエディットコントロールに出したいからとか、
デバッグメッセージはそこに出すもんじゃないから。
単なる例だとしても頭悪すぎる。
950デフォルトの名無しさん:2011/03/20(日) 20:15:29.82
[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] 期限:今月末日まで
951デフォルトの名無しさん:2011/03/20(日) 20:37:40.51
>>950
宿題内容が不謹慎です
952デフォルトの名無しさん:2011/03/20(日) 21:21:35.70
現在までの死者数を入力して以降の予測される死者数を出力しろ

って言われるより十分生産的だと思うけど
953デフォルトの名無しさん:2011/03/20(日) 23:43:52.08
帰納的プログラムの意味が分からん
5パターンテーブルに登録しといて剰余でインデックス求める実装なら簡単だけどそれでいい?
954デフォルトの名無しさん:2011/03/21(月) 00:07:41.91
>>953
これは問題として、完全なものではありません。
しかし、完全でなくても、部分的なヒントだけで
プログラミングすることは、正規表現でのそれは
ほとんどそうですし、珍しいことではありません。
例えば、数列が与えられたとき、何らかの
ルールを捜して我々はプログラムを組んで
みます。なにか糸口を見つけて、手持ちの
ルールを適用してみて、全ての要素に適合する
ことを確かめて、多分こんなルールではある
まいか。それでプログラミングに入る。
こういう過程をなぞるプログラムを書いてください。
そういう問題です。一応ソースプログラム生成の
課題としましたがここの部分が表現できていれば
十分だと考えます。
955デフォルトの名無しさん:2011/03/21(月) 00:21:06.03
>>954
悪問解読ならエスパースレというぴったりなスレがあるよ
956デフォルトの名無しさん:2011/03/21(月) 03:12:32.77
>>954
質問に答えろよwびっくりするわ
957デフォルトの名無しさん:2011/03/21(月) 23:40:27.11

完全でない問題を、宿題として出すことってあるのか?
958デフォルトの名無しさん:2011/03/22(火) 02:09:40.59
ただのウケねらいでしょ
959デフォルトの名無しさん:2011/03/22(火) 04:25:05.49
良いから、さっさと福島原発の放射能漏れを防ぐプログラムのコードを教えろや!
絶対に被爆しないように頼むぜ?w
960デフォルトの名無しさん:2011/03/22(火) 04:28:00.02
話題を転じるために無理して作った問題に
決まってるではないか。
アルゴリズムの発見過程をシミュレーションする
問題で、少し難しすぎたか。
961デフォルトの名無しさん:2011/03/22(火) 04:29:59.28
for(i = 0; i < n; i++) {
for(j = 0; j < 5; j++) printf("%d ", (i + j) % 5 + 1);
printf("\n");
}
962デフォルトの名無しさん:2011/03/22(火) 04:37:00.60
>>961
完全であろうとなかろうと、我々は>>950
ヒントでプログラムを書いてしまう。
何故書くことができるかというと、「輪番」と
いう情報があるからだね。そういう部分が
反映すると面白いと思ったんだけどね。
963デフォルトの名無しさん:2011/03/22(火) 05:07:38.59
オブザーバパターンを使って原子炉リストに津波オブジェクトを与えると
連鎖爆発を起こすプログラムを書けばいいのかな?
964デフォルトの名無しさん:2011/03/22(火) 05:28:13.83
>>963
C++で構いませんから、どうぞ。
965デフォルトの名無しさん:2011/03/22(火) 06:28:49.28
VC++でごくごく簡単なもの(例えばハローワールド等)で
ハローワールドと結果を表示した直後にその画面が閉じちゃうんですけど、
コードの最後に無意味にcin >> unko みたいに無理矢理処理を止める以外に方法ありませんか?
966 [―{}@{}@{}-] デフォルトの名無しさん:2011/03/22(火) 06:50:45.57
コマンドプロンプトから実行
967デフォルトの名無しさん:2011/03/22(火) 07:12:08.30
それ以外で
968デフォルトの名無しさん:2011/03/22(火) 07:30:47.21
もともとコマンドプロンプトを起動していた場合を除き、
プログラムの実行が終わると閉じられるため、何らかの方法でプログラムを終わらせないようにしないとだめ。

cin >> unkoが嫌って事はgetcharなんかも嫌だろうから、別途ラッパースクリプトなりexeを作って、引数で指定された
exeを起動した後、待機するものを作っておけば今後流用できるとおもうよ。
969デフォルトの名無しさん:2011/03/22(火) 12:42:39.17
>>965
Ctrl+F5
970デフォルトの名無しさん:2011/03/22(火) 19:16:24.76
ありがとうございます

ちなみにCtrl+F5って具体的にどういう動作をしているんですか?
またどこかにプロジェクトタブ→デバックみたいに選ぶ所はありますか?
971デフォルトの名無しさん:2011/03/22(火) 19:41:52.24
デバッグ→デバッグなしで開始
972デフォルトの名無しさん:2011/03/22(火) 20:09:52.38
ありがとうございました
973デフォルトの名無しさん:2011/03/23(水) 19:48:01.09
鍵ファイルにパスワードのハッシュ値の認証機能を付けて鍵に直接
アクセスできないようにしたいのですがうまくいきません。32バイト
のハッシュ値を先読みして、それから後続の16バイトの鍵を使おうと
思うのですが、ハッシュ値の認証で失敗したり、鍵生成が無限ループ
になったりします。何が原因か分かりません。どなたか教えてください。
よろしくお願いします。

http://codepad.org/nz55zSBj
974デフォルトの名無しさん:2011/03/23(水) 20:24:43.41
ここは笑うところか
最小限のソースくらい渡せよ
あとスレチだな
975デフォルトの名無しさん:2011/03/23(水) 23:53:53.44
>>973
無限ループは36行目のwhile(a==0)が原因なんじゃないの。
ループ内でaの値が変化してるように見えないんだが。
はっきり言ってデバッグする価値もないコード。
インデントがまともにできてないし、
fcloseが呼ばれない可能性や複数回呼ばれる可能性もあるし、
マジックナンバーだらけだし、危険なコードだな。
最初から書き直すことをオススメするよ。
976デフォルトの名無しさん:2011/03/26(土) 20:51:27.49
保守
977デフォルトの名無しさん:2011/03/26(土) 22:52:03.58
978デフォルトの名無しさん:2011/03/28(月) 20:42:06.82
なんか宿題ある?
979デフォルトの名無しさん:2011/03/28(月) 21:15:49.27
【モリタポ有償】C/C++の問題を片付けます(2)
http://hibari.2ch.net/test/read.cgi/tech/1295273862/

このスレを削除する方法を考えてください
980デフォルトの名無しさん:2011/03/28(月) 21:28:56.88
>>979
1. 依頼する
2. モリタポを渡す
3. その事実を元に2chで商売してるとして運営に削除してもらう
981デフォルトの名無しさん:2011/03/28(月) 21:38:50.00
>>980
2chで商売をしたらいけないというのは

http://www2.2ch.net/2ch.html

のどこにありますか?
具体的には、どのような削除依頼を出せば削除してもらえますか?
982デフォルトの名無しさん:2011/03/28(月) 21:43:04.17
>>794でトリップ常につけてると言っておきながらその書き込みw
983デフォルトの名無しさん:2011/03/28(月) 21:44:48.84
>>981
こっちくんな
984デフォルトの名無しさん:2011/03/28(月) 21:55:26.34
>>981
そこまでやれば後は運営の判断
駄目なら削除されるだろうし、OKなら削除されないだろう?
985デフォルトの名無しさん:2011/03/28(月) 22:11:25.25
>>982
そこには触れられたくないようで、しばらくするとこのスレ埋まると思うよ
986デフォルトの名無しさん:2011/03/28(月) 22:15:50.45
>>984
削除依頼を出したことあるか?
ルールの中から理由を選んで添えておかないと門前払いになる
本当に削除したいんだから、そんな敗戦前提の行動は起こせない
穿った見方をするなら、通らない削除依頼を申請して、正統性を主張しているようにさえ見える
987デフォルトの名無しさん:2011/03/28(月) 22:30:56.22
>>981
もう落ちたみたいww
988デフォルトの名無しさん:2011/03/28(月) 22:31:54.47
ごめん、違ったみたい
989デフォルトの名無しさん:2011/03/28(月) 22:49:15.21
確かに、削除はめんどい。
990デフォルトの名無しさん:2011/03/28(月) 23:33:25.68
もう宿題もなさそうだから雑談を続けるけど
おまえら的に有料宿題スレってどうなの?

俺らがマネするには安すぎて商売にならないし
(ちなみに俺は人月90万、緊急対応1回5万〜)
需要はあるようだしどうなんだろうな

俺としては独占してる点はダメだと思う
しかし、有料でやってる事自体を避難する論理を組み立てられないんだが・・・

もちろん、2匹目のどじょうがでてくる前に止めないと
板がおかしくなってしまうような気はしてるよ、うまく説明できないけどね
991デフォルトの名無しさん:2011/03/28(月) 23:35:38.42
>>986
何言ってんの?
ルールがなけりゃ、ローカルルールで提案して作れば良いだけ。
本気で削除したいなら、それくらいやれよ。
はっきり言って、>>979のスレ主も、叩いてる奴らも、同じ位ウザイ。
992デフォルトの名無しさん:2011/03/28(月) 23:38:28.79
後だしジャンケンかよw
個別スレの削除の為にローカルルールを拡張しようとすると
ゲーム製作技術板みたいになるぞ
993デフォルトの名無しさん:2011/03/28(月) 23:41:01.24
>>990
宿題は中途半端すぎて需要と供給が合わないんじゃないか?
本気で商売するために、仕事の紹介なら有りかも知れんが、2chでb2bは抵抗あるな…。
994デフォルトの名無しさん:2011/03/28(月) 23:42:28.61
>>990
有料でやりたいなら、自分でWeb用意してすればいいんじゃない?
ここまで嫌がられて、それでも執着する理由が分からない。

もともと、暇つぶしでやってるんだろうけど、
それにしても同じ回答するのに、一方が有償で、
もう一方が無償だって言うのは、おかしいと思う

容認したら、スレが荒れるだけだし。
995デフォルトの名無しさん:2011/03/28(月) 23:44:25.55
>>992
後だしだろうが何だろうが、臭い物に蓋をするのが日本の文化だ。
それに、商売禁止、もしくは、有償・無償の住み分けは
特に悪いローカルルールとも思えない。
996デフォルトの名無しさん:2011/03/28(月) 23:50:06.71
>>990
罰としての有料なら、それでもいい。
997デフォルトの名無しさん:2011/03/28(月) 23:53:56.39
思いつきだけど、思い切って、全ての宿題を有料にして
全部今回の震災にカンパすれば良いんじゃねえか?
998デフォルトの名無しさん:2011/03/29(火) 00:09:34.09
ただ、あの有料宿題スレってモリタポを正しく運用してるように見えるんだよ
つまり、2ch運営スタッフから見ると俺らのほうが悪なんじゃないかってこと
モリタポに関する削除依頼やローカルルール変更他、前例ってなにかないの?
999 ◆QZaw55cn4c :2011/03/29(火) 00:11:00.52
>>982
>>983
別人ですよ。このスレでは私はトリップを必ずつけるようにしています。
もう、この手のあおりは ID をつけるしかないですね。
1000デフォルトの名無しさん:2011/03/29(火) 00:14:55.37
>>999
こっちくんな
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。