トップページ⇒tech
1001コメント261KB

宿題とか手伝えます

レス数が1000を超えています。これ以上書き込みはできません。
0001かおるNGNG
こんにちは。えれなの妹のかおるです。

前スレは恭祐さんの「ほう、宿題とはな。」です。
http://pc.2ch.net/test/read.cgi/tech/1024592344/
それ以前の人たちは、>>2-10あたりにかかれるでしょう。

宿題とか手伝いますけど、以下の事項は守ってほしいです。
・マルチポストは厳禁です。
・キーワードが分かっているなら、http://www.google.co.jp を活用すること
・質問内容がちゃんと日本語になっていること
・言語名を入れること。
・自分の力で頑張ってみたことを伝えられる人。
・どこまでわかったのかを書くこと。
以上です。このスレだけのおつきあいですが、よろしくおながいします。
0002デフォルトの名無しさんNGNG
手助けはするな、助言はしてやれ。
0003かおるNGNG
登場人物&過去スレ 1/2

●お姉さん
あなたの宿題、お姉さんが答えます
http://piza.2ch.net/tech/kako/972/972032579.html
で登場。

●麻衣
お兄ちゃんの宿題、私が答えるよ
http://pc.2ch.net/tech/kako/982/982853418.html
で初登場。可愛い妹キャラ

●お兄ちゃん(名称不明)
宿題見てやるよ
http://pc.2ch.net/tech/kako/1003/10038/1003838158.html
で初登場。しかし、女性がいいという影の圧力により
1以外には登場せず。

●怜
宿題みてあげるっ
http://pc.2ch.net/test/read.cgi/tech/1007902384/l50
で初登場。お兄ちゃんの恋人。
結構親切に答えてくれる年上キャラ。
0004デフォルトの名無しさんNGNG
今から考えると、僕の人生はvoidだった。
そう、何も作り出すことは出来なかった。
しかし、僕の中のstatic変数にはいろんな思い出がつまってる。
でももうダメだ。
いつの日からか発生したループは、スタックを食いつぶしながら
僕のメモリ領域をどんどん蝕んでいく。

もうダメだ・・・。

僕は決心して窓を開けた。

「このプログラムは不正な処理を行ったため・・・」
0005デフォルトの名無しさんNGNG
>>1
乙


しかし、日曜にやっていたアニメを思い出した。欝だ詩嚢
0006デフォルトの名無しさんNGNG
>>1
乙。恭祐はかおるのパパだYO!
0007かおるNGNG
登場人物&過去スレ 2/2
●えれな
宿題、手伝おっか?
http://pc.2ch.net/tech/kako/1011/10117/1011722640.html
で登場。お兄ちゃんのおさななじみ

●美砂子
あらあら、宿題なのね
http://pc.2ch.net/test/read.cgi/tech/1020785918/
で登場。えれなの母。持病で急死

●恭祐
ほう、宿題とはな。
http://pc.2ch.net/test/read.cgi/tech/1024592344/l50
で登場。えれなの父。美砂子の旦那。
0008デフォルトの名無しさんNGNG
>>2
激しく同意。

回答者は「宿題とはどういう意図の制度か?」を理解すべき。
0009前スレの937NGNG
ごめんなさい、新スレ知らなくて、前スレに書いてました。
もう一度書きます。

>>985
提出は金曜日です。
今までの講義は、「Cパズルブック」という本で、
演算パズル系の問題しかやっていません。
今回の宿題のレベルがどれくらいかわからないですが、
今から文法を学んでも間に合わない!?
0010デフォルトの名無しさんNGNG
>>9
間に合うんじゃないか?
出されたソースがどのようなことをやっているのか
理解できれば、綺麗に書き直すことも出来るだろ。
0011デフォルトの名無しさんNGNG
宿題スレは、ある意味隔離スレであるといわれることがありますが、
丸投げ厨を隔離するだけでなく、知ったか教えたがり厨を隔離する効果も
あるのです。>2, 8
0012デフォルトの名無しさんNGNG
>>11
けどさ、宿題を見る以上、そいつの人生の片棒を担ぐって事だと思われ。
無責任に丸教えする事が許されるとは思わない。

何だったら教育板から何人か引っ張ってくる。
0013デフォルトの名無しさんNGNG
>>1
萌えキャラかと思ったのに最後の「おながいします」で台無し。
0014前スレの937NGNG
>>10
わかりました。
頑張って文法を学びたいと思います。
自分でできるだけ頑張りますので、ダメだった場合はもう一度教えてください。
0015デフォルトの名無しさんNGNG
>>12
んなことはない
0016デフォルトの名無しさんNGNG
前スレを埋める意味が分からん。
0017デフォルトの名無しさんNGNG
>>16
1000取り合戦
0018デフォルトの名無しさんNGNG
人物相関図?

   恭祐=美砂子(離婚?)
 −−− +−−−
|    |   |  幼なじみ
お姉さん 麻衣 「兄」−−−えれな
                   ↓妹
                   かおる
0019デフォルトの名無しさんNGNG
お父さんを「さん」づけで呼んだり、2chねらー的言葉づかいだったり、
展開次第では大化けしそうなキャラだと思われる。
0020デフォルトの名無しさんNGNG
結構宿題って同じ時期に似たような問題が出るから、そうそうに
dat落ちさせるのはどうかと思う
0021デフォルトの名無しさんNGNG
>>12
まあ、過去ログの教え方とかみてどうよ。
0022デフォルトの名無しさんNGNG
>>14
エラい! がんばれYO!
応援してるからな。
ところで「前スレの937」が女だと思うのは漏れだけ?
0023デフォルトの名無しさんNGNG
>>20
990くらいまで進んでたんじゃ、いつか誰かやるだろうけどね
0024デフォルトの名無しさんNGNG
>>18
あ、美砂子さんて麻衣の母でしたっけ?
それは失礼(>>7の元書いた人)
0025デフォルトの名無しさんNGNG
>>18
違うぞ。恭祐と美砂子の子供がえれな・かおる
0026デフォルトの名無しさんNGNG
>>18
怜もいれて
0027デフォルトの名無しさんNGNG
あらあらスレに
>(1) 名前: お母さん 投稿日:02/05/08 00:38
>麻衣の母、美砂子です。
>宿題、判らないところがあったら、遠慮しないで聞いてくださいね。
とあるが、、
0028デフォルトの名無しさんNGNG
>>12
漏れは別に教育者でもないし、増してや「教えてくれ」と言ってくる奴から
給料を貰っている訳でもない。

面白そうであれば、自分の欲望の赴くままに回答しているが、何か?
0029デフォルトの名無しさんNGNG
怜さんとかは、ある程度教えられる側の事を考えて教えていたイメージ。
0030デフォルトの名無しさんNGNG
相関図ver2。

   恭祐=美砂子(離婚?)
       |
 −−− +−−+
|    |   「兄」 =恋人= 怜
お姉さん 麻衣  |幼なじみ
           えれな →妹→ かおる
0031デフォルトの名無しさんNGNG


ここは何のスレですかい?

0032デフォルトの名無しさんNGNG
>31
宿題を手伝う集団に関するスレだ。
0033デフォルトの名無しさんNGNG
こういうことは、ちゃんとしておかないと。
あとで揉めては困る。
0034デフォルトの名無しさんNGNG
答える側のルールまで作るなハゲ

作られてもその時の気分で勝手に答えるけど♥
0035デフォルトの名無しさんNGNG
こういう事ってどういう事?
登場人物の人間関係?
それとも、教え方のポリシー?
0036デフォルトの名無しさんNGNG
まあさ、丸写しできるコードを出すのはやめようよ。
コード書いてやるにしても、部分的にぬいてやるとか、伏せておくとかで
理解しないと完成できないような仕様に。
0037デフォルトの名無しさんNGNG
人間関係だろ?
>>30が正解だと思うけど。
0038デフォルトの名無しさんNGNG
>部分的にぬいてやるとか、伏せておくとかで
宿題の宿題ですか?(藁
0039デフォルトの名無しさんNGNG
>>36
そんな面倒なことするくらいなら全部書いちゃう♥
0040デフォルトの名無しさんNGNG
結局、「兄」の名前って未定のままだっけ?
「ひろゆき」案は却下されたのか。
0041デフォルトの名無しさんNGNG
自分で考える気もないくせにしつこく答えを迫ってくるような奴は
さっさと追い払いたいし、マルチウザイので答え出す。
0042デフォルトの名無しさんNGNG
>>30 ああ、そういう家族関係なのか。で、怜ちゃんは
最近お兄ちゃんとうまくいってないんだっけか。
0043デフォルトの名無しさんNGNG
ルールどおりに答えなかったらごちゃごちゃ言うんだろ?
なんでそんな面倒なことするんだ。
好きにさせれや。
0044デフォルトの名無しさんNGNG
>>42
喧嘩中らしい
0045デフォルトの名無しさんNGNG
教える側は、コテハンでキャラを作らないとダメってルールは無し?
0046デフォルトの名無しさんNGNG
なんとか仲直りさせてやりたいものだが
0047デフォルトの名無しさんNGNG
>>12みたいなおせっかいは自分の知り合いだけにしてくれ。
0048デフォルトの名無しさんNGNG
  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  | いっそのこと AAスレにしてみるとか
  \
     ̄ ̄ ̄ ̄|/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

     ∧ ∧ 
   (( (Д゚#,)    
     U  |
     |  @
     .U U
     ̄ ̄ ̄ ̄
0049デフォルトの名無しさんNGNG
>>48
   A
  (゚o゚)<なんでやねん
  (ー)ー
   ))
0050デフォルトの名無しさんNGNG
見ず知らずの他人の宿題なんだから答えようが放置しようがどうでもいいんじゃネーノ?
このスレに隔離しておければそれでいいじゃねーか。
0051デフォルトの名無しさんNGNG
>>35
人間関係。

まあ、レスのポリシーはちゃんと理解しようとしてるヤシ(そういうのは内容で分かる)は
理解してもらえるようにレスするし、丸投げ房は放置かコードのみを投げる。
0052デフォルトの名無しさんNGNG
>>51
人間関係は>>30で確定でいいんでないかな。
0053デフォルトの名無しさんNGNG
>>50どーい。
とにかく解答者にまでルール作るのやめてくれ。
それぞれの好きなように答えていいだろ。
0054デフォルトの名無しさんNGNG
何で人間関係が必要なんだよボゲ
0055デフォルトの名無しさんNGNG
>>54 ネタ&隔離スレだから。
0056デフォルトの名無しさんNGNG
一度ルールを作ると、ルール違反かそうでないかを巡って無駄な論争が起きる。
こういうスレは適当が一番だよ。
0057デフォルトの名無しさんNGNG
>>54
ばかやろう。このスレで一番大切なのは人間関係だ。
0058デフォルトの名無しさんNGNG
そう、適当が一番。はげ同だ。 >>56
0059デフォルトの名無しさんNGNG
>>57
Σ(゚Д゚ )y-~~ マヂデ !?
0060デフォルトの名無しさんNGNG
人間関係は別として、変なルールを巡って無駄な労力を使うのは止めようや
0061デフォルトの名無しさんNGNG
>>60 賛成。でも次の宿題まではこのままだったりして。
0062デフォルトの名無しさんNGNG
いいからさっさと宿題を持ってこい!
0063デフォルトの名無しさんNGNG

おまいらみんなあほ。
ひきこもりがなれあってんじゃねぇ。
0064デフォルトの名無しさんNGNG
どうでもいいことでスレを消費しすぎ。
0065デフォルトの名無しさんNGNG
ま、適当に。ってことで。
個人的要望としては、女性キャラを活用してほしい(w
0066デフォルトの名無しさんNGNG
>>64
オレもおもた
0067デフォルトの名無しさんNGNG
(´-`).。oO(宿題こないかなあ・・・)
0068かおるNGNG
宿題があったら持ってきてね。
0069デフォルトの名無しさんNGNG
心配するな。
教えて君は場の空気なんてお構い無しに質問してくるし、
教える側は空気なんてそもそも気にしない。
0070デフォルトの名無しさんNGNG
プログラマってキモイネ。
0071デフォルトの名無しさんNGNG
いま、教える側が供給過多になっている
0072かおるNGNG
そういえば、前スレの行列はどうなったのかしら
0073デフォルトの名無しさんNGNG
今、宿題を投げると激しく答えてもらえそうな予感。
0074デフォルトの名無しさんNGNG
C言語です。
2^1000はどうやって計算したらいいのでしょうか。
オーバーフローします。
0075デフォルトの名無しさんNGNG
nの中身を表示するプログラムを教えてください。
0076デフォルトの名無しさんNGNG
宿題です教えてください。

九九の表を出すプログラムをMINDで書けといわれますた。
MINDってなぁに?
0077デフォルトの名無しさんNGNG
>>74
言語名を書いている。教えて君度-300。
0078デフォルトの名無しさんNGNG
解答者が突然質問者になった予感
0079デフォルトの名無しさんNGNG
>>76
MINDかよ! (w
0080デフォルトの名無しさんNGNG
これから夏休みの宿題がいっぱい出てくるのかな。
ちなみに俺もそのときの気分で適当に答える派〜
0081デフォルトの名無しさんNGNG
てけとー
  てけとー
008276NGNG
こたえてよぉ〜
0083デフォルトの名無しさんNGNG
>>74
#include<stdio.h>
main(){
 printf(2^1000 = 10715086071862673209484250490600018105");
 printf( "61404811705533607443750388370351051124");
 printf( "93612249319837881569585812759467291755");
 printf( "31468251871452856923140435984577574698");
 printf( "57480393456777482423098542107460506237");
 printf( "11418779541821530464749835819412673987");
 printf( "67559165543946077062914571196477686542");
 printf( "167660429831652624386837205668069376");
}
0084オヤジNGNG
>>1
俺のティムィテムの宿題手伝ってくれるかのー
0085デフォルトの名無しさんNGNG
2の1000乗を求めようとしたんですが、答えが0になってしまいます。
どうしたらいいですか?
0086デフォルトの名無しさんNGNG
>>83
計算するだけだから、結果を表示しなくてもいいよ
0087デフォルトの名無しさんNGNG
>>83
printfは一回呼べばいいだろ。

printf("2^1000 = 10715086071862673209484250490600018105"
"61404811705533607443750388370351051124"
/* ちゅうりゃく */
"167660429831652624386837205668069376");
0088デフォルトの名無しさんNGNG
>>83
エラーがでたけどなんで?
0089デフォルトの名無しさんNGNG
>>88
"が足りない
0090デフォルトの名無しさんNGNG
>>83
forを使えと言われました。
0091デフォルトの名無しさんNGNG
>>90
for(;0;) ;
このあとに>>83
0092デフォルトの名無しさんNGNG
>>90
次に来る回答が読めるね。
0093デフォルトの名無しさんNGNG
>>86
オーバーフローするから、内部で独自表現しなければいけない。
そこで、内部で2進数表示する。で配列をもって各配列が各桁を表してる。
で、2倍するのは、一つシフトすることだから、1000回シフトしてあげる処理
をすればいい。簡単だね♪
0094デフォルトの名無しさんNGNG
>>75は放置ですか?
宿題の提出期限は明日までなんです!!
0095デフォルトの名無しさんNGNG
>>83
エラーがでます。たすけてください
0096デフォルトの名無しさんNGNG
もうネタか宿題か区別がつかん
0097デフォルトの名無しさんNGNG
>>94
とりあえず、宿題の全文書いてください。
0098デフォルトの名無しさんNGNG
>>96
ほぼ確実にネタだ。
くだらなくてもいいから本物の宿題きぼん。
0099デフォルトの名無しさんNGNG
>>96
いや、全部ネタだと思われ
010076NGNG
漏れのも答えてよぉ〜
0101デフォルトの名無しさんNGNG
>>88>>95
2^1000の前に"をいれてください。
0102デフォルトの名無しさんNGNG
暇つぶしになる面白い宿題こないかなー
0103デフォルトの名無しさんNGNG
>>100
スマソ
漏れはMINDやったこと無いんだよ
0104デフォルトの名無しさんNGNG
>>73のひとことが・・以下略
0105デフォルトの名無しさんNGNG
>>101
それでもこんなエラーが出ます。
警告 W8070 shukudai.c 11: 関数は値を返すべき(関数 main )
0106デフォルトの名無しさんNGNG
>>102
PHPでもいい?
0107デフォルトの名無しさんNGNG
C++で分数を表すクラスを作って、四則演算と不等号に関する演算子の定義をしろとか言われました。
意味不明です。助けてください。
0108デフォルトの名無しさんNGNG
>105
警告じゃん。
0109デフォルトの名無しさんNGNG
>>100

Xは1
Yは1

Xを9回繰り返す
Yを9回繰り返す
X*Yを表示する
0110デフォルトの名無しさんNGNG
>>105
スネーク、それはエラーではなくワォーニング(ワラだ。
0111デフォルトの名無しさんNGNG
>>106 ノ〜!PHP知らないや。
0112デフォルトの名無しさんNGNG
http://www.google.co.jp/search?q=%95%AA%90%94%82%F0%95%5C%82%B7%83N%83%89%83X&ie=Shift_JIS&hl=ja&btnG=Google+%8C%9F%8D%F5&lr=
0113デフォルトの名無しさんNGNG
>>106
いいよ
0114デフォルトの名無しさんNGNG
  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  | 結局みんな暇なんだね
  \
     ̄ ̄ ̄ ̄|/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

     ∧ ∧ 
   (( (Д゚#,)    
     U  |
     |  @
     .U U
     ̄ ̄ ̄ ̄
0115デフォルトの名無しさんNGNG
>>112
ありがとうございます。
ただ、できればJavaではなくて、C++でお願いしたいのですが・・・。
先生が「こういうことはJavaではできないウンヌン」言ってたのが気になります。
0116デフォルトの名無しさんNGNG
>>107
わかった。
0117デフォルトの名無しさんNGNG
なんか、逆にこのスレの人間に宿題を出すスレになりそうで怖いw
0118デフォルトの名無しさんNGNG
Cの標準ヘッダーファイルを好きなように書き換えろという宿題が出ました。
でもどうやっていいのか分かりません。。。
0119デフォルトの名無しさんNGNG
http://www.google.co.jp/search?hl=ja&inlang=ja&ie=Shift_JIS&q=C%2B%2B+%95%AA%90%94+%83N%83%89%83X+%89%89%8EZ%8Eq&btnG=Google+%8C%9F%8D%F5&lr=
0120デフォルトの名無しさんNGNG
>>118
とんでもない宿題だのう。
0121デフォルトの名無しさんNGNG
関数ポインタを使ってなんかしろ、っていう宿題が出ました。
どういった処理に使えばいいんでしょうか?
0122デフォルトの名無しさんNGNG
>>121
qsort,bsearch
0123デフォルトの名無しさんNGNG
================== 一時停止 ==================
0124デフォルトの名無しさんNGNG
>>118
#define M main
#define D #define
#define F for
#define W while
#define S switch

これで提出してみ。先生が褒めてくれるよ。
0125デフォルトの名無しさんNGNG
================== 早送り ==================

0126デフォルトの名無しさんNGNG
================== 再生 ==================
0127デフォルトの名無しさんNGNG
Javaがコンパイルできません。たすけて〜。
メモ帳で作って、Hello.javaでCドライブのtmpホルダに
保存しました。
そして、C:\tmp>javac Hello.java
でコマンド又はファイル名が違います。とでますた。
C:\tmp>dirで見てみたら、ちゃんとHello.javaが
あります。どしてコンパイルできないの?
0128デフォルトの名無しさんNGNG
パスがとおっていない
0129デフォルトの名無しさんNGNG
スレ消費しすぎ。
0130デフォルトの名無しさんNGNG
>>128
速いな (w
0131デフォルトの名無しさんNGNG
Hello.java.txt
0132デフォルトの名無しさんNGNG


すべては>>73のせいだ!

0133デフォルトの名無しさんNGNG
>>127
Javacへのパスが多分通ってません。
Javaのインストールの仕方を書いたページをあさって、がんがってください。
0134デフォルトの名無しさんNGNG
暇だったらプログラムコンテストの問題でもやってみるか?w
0135 NGNG
>>127
tmpにパスはとおしていますか。
JDKはインストールしてますよね。
0136デフォルトの名無しさんNGNG
>127
もうそのネタは飽きた。
http://www.google.com/search?q=javac+%83R%83%7D%83%93%83h%82%DC%82%BD%82%CD%83t%83%40%83C%83%8B%96%BC%82%AA%88%E1%82%A2%82%DC%82%B7&hl=ja&lr=lang_ja
0137デフォルトの名無しさんNGNG
>>135
tmpはカレントなんだからパスを通さなくてもいいだろ
013874NGNG
ごめんね。>>73の甘い言葉に誘われて(略
0139デフォルトの名無しさんNGNG
>136
ナイスキーワード(そのものずばりだが)
0140デフォルトの名無しさんNGNG
オイオイまだ3時間も経って無いのに130レスかよ
0141127NGNG
みなさんありがとうございます。
>>136さんのURLをじっくり読んでみます。
0142応用例NGNG
javacへのパスは確かに取っています。
メモ帖でtest.javaって保存して、エクスプローラでもtest.javaって
ファイルがあることを確認しました。
でも、そのフォルダに移動して
javac test.java
ってうっても、
エラー: test.java を読み込めません。
エラー 1 個
ってでてしまいます。どうすればいいでしょうか?
0143デフォルトの名無しさんNGNG
>>140
http://cocoa.2ch.net/test/read.cgi/qa/1026137974/
0144デフォルトの名無しさんNGNG
>142
.txt
0145デフォルトの名無しさんNGNG
>>144
はやいね
0146135NGNG
>>137
そだね。環境変数のことをいいたかったけど、こりゃ伝わんねーわ。(W
ねます。
0147デフォルトの名無しさんNGNG
>>143
Σ(´□`;)
0148デフォルトの名無しさんNGNG
  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  |  やっと落ち着いたか
  \
     ̄|/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧ ∧
  ( ゚Д゚)y━~~
   U  |
 〜|  | 
   U U
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0149デフォルトの名無しさんNGNG
答える気満々な時は質問がなく、たまたまちょっと覗いただけの時は
質問が滞ってるのはなぜですか?
A4レポート用紙3枚程度にまとめないといけないです。
言語は日本語です。
0150デフォルトの名無しさんNGNG
cout<<"(゚ω゚=)";
0151デフォルトの名無しさんNGNG
漏れは日本語はパスだな〜
0152デフォルトの名無しさんNGNG
>>149
しらん
0153デフォルトの名無しさんNGNG
「いけないです」って言い回しより「いけません」のほうが
好きだなぁと、昔、学部学生のレポートを添削していたときに
思ったのを149を読んで思い出した。
0154デフォルトの名無しさんNGNG
>>153
前者は幼稚な感じを受けるからだろ。
0155デフォルトの名無しさんNGNG
>>154
だったら前者のほうが好感度高いじゃないか
0156デフォルトの名無しさんNGNG
「〜しなければならない」
0157デフォルトの名無しさんNGNG
「いけないです」って日本語として正しくない気がするのだが。
0158デフォルトの名無しさんNGNG
>>149
よくわからないので、とりあえず歌ってみたいと思います。


真夜中過ぎに目がさめて 君のくれたメ〜ル読みかえす
まだ見ぬ その笑顔 僕の中で膨らむ
夢はモデムに託すもの ハ〜ドディスクは愛のLogだらけ
二人を 繋いでる 赤いモジュラ〜ケ〜ブル

チャットしていたい Ah− 君と朝が来るまで
あふれる文字 時を止める 燃えるハ〜ト抑えきれずに

悲しみの NIFTY-Serve 逢いたいけれど
君の 住む街はとても遠く
悲しみの NIFTY-Serve PAGE 送るよ 今日も
スクラコ〜ドは 二人のイニシャルさ
0159デフォルトの名無しさんNGNG
プログラムが動かないのですが、
関数を作るときに全てvoid XXXXXX(){〜〜〜〜〜〜〜〜}
としてはいけないのでしょうか?
何が悪いのか分からなくて4時間もちまちまいじってます…。(TT)
いろいろな部分を置き換えても一向に動く気配がないので、
初心者の陥りやすいミスを教えてください…。お願いします。
あと3時間で課題終わらせなくてはいけないので…。
0160デフォルトの名無しさんNGNG
動かぬソースの一部を晒して
0161デフォルトの名無しさんNGNG
>>159
あと3時間と言う当たりが怪スィな
0162デフォルトの名無しさんNGNG
>>159
コンパイルし忘れて、ソースファイルで起動しようとしてる
0163159NGNG
原因と思われる場所を晒します…。

void fie()
{
for(i=0;i<12;i++){
for(j=0;j<4;j++){
pic = f[i][j];
sp_set(sp,pic,64*j+32,i*32+32,1);
}
sp_set(sp,HIDARIAO,288,i*32+32,1);
sp_set(sp,MARUAO,320,i*32+32,1);
sp_set(sp,MIGIAO,352,i*32+32,1);
}
for(j=0;j<4;j++){
sp_set(sp,SARA,64*j+32,416,2);
}
}

中略
そして、mainの中です。↓

while(!(GetKeyState(VK_ESCAPE) & 0x80)){
fie();
sp_set(sp,MARUAKA,320,point*32,2);

fieが全く認識されません…。(つд`;)
お願いします…。
0164デフォルトの名無しさんNGNG
>>162
うちの祖母でもそんなことはしでかさない
0165159NGNG
コンパイルは通りました。
あと3時間ていうのは学校が遠いのに早朝に締めきりがあるんです…。
発狂しそうです。。゚・(つд`)・゚。
0166デフォルトの名無しさんNGNG
>>163
単体でfie()を呼んでみる
whileの条件が妥当か検討する
0167デフォルトの名無しさんNGNG
マジ質問?
0168デフォルトの名無しさんNGNG
while の中身が実行されてないのでは。
0169デフォルトの名無しさんNGNG
ああっ
http://www.google.com/search?q=%83l%83C%83e%83B%83u%83R%83%93%83p%83C%83%89%82%C6%82%CD&hl=ja&ie=Shift_JIS
0170159NGNG
>166
この場合のwhileの条件式は、Escキーが押されていない場合ですよね?
なら、条件は間違ってないのですが…。

>168
なぜか文字入力だけ出来ました…。
画像は数値を変えたりしましたがダメでした。(;;
0171デフォルトの名無しさんNGNG
埒があかねぇな。どっかのうpろだに固めてぜんぶあげてみ。
0172159NGNG
http://isweb34.infoseek.co.jp/play/sage2/up/0061.lzh
まだ全然まともじゃないですし、お手数かけますがお願いします…。
0173デフォルトの名無しさんNGNG
>>172
> int main(char *argv)

これはないだろ
0174デフォルトの名無しさんNGNG
>>172
#include "stdio.h"

同じフォルダにstdio.hなんて入っていないようだが?
0175172NGNG
あう、それなんですが、
私が受けている授業では変則的なコンパイラを使っているらしく、
その形から省略できないとの事です。(つд`)

int 以外の部分を削るとエラーが出ました…。すみません…。
0176デフォルトの名無しさんNGNG
>>175
あなたはタナカヒサテルさんではないのね?
0177172NGNG
うう、授業で習ったことはいいかげんなことだったんでしょうか(;;
#include "stdio.h"
…も、おまじないみたいなものだから入れておくようにと指示がありました。

いろいろとお騒がせしました…。ごめんなさい。
もう一度テキストとにらめっこしながらここの助言を参考に頑張ります…。

>176
違いますよ? タナカさんってどなた?
0178デフォルトの名無しさんNGNG
#include <stdio.h>
0179デフォルトの名無しさんNGNG
なんかそら恐ろしい授業だなぁ。
0180デフォルトの名無しさんNGNG
VC6でコンパイル通ったぞ。
どんなコンパイラ使ってるんだ?

頭の"stdio.h"は<stdio.h>に直せ。
それからtime.hがいる。
0181デフォルトの名無しさんNGNG
ageとこう
0182デフォルトの名無しさんNGNG
include を "おまじない" で済ましちゃう授業なんて有るのか。
0183デフォルトの名無しさんNGNG
おまじないはまだ許せるけど""で括るように教えてるのは。。。
0184デフォルトの名無しさんNGNG
しかし >>172 はもう見てないのかね
0185デフォルトの名無しさんNGNG
180だが。
なんだコンパイルは通ったのか・・・
でももう消しちゃった。
0186デフォルトの名無しさんNGNG
これってDirectX使ってるの?
VCもbccもFatalがでる。libが開けないらしい。
0187デフォルトの名無しさんNGNG
俺も同じく。
lib開けないらしい
0188デフォルトの名無しさんNGNG
libへのパスが通ってないとか、じゃなく?
0189デフォルトの名無しさんNGNG
>>188
パスじゃなくてファイルそのものが無かった。
0190デフォルトの名無しさんNGNG
あらま。
0191189NGNG
こんなのみつけた。
ttp://www.borland.co.jp/cppbuilder/freecompiler/faq/bccfaq3.html
DirectXなんて使ったことなかったから知らなかったよ。
なんとかコンパイルは通ったけど、もう寝る。
がんばれよ。
0192デフォルトの名無しさんNGNG
c言語でコメント(/*…*/)を削除するプログラムを作りたいのですが
printf("コメントは/*…*/で表記する");
といった2重引用符中の/**/を消しちゃあまずいわけで、
こういった場合はどう処理すればいいでしょうか?

IN or OUT をとる関数stateを作り、
入力が"かつstate=OUTの場合stateをINに、
入力が"かつstate=INの場合stateをOUTとして
state=INの場合にはコメントは削除しない。
state=OUTの場合にはコメントを削除する。
として見たところ上の例ではうまく作動しますが
printf("\"");/*…*/
となると\"の"でOUTになってしまい、うまくいきません。
"の直前が\の場合にOUTにはしないと条件を加えてたところ
printf("\\");/*…*/
を出力したい場合に誤作動することになってしまいます。

何かスマートな方法があれば御指南願います。
0193デフォルトの名無しさんNGNG
>>192
オートマトン
0194デフォルトの名無しさんNGNG
>>192
そこまで行って、なぜ・・・
0195デフォルトの名無しさんNGNG
>>192
色が変わるエディタの画面をキャプチャして解析すれ
0196デフォルトの名無しさんNGNG
>>192
stateを2つに限らず、4つとか5つにしてもいいっしょ。
0197デフォルトの名無しさんNGNG
なるほど、オートマトンってこういうときに便利なんですね。
しかしながらC言語の宿題な訳で、
受理する受理しないをプログラムで、といわれても
それこそワケ・ワカ・ラン!な状態です。
0198デフォルトの名無しさんNGNG
>>197
とりうる状態をオートマトンで書いてみれ。
0199かおるNGNG
"だけではなくて、\も特殊文字として扱ってあげてください。
0200デフォルトの名無しさんNGNG
取り敢えず、

1)最初の"/"
2)最初の"*"
3)二番目の"*"
4)二番目の"/"
5)最初の'"'
6)二番目の'"'
7)最初の"\"
8)二番目の"\"

8つのstateを用意してやってみ。
0201デフォルトの名無しさんNGNG
>>192
2文字ずつ取ってみたら?
0202192NGNG
こんな時間に人いっぱいいますね
皆様。かんしゃぁ〜

>>196殿
そういうことも考えたのですが、
printf("\t\\\\\\\\\\\\\\\"");
みたいな状況(かなり無茶苦茶ですが)の時
\の個数が偶数かつ\"で…とか
もしくは\\\"となったときの"は…
など状況毎にstateを作ると
あまりに非効率な気がした物で。

これをオートマトンでやれば効率がいい
というのは十分理解できるのですが、
オートマトン履修中の身で、かん移図
描いてみても、かなり怪しい気がします。
197に書いたようにプログラムにすると…
あと、C言語歴は4月からです。
0203デフォルトの名無しさんNGNG
>>202
いや・・・・状況毎にstateを作る、まさにそれが「決定性有限状態オートマトン」
なわけですが。それしか方法ないです。
0204デフォルトの名無しさんNGNG
こういう状態遷移が起きるものは、
オートマトンの考え方を使えば
頭の中を整理してプログラムを作れて良いよってこと。
0205デフォルトの名無しさんNGNG
嘔吐マン
0206オートマトンが怪しい192NGNG
スレのスピードと自分の思考が追いつかないです(;´Д`)

\をどう処理すべきかな訳ですね。
\t\nと\\\nの\の状態を単純に
IN OUT の状態で判断できるのかな?むぅ
って感じで、別の状態として考えるべきか
と考えつつ、むぅぅぅう??です。


>>203殿
自分は状態が不完全な形で
やっていた訳ですな。


とりあえず○○×を受理する場合。
とか状態数が少ない場合を
じっくり考えつつやってみようかと思います。

スレを返してくれた方々サンクスコ!
0207205NGNG
>>206
> スレを返してくれた方々サンクスコ!
いやいや、どういたしまして。
0208デフォルトの名無しさんNGNG
とりえあず、
スレを返すってなに?
と自分でつっこんでおきます。
0209159NGNG
159です。みなさん、ありがとうございました〜。
提出はできなかったけど(おかげで完成はできましたけどね)、
プログラムが嫌いにならないですみました。
本当に感謝です。
0210デフォルトの名無しさんNGNG
>>206
単に\が来たら次の文字を読みとばす、とかじゃダメですか?
眠いのでおかしなこと言ってたらすまそ
0211デフォルトの名無しさんNGNG
提出が午前4時迄ってなんかすごいね
0212デフォルトの名無しさんNGNG
すみません、課題で余因子行列を使って逆行列をもとめる
Cのプログラムを作っているのですが、プログラムで
余因子行列をどうやって求めればいいかわかりません。
教えてくださいです。
0213デフォルトの名無しさんNGNG
>>212
余因子行列の求め方自体は知っているのか?
0214212NGNG
>>213
一応知っているのですが、どうやってプログラムとして書けば
いいのか、うまいこと思いつかないです。
0215デフォルトの名無しさんNGNG
>>214
配列に放り込んで求めるってのじゃだめ?
スマートな方法は良くわからん。
0216212NGNG
>>215
配列を使って行列を入力してそこから余因子行列をどうやって
求めればいいかわからないでのですが、
0217デフォルトの名無しさんNGNG
>>216
それは公式で求められるでしょ。
よく公式に使われるi,jを配列の要素と考えれば。
で、i,jの回数分forで回す。

それとも俺が余因子行列を勘違いしてるのかな・・・。
0218デフォルトの名無しさんNGNG
(´-`).。oO(余因子行列というものが分からなくて力になれない)
0219212NGNG
>>217
説明不足でした。
公式で求めようとすると、for文をどこで使えばいいかがわからないのです。
連続性がわからないと言うか
0220デフォルトの名無しさんNGNG
>>219
余因子行列の求め方を書け
0221デフォルトの名無しさんNGNG
>>219
スキップするところは、if と continue で。
0222212NGNG
>>220
求め方が載っているページです。
http://aglaia.c.u-tokyo.ac.jp/~yamamoto/Math/system/node8.html
後、3×3行列の場合っていうのを忘れていました。
0223212NGNG
こっちの方が説明がわかりやすいかもです。
http://www.ge.kochi-ct.ac.jp/~fujii/java/senkei/g1_71.htm
0224デフォルトの名無しさんNGNG
3x3だったら全部の要素を書いちゃえば?
一般に作るなら、行列式を求める部分と
i行j列を省く部分を作ればいいかな
0225212NGNG
>>224
i行j列を省いてどのように作ればよいのでしょうか?
0226デフォルトの名無しさんNGNG
>>225
省いた列(j列)には 単位行列の列(j列)をぶち込めば良いんじゃないのか?
0227デフォルトの名無しさんNGNG
>>226
まじで?
0228デフォルトの名無しさんNGNG
A[i][j]の余因子は、行列A の j列において i行のみが 1 となる行列の行列式だろ?
サラスで行列式を求め、あとはクラメルの公式を使って
行列A の逆行列を求めれば良いのでは?

もう行列なんて覚えてないから自信ないけどさ……
0229212NGNG
>>229
プログラム書いていただけませんか?
0230デフォルトの名無しさんNGNG
宿題を、全部やれ、と。
0231212NGNG
yes
0232デフォルトの名無しさん NGNG
for文のプログラム
  sum:=0;
  for i:=1 to 10 do
begin
sum:=sum+i
end ;
while文のプログラム 
   sum:=0;
    i :=1;
while i<=10 do
begin
( )
end; 
同じ働きをするには( )になにを記入すればいいんですか?
0233デフォルトの名無しさんNGNG
いまどきPascalで授業してるところがあるのか。。。
0234 NGNG
sum = sum + i

じゃないの?
0235デフォルトの名無しさんNGNG
>>234
それじゃ無限ループだろ
0236デフォルトの名無しさんNGNG
つか、コンパイルとおらないし。
0237デフォルトの名無しさんNGNG
こんなのも出来ないの?ここの人達
0238デフォルトの名無しさんNGNG
ほう、これが煽りですか。
0239デフォルトの名無しさんNGNG
相当低ラベルですね。
0240デフォルトの名無しさんNGNG
Writeln( 'こんな単位いらんぞグゥオラ!' );
i:=10000;
0241デフォルトの名無しさんNGNG
ママ、サンタクロースはいるの?
0242デフォルトの名無しさんNGNG
昨年末、住居不法侵入で逮捕されて獄中なのよ。
0243デフォルトの名無しさんNGNG
Pascalはインクリメントって無いんだよね?
i:=1になるのか?
0244ツリーNGNG
おい、お前ら!
リストとツリーの違いを教えてください。
おねがいします。
0245デフォルトの名無しさんNGNG
sum := sum + 1;
i := i + 1;
漏れ天才。
0246デフォルトの名無しさんNGNG
>>245
だめじゃん
0247245NGNG
漏れ凡才?
0248デフォルトの名無しさんNGNG
sum:=55
0249245NGNG
sum := sum + i;
i += i + 1;
漏れ秀才。
0250リストNGNG
>>244
同じところのほうが教えづらいよ
0251245NGNG
漏れ低脳発覚。
i := i + 1;
0252デフォルトの名無しさんNGNG
みんな、暇だからネタでやっているんだよね?
0253デフォルトの名無しさんNGNG
>>249
最初ので良かったんじゃないの?
Pascal知らんけど
0254デフォルトの名無しさんNGNG
>253
だめぽいじゃん
0255デフォルトの名無しさんNGNG
馬鹿ばっか┐(;´〜`)┌
0256ツリーNGNG
おい!
俺の質問にも答えてください。
おねがいします。
0257デフォルトの名無しさんNGNG
>>256
貴殿の考えをとりあえず書きなされ。
みんなが総力あげて叩く
0258ツリーNGNG
おい!
メリークリトリス!!
0259デフォルトの名無しさんNGNG
保守。
0260デフォルトの名無しさんNGNG
tree_baka
0261デフォルトの名無しさんNGNG
>>256
根本的に違う。データ構造という以外に共通点はない。以上。
0262デフォルトの名無しさんNGNG
ママ、クリトリスってなぁに?
0263ツリーNGNG
根本的にデータ構造という共通点があるんじゃねえの?ゲラ
0264デフォルトの名無しさんNGNG
>>262
http://www.kao.co.jp/peony/laurier/backnum/23/23/img/ank-i03b.gif
0265デフォルトの名無しさんNGNG
最近はスレ立てたキャラが出てこないんだな。
0266デフォルトの名無しさんNGNG
ネタスレ
0267デフォルトの名無しさんNGNG
くりとりす(゚д゚)ウマー
0268デフォルトの名無しさんNGNG
>>267
あまりおいしくなかったよ
0269デフォルトの名無しさんNGNG
リストとツリーの解説なら、30分くらいがんばって検索すれば
見つかるんじゃねーの?
0270デフォルトの名無しさんNGNG
>269
よそで聞き始めたから、検索する気ゼロっぽいですな
0271212NGNG
すみません、行列を入力して行列式を計算して、そのあとに余因子行列を表示して
逆行列を表示して、行列と逆行列の掛け算を表示するように作ったのですが、
どこが間違っているかわりますか?
float mat2[3][3],e[3][3];
int a[3][3],mat[3][3],i,j,x,y,z;

for(i=0;i<3;i++)
{for(j=0;j<3;j++){
scanf("%d",&a[i][j]);}}

for(i=0;i<3;i++){for(j=0;j<3;j++){mat[i][j]=0;mat2[i][j]=0.0;}}
x=0;y=0;z=0;
y=a[0][0]*a[1][1]*a[2][2]+a[0][1]*a[1][2]*a[2][0]+a[0][2]*a[1][0]*a[2][1];
z=a[0][2]*a[1][1]*a[2][0]+a[0][1]*a[1][0]*a[2][2]+a[0][0]*a[2][1]*a[1][2];
x=y-z;

for(i=0;i<3;i++){
printf("%4d %4d %4d \n",a[i][0],a[i][1],a[i][2]);}
printf("行列aの行列式は%dです。\n",x);

else{
mat[0][0]=a[1][1]*a[2][2]-a[1][2]*a[2][1];
mat[0][1]=a[0][1]*a[2][2]-a[0][2]*a[2][1];
mat[0][2]=a[0][1]*a[1][2]-a[0][2]*a[1][1];
mat[1][0]=a[1][0]*a[2][2]-a[1][2]*a[2][0];
mat[1][1]=a[0][0]*a[2][2]-a[0][2]*a[2][0];
mat[1][2]=a[0][0]*a[1][2]-a[0][2]*a[1][0];
mat[2][0]=a[1][0]*a[2][1]-a[1][1]*a[2][0];
mat[2][1]=a[0][0]*a[2][1]-a[0][1]*a[2][0];
mat[2][2]=a[0][0]*a[1][1]-a[0][1]*a[1][0];



for(i=0;i<3;i++){for(j=0;j<3;j++)
mat2[i][j]=mat[j][i] / x;}
or(i=0;i<3;i++)
{printf("%4d %4d %4d \n",mat[0][i],mat[1][i],mat[2][i]);}


printf("逆行列a^-1です。\n");
for(i=0;i<3;i++){
printf("%4.2f %4.2f %4.2f \n",mat2[i][0],mat2[i][1],mat2[i][2]);}
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
e[i][j]=0.0;}

for(i=0;i<3;i++){for(j=0;j<3;j++){
e[i][0]+=a[i][j]*mat2[j][0];
e[i][1]+=a[i][j]*mat2[j][1];
e[i][2]+=a[i][j]*mat2[j][2];}}
printf("aの行列と逆行列の計算です。\n");
for(i=0;i<3;i++)
{printf("%4.2f %4.2f %4.2f \n",e[i][0],e[i][1],e[i][2]);}
0272デフォルトの名無しさんNGNG
激しく読みたくねぇ
0273デフォルトの名無しさんNGNG
わかるません。
0274デフォルトの名無しさんNGNG
>>271
自分はどう思うのですか?
0275デフォルトの名無しさんNGNG
>>271
とりあえず、ifが見あたらないのにelseがあるのはどういうことか説明してくれ。
0276デフォルトの名無しさんNGNG
or(i=0;i<3;i++)

0277デフォルトの名無しさんNGNG
xが0の時とかどうなんの?
0278デフォルトの名無しさんNGNG
mat2[i][j]= mat[j][i] / x;
キャストしてやれ
0279C言語NGNG
move -1.23456e+01 -9.999999e+05

↑のような文字列から-1.23456e+01だけを取り出して
double型に変換して使いたいんですがどうすればいいかわかりません.
あほな質問ですがどうぞよろしく.
ちなみに-1.23456e+01は %e で表示されているようです.
0280デフォルトの名無しさんNGNG
>>279
double a, b;
sscanf("move %e %e", &a, &b);
0281デフォルトの名無しさんNGNG
atof
0282デフォルトの名無しさんNGNG
%le じゃねーの? double なんだろ。

漏れが昔ハマったんだが。
0283デフォルトの名無しさんNGNG
>>282
そうだね。printf()系は"l"を付ける必要はないんだが、scanf()系は
付けないとfloatになってしまう。
0284デフォルトの名無しさんNGNG
>>271
行列式を求める関数を作れ。
0285デフォルトの名無しさんNGNG
>>271

printf("行列aの行列式は%dです。\n",x);

else{ ←これ

mat[0][0]=a[1][1]*a[2][2]-a[1][2]*a[2][1];

この else は、ifを持たない else なのでおかしいです。
0286デフォルトの名無しさんNGNG
誰か、10桁の素数割り出しプログラム作ってください。
0287デフォルトの名無しさんNGNG
>286
手伝うぐらいならかまわんが。
0288デフォルトの名無しさんNGNG
>>286
・質問内容がちゃんと日本語になっていること
・言語名を入れること。
・自分の力で頑張ってみたことを伝えられる人。
・どこまでわかったのかを書くこと。
0289デフォルトの名無しさんNGNG
粘着くん登場
0290デフォルトの名無しさんNGNG
三つ目が人で終わってるのに思わず笑った。
0291デフォルトの名無しさんNGNG
>>286
http://www.asahi-net.or.jp/~KC2H-MSM/mathland/matha1/matha101.htm
0292291NGNG
3×3行列の逆行列を出力するプログラムを教えてください。
お願いします。
0293デフォルトの名無しさんNGNG
>>292
簡単な奴だと二通りある。

1)掃き出し法(ガウス・ジョルダン消去法)で求める。
2)余因子行列から求める。
0294291NGNG
>>292
どちらが簡単ですか?
0295デフォルトの名無しさんNGNG
本に書いてある逆行列を求める関数を丸写し。

void int(double a[NN][NN])
{
 int i, j, k;
 double p, q;
 for (k = 0; k < NN; k++) {
  p = a[k][k];
  a[k][k] = 1.0;
  for (j = 0; j < NN; j++) a[k][j] /= p;
  for (i = 0; i < NN; i++) {
   if (i != k) {
    q = a[i][k];
    a[i][k] = 0.0;
    for (j = 0; j < NN; j++) a[i][j] -= q * a[k][j];
   }
  }
 }
}
0296291NGNG
>>295
エラーになるよ
0297デフォルトの名無しさんNGNG
>>292
余因子行列は、行列式を求めてから計算しなければいけないが、
3×3までの行列なら公式で導ける。それ以上になると行列式を
求めるのが面倒。

掃き出し法は手計算が面倒だが、コンピュータ向き。>>295に例を
示した。
0298デフォルトの名無しさんNGNG
>>296
全角スペースを半角スペースにしてください。
0299291NGNG
>>298
voidとintを両方指定することはできません。ってでるんですけど・・・。
0300デフォルトの名無しさんNGNG
>>299
あとは自力でやれ
0301デフォルトの名無しさんNGNG
>>299
プロトタイプ宣言が抜けている。
ヘッダファイルのインクルードの後に次の一行を入れれ。

void int(double a[NN][NN]);
0302デフォルトの名無しさんNGNG
>>301
> プロトタイプ宣言が抜けている。
そういう問題じゃないだろ。
0303デフォルトの名無しさんNGNG
関数名が予約語(int)になってるのがまずいのでは?
0304デフォルトの名無しさんNGNG
ぐわあああああああーーーーーースンマソン!!!!!!

int()は写し間違えた。指が勝手に動いて・・・・・
inv()と書くつもりでした。ごめんごめんごめん。
0305デフォルトの名無しさんNGNG
>>304
反応が面白いので許す。
0306291NGNG
>>304
それでもエラーが・・・
0307デフォルトの名無しさんNGNG
>>306
さすがに今度はコンパイルして確かめてみたよ。あとエラーが出るとすれば

#define NN 3

を付けてないことぐらいかな?
0308291NGNG
#define NN 3
void inv(double a[NN][NN])
{
int i, j, k;
double p, q;
for (k = 0; k < NN; k++) {
p = a[k][k];
a[k][k] = 1.0;
for (j = 0; j < NN; j++) a[k][j] /= p;
for (i = 0; i < NN; i++) {
if (i != k) {
q = a[i][k];
a[i][k] = 0.0;
for (j = 0; j < NN; j++) a[i][j] -= q * a[k][j];
}
}
}
}
>>307
でないっすよ
0309デフォルトの名無しさんNGNG
任意次元の行列式を求める方法が分かっていても、
それをプログラムに直すことが出来ない。
0310デフォルトの名無しさんNGNG
>>306
なんてエラーが出てるんだ?
0311デフォルトの名無しさんNGNG
>>308
-=・=- -=・=-
気になる。エラーメッセージをコピペしてくれ。
0312デフォルトの名無しさんNGNG
まさか・・・・・・とは思うが、main()関数を書いてないのか?
そこまではフォローしきれんぞ。誰か後をたのむ。
0313291NGNG
>>311
パーサーエラーってでるんですよ
0314デフォルトの名無しさんNGNG
>>313
parserエラー?内部エラーじゃないの?コンパイラは何?
0315291NGNG
>>314
Cmachine
0316デフォルトの名無しさんNGNG
>>315
ちょっと待ってて。Cmachineはさすがに入れてないから取ってくる。
0317デフォルトの名無しさんNGNG
Cmachine バージョン2.00ならエラー出なかったぞ。

#define NN 3

void inv(double a[NN][NN]);

int main(void)
{
double mat[NN][NN];
inv(mat);
return 0;
}

void inv(double a[NN][NN])
{
int i, j, k;
double p, q;
for (k = 0; k < NN; k++) {
p = a[k][k];
a[k][k] = 1.0;
for (j = 0; j < NN; j++) a[k][j] /= p;
for (i = 0; i < NN; i++) {
if (i != k) {
q = a[i][k];
a[i][k] = 0.0;
for (j = 0; j < NN; j++) a[i][j] -= q * a[k][j];
}
}
}
}
0318C勉強中@VB厨NGNG
int main(void) {
double a[3][3];
a[0][0] = 1;
a[0][1] = 1;
a[0][2] = 1;
a[1][0] = 1;
a[1][1] = 2;
a[1][2] = 3;
a[2][0] = 2;
a[2][1] = 4;
a[2][2] = 5;

int i, j, k;
double p, q;
for (k = 0; k < 3; k++) {
p = a[k][k];
a[k][k] = 1.0;
for (j = 0; j < 3; j++) a[k][j] /= p;
for (i = 0; i < 3; i++) {
if (i != k) {
q = a[i][k];
a[i][k] = 0.0;
for (j = 0; j < 3; j++) a[i][j] -= q * a[k][j];
}
}
}

int c,d;
for(c=0;c<=2;c++) {
for(d=0;d<=2;d++) {
printf("inv a[%d][%d] = %d\n",c,d,a[c][d]);
}
}
return 0;
}

エラーは出ないが、正しい値が求まらない
0319291NGNG
0で割ってますとか出てくるんだけど
0320デフォルトの名無しさんNGNG
http://www.fuka.info.waseda.ac.jp/~kozo/suuchi/simple_equation/simple_equation_4.html
0321デフォルトの名無しさんNGNG
>>318
doubleの表示は"%f"です。

>>319
if文の位置が本では間違っていたようです。次に正しいプログラムを
書きます。
0322デフォルトの名無しさんNGNG
#include <stdio.h>

int main(void) {
double a[3][3];
int i, j, k;
double p, q;
int c,d;

a[0][0] = 1;
a[0][1] = 1;
a[0][2] = 1;
a[1][0] = 1;
a[1][1] = 2;
a[1][2] = 3;
a[2][0] = 2;
a[2][1] = 4;
a[2][2] = 5;

for (k = 0; k < 3; k++) {
p = a[k][k];
a[k][k] = 1.0;
for (j = 0; j < 3; j++) a[k][j] /= p;
for (i = 0; i < 3; i++) {
q = a[i][k];
a[i][k] = 0.0;
if (i != k)
for (j = 0; j < 3; j++) a[i][j] -= q * a[k][j];
}
}

for(c=0;c<=2;c++) {
for(d=0;d<=2;d++) {
printf("inv a[%d][%d] = %f\n",c,d,a[c][d]);
}
}
return 0;
}
0323291NGNG
>>320
LU分解法は習ってないで・・・
0324C勉強中@VB厨NGNG
>>321
> doubleの表示は"%f"です。

は・・・恥ずかしい・・・


a[0][0] = 2;
a[0][1] = 1;
a[0][2] = -1;
a[1][0] = -1;
a[1][1] = -3;
a[1][2] = 2;
a[2][0] = 0;
a[2][1] = 2;
a[2][2] = -1;

が正解
0325デフォルトの名無しさんNGNG
>>320
LU分解ですね。クラウト法により下三角行列、上三角行列に
分けて計算する方法です。大きな行列では特に速度が向上
します。

3×3程度の行列ではかえって煩雑です。それよりも、a[0][0] = 0
のような行列が解けない問題があるので、ピボット選択について
考慮した方がいいかもしれません。
0326C勉強中@VB厨NGNG
こんなんどうですか。

#include <stdio.h>
#include <memory.h>

int determinant(int a[3][3]);

int main(void) {
int a[3][3],b[3][3],detA;// a:元行列 b:余因子行列 detA:行列Aの行列式
int c[3][3],i,m,k;// temp
double r[3][3];// 結果

a[0][0] = 1;
a[0][1] = 1;
a[0][2] = 1;
a[1][0] = 1;
a[1][1] = 2;
a[1][2] = 3;
a[2][0] = 2;
a[2][1] = 4;
a[2][2] = 5;

// 行列式を表示するモナー
detA = determinant(a);
printf("detA = %d\n",detA);

// 余因子行列を表示するモナー
for(i=0;i<=2;i++) {
for(m=0;m<=2;m++) {
memcpy(c,a,sizeof(a));
for(k=0;k<=2;k++) {
if(k==i) { c[k][m]=1; }else{ c[k][m]=0; }
}
//r[i][m] = determinant(c) / detA;
b[i][m] = determinant(c);
printf("b[%d][%d] = %d\n",i,m,b[i][m]);
}
}

// 逆行列を表示するモナー
for(i=0;i<=2;i++) {
for(m=0;m<=2;m++) {
r[i][m] = b[m][i] / detA;
printf("r[%d][%d] = %f\n",i,m,r[i][m]);
}
}

return 0;
}

// 行列式を求める関数モナー
int determinant(int a[3][3]) {
return a[0][0]*a[1][1]*a[2][2]+a[0][1]*a[1][2]*a[2][0]+a[0][2]*a[1][0]*a[2][1]
-a[0][2]*a[1][1]*a[2][0]-a[0][1]*a[1][0]*a[2][2]-a[0][0]*a[2][1]*a[1][2];
}
0327デフォルトの名無しさんNGNG
>>326
ご苦労様でした・・・・・余因子行列を求める部分は再帰的に適用すれば
もっと大きなプログラムにも使えるでしょう。しかし大変ですね。
0328hilaNGNG
C言語でのバケットソートがわかりません。
普通にバケットソートでソートすればいいのですが・・・
Googleで検索して見つけたとこを見ながらやってるのですが
解説がないのでよくわかりません・・・
ここですが。
http://www.biwa.ne.jp/~ymatsu/program/C_Prog/bucket.txt

ポインタrearやbeforeの用途がよくわからないのですが・・・
全体のアルゴリズムを簡単にでも解説してくれればたすかります
hila(20:18 PM) :
これかいて
0329デフォルトの名無しさんNGNG
>>328
うむ。バケットソートの説明としては恐ろしく分かりにくい。
バケットソートしたいだけならキューなんか使わず配列でやれ。
0330hilaNGNG
ila(20:47 PM) :
あー、やっと7-1おわった
hila(20:47 PM) :
また書いて
hila(20:48 PM) :
質問しといてなんですが
なんとかわかりました(笑)
0331デフォルトの名無しさんNGNG
hila(20:48 PM) :
とかってなんだったんだろ
0332デフォルトの名無しさんNGNG
>>331
何かのメモっぽいけど……なんだろ。
0333333NGNG
333get!!
0334hilaNGNG
今度はマージソートで、またあるサイトを見ながらやってるのですが
条件分岐でわからないところがあります。
0335hilaNGNG
ila(02:58 AM) :
今度はマージソートで、またあるサイトを見ながらやってるのですが
条件分岐でわからないところがあります。
http://www.biwa.ne.jp/~ymatsu/program/C_Prog/merge.txt
ここの関数mergeの中のif文の条件、j>rとi<=qは
何を意味するのでしょう?
確かにこれがないと上手くいかないのですが・・・
0336デフォルトの名無しさんNGNG
>えれなさん

あなたぴたテンとかみてますか?
0337336NGNG
まちがえました
>かおるさん
0338デフォルトの名無しさんNGNG
>>335
重くて見れんぞ。それに、マージソートはリスト構造向き。
配列でやろうとすると苦労する。
0339デフォルトの名無しさんNGNG
ごはんとかできます
0340デフォルトの名無しさんNGNG
>>339
作ってくれぃ
0341デフォルトの名無しさんNGNG
>>339
いや是非俺に作ってくれ。
0342デフォルトの名無しさんNGNG
冷やし中華始めました。
0343デフォルトの名無しさんNGNG
>>342
ごまダレでおねがいすます。
0344デフォルトの名無しさんNGNG
かおるタンが作ってくれるのか?
宿題ばかりでなく料理まで・・・ハァハァ
0345デフォルトの名無しさんNGNG
>>335
わかったよ。マージソートは、2つのラン(ソート済み配列)をボトムアップ
的に併合してソートする方法で、このプログラムではそのランとは、

1.i は p〜q
2.j は p+1〜r

をインデックスするようになっている。したがって i と j がそれぞれの範囲を
はみ出してしまうと、同じ値が2度以上書き込まれてしまうので、j>rとi<=q
という条件が必要なのです。特に j は範囲を上へはみ出すと配列外を指して
しまうのでまずい。
0346デフォルトの名無しさんNGNG
>>345
スマソ。

× j は p+1〜q
○ j は q+1〜r

です。
0347かおるNGNG
>>344
私を料理してください。
0348デフォルトの名無しさんNGNG
う〜このBBS訂正がきかないので困るな〜。

× j は q+1〜r
○ j は q+1〜r-1
0349デフォルトの名無しさんNGNG
>>347
蜂蜜がけで宜しいですか?
0350デフォルトの名無しさんNGNG
>>347
うちのおかんと同じ名前で萎え萎え〜
0351デフォルトの名無しさんNGNG
http://scripts.s3.xrea.com/homework/
質問と回答もまとめようかと思いましたが、
あまり意味が無さそうな上に大変なので
後回しにしますた。

じゃあこのページの存在意義は?
0352デフォルトの名無しさんNGNG
>>351
おつかれ。
でも、反射神経で質問じゃなくて脊髄反射でないかい?
0353デフォルトの名無しさんNGNG
>>352
修正しときますた。にしても試しにVS.NETでHTML編集をしてみたんですが、
案の定、滅茶苦茶見難いソースに変換されますた。
0354デフォルトの名無しさんNGNG
Meta name="description"
が涙でよく見えない。。。
0355デフォルトの名無しさんNGNG
>>350
うちのおかんとも同じ名前〜
0356デフォルトの名無しさんNGNG
>>349
蜂蜜がけはかなりエロイイ!よ。
でも風呂場とかでやらないと後始末大変。
0357デフォルトの名無しさんNGNG
ps |grep の実行結果をkillしたいのですが
うまくいきません。
よろしくおねがいします。

main()
{
int x[1000];
int *px;
px=&x[0];

*px=system("ps |grep ppppp ");
system("kill %s",px);
}
0358デフォルトの名無しさんNGNG
入力した2つの数字を足して出力するという単純なプログラムなんですが、
何故か入力ルーチンの挙動がおかしいです。
言語は8086アセンブラです。
mainprocnear
mov ax,Data
mov ds,ax
;--------------------------------------
mov bl,31h
LOOP_1: mov ah,02h ;何回目かの入力を出力
mov dl,bl
int 21h
mov ah,09h   ;→を出力
mov dx,offset P_1
int 21h
call Input
inc bl
cmp bl,33h
jnz LOOP_1
;--------------------------------------
mov ax,4C00h
int21h
mainendp
;--------------------------------------
Inputprocnear
mov cx,03
IN_LOOP:mov ah,01h
int 21h
cmp al,0dh
jz IN_EXIT
sub al,30h
mov ah,00
push ax
loop IN_LOOP
mov ah,09h
mov dx,offset E_1;改行してます
int 21h
IN_EXIT:ret
Inputendp
;--------------------------------------
Codeends
endmain
アセンブラで申し訳ないんですが何方か助言をお願いします。
0359デフォルトの名無しさんNGNG
さてと、恒例だが、
>>357
うまくいかないってなんだ。
環境は何を使ってるんだ。
0360デフォルトの名無しさんNGNG
>>358
挙動がおかしいって何?
0361デフォルトの名無しさんNGNG
アセンブラを教えてる学校ってあるんだ
0362358NGNG
ミスってる・・・
正しくは
mainprocnear→main proc near
mainendp→main endp
Inputprocnear→Input proc near
Inputendp→Input endp
Codeends→Code ends
endmain→end main    です。
0363デフォルトの名無しさんNGNG
>>357
system("kill %s",px);
ってなんスか?
0364358NGNG
>>360
なんか入力する数字によっては、CPUが不正な命令を検出しました
とか画面がバグったりするんです。
0365デフォルトの名無しさんNGNG
>>361
うちの学校もやってたよ。聞くところによるとまだやってるらしい。
0366357NGNG
>>359
レスどうもです。
一度目のsystem()の実行はうまくいっているのですが、
systemの実行結果を配列に格納する作業がうまくいっていないようです。
環境はred hatです。

>>363
現在実行中のpppppというプロセスを
killコマンドで強制終了させたいのです。
0367デフォルトの名無しさんNGNG
>>366
実効がうまくいってるっていうのはどうやって確認できたの?
0368デフォルトの名無しさんNGNG
つか、コンパイルできないとおもうんだけどな、、
あ、宣言なしはint system(...);の規則が適用されてるのか。
0369357NGNG
>>367、>>368
コンパイルエラーはでなかったので、a.outで実行を確認できました。
systemの次の行にprintfを入れて配列の中身を見ようとしたんですが、
何も入っていないので、そこが悪いようです。
だからsystemの実行結果を配列に格納する方法を教えてもらえると
ありがたいです。
0370デフォルトの名無しさんNGNG
Matlabっていうプログラムの質問よろしいですか?
余弦波のDFT時間とFFT時間を求めるときってどういうコマンドで良いのでしょうか?
リスト。
N=2048;
f=0.1;
A=1.0;
n=0:1 :N-1;
x=A*cos(2*pi*f*n);

…このあとどうしたら良いのでしょう。fft(x)やdftmtxなどでやるのでしょうか?
お願いします。
0371デフォルトの名無しさんNGNG
>369
systemでは、リダイレクトファイルを開くぐらいしか
方法がないような。ふつー、popenとかつかうが、、
0372デフォルトの名無しさんNGNG
>>369
system関数って戻り値は結果じゃないでしょ?
0373アリアスNGNG
SJFスケジューリングのアルゴリズムをc言語で
実現したものを教えてください。
0374デフォルトの名無しさんNGNG
短い順にソート
0375アリアスNGNG
これじゃダメすか?
{
int M = 0;
int i;
for(i = MIN_PID; i < last_pid; i++)
if ((pcb_table[i].time_start <= clock) && (pcb_table[i].state == READY))
{
if(pcb_table[M].period_required > pcb_table[i].period_required)
{
M = i;
return M;
}
}
return -1;
}
0376デフォルトの名無しさんNGNG
DFT時間ってなんじゃらほい?
0377デフォルトの名無しさんNGNG
すんません。
DFTというのは離散時間フーリエ変換のことで、FFTは高速フーリエ変換のことです。
信号処理なんかで使われるものなんですが、ここにわかる人がいらっしゃらないなら板違いだったということですか…。
Matlabがわかる信号処理系の人いませんかねぇ…困ったなぁ。
0378376NGNG
いやそうじゃなくて、
DFT時間
ってのはなんだ?
DFTにかかる時間か??
0379デフォルトの名無しさんNGNG
シミュ板にMATLABスレあるけど返事がいつ返ってくるかは謎
下手すると年単位
0380376NGNG
fft()じゃなにがいけないんだ?
そのためのMATLABだろう荷…
0381デフォルトの名無しさんNGNG
visual C++6.0を使っているのですが、
GetCurrentDirectoryのような関数から
stringクラスに値を入れるにはどうすればよいのでしょうか?

方法としては、char配列にいったん取得してから代入は
できるのですが、一度char配列を経由しないで、
直接stringオブジェクトに入れることはできないのでしょうか?
0382デフォルトの名無しさんNGNG
> main()
> {
> int x[1000];
> int *px;
> px=&x[0];
>
> *px=system("ps |grep ppppp ");
> system("kill %s",px);
> }

1、何故 int 型が 1000 個も必要だと思ったのかが分からない。
2、px の存在意義が分からない。
3、何故 system の返り値が int* だと思ったのかが分からない。
4、ps | grep ppppp の返り値がプロセス番号になるとも思えない。
5、system("kill %s",px);ってなんスか?
0383デフォルトの名無しさんNGNG
じゃさっさとパパの下半身の宿題手伝え屋小娘が!!>>1
0384デフォルトの名無しさんNGNG
>378
正直な話書き込んだ私も困ってます。DFT時間って何?と
問題文はそうしか書いてなくて、まぁ私は初心者ですからここにきてる人なら言葉の意味もわかるかと思ったのですが…。
おそらくDFTにかかる時間とFFTにかかる時間の違いを見るということだと思います。
いや、そのことに意味があるのか…。
それ以前に、教科書のその章で出てきているのはfft(x)とdftmtx(N)だけなので
それを使うとしても、振幅スペクトル等で使うしかないのではと思うのです。
う〜む、どうしたものか。

>379
じつはここに来る前にシュミ版(Matlab)へ書いたのですがお返事はいずこへ…。
いやきっとあの板の人も???と思っているのだと。
とりあえず教科書がアポーンなこと書いているかもしれないので、近いうち先生にも聞いてみます。
0385376NGNG
>おそらくDFTにかかる時間とFFTにかかる時間の違いを見るということだと思います。
じゃあfft(x)とdftmtx(N)をつかって時間の違いをみてくれ。

>いや、そのことに意味があるのか…。
dftとfft似かかる時間の違いをみるんだろ?
dftはO(n^2)だし、fftは。。。忘れた・

>それ以前に、教科書のその章で出てきているのはfft(x)とdftmtx(N)だけなので
それを使うとしても、振幅スペクトル等で使うしかないのではと思うのです。
う〜む、どうしたものか。
振幅スペクトルとかは関係ないだろ?かかる時間をしらべるだけなんだから
0386デフォルトの名無しさんNGNG
>>384
趣味版ってどこよ?
0387デフォルトの名無しさんNGNG
>>357
#!/bin/sh
kill `ps | grep ppppp | grep -v grep | awk '{print $1'}`
0388387NGNG
間違い。

#!/bin/sh
kill `ps | grep ppppp | grep -v grep | awk '{print $1}'`
0389 NGNG
>>381
これは合法か?

std::string dir;
dir.resize(MAX_PATH);
dir.resize(GetCurrentDirectory(MAX_PATH, &s[0]));
0390デフォルトの名無しさんNGNG
>>385
FFTは確か、o(nlog(n))
0391デフォルトの名無しさんNGNG
fftは(N/2)log2N
0392デフォルトの名無しさんNGNG
メールのスレッド表示をさせるための
アルゴリズムを教えてください。

メッセージIDとReferencesヘッダの中身がそれぞれ
順番に配列に入ってると仮定した場合、どうすればいいでしょうか?
0393385NGNG
>>390-391
Thx!って折れに教えられてもなぁ
質問者はどっかいっちまったし
0394わからないNGNG
間違えてCスレで聞いてしまいました。

どう説明していいかわからないのですが、「a^63をコンピューターに計算させようとしたとき、最低何回乗算すれば求まるか」という問題で、僕は答えが8回だと思ったのですが、解答を見ると10回になっていました。
↓具体的に考えた例を挙げておきます。

a^3 = a^1 * a^1 * a^1
a^7 = a^3 * a^3 * a^1
a^21 = a^7 * a^7 * a^7
a^63 = a^21 * a^21 * a^21

↓模範解答ではこうなっていました。

a^1 * a^1 = a^2
a^2 * a^2 = a^4
a^4 * a^4 = a^8
a^8 * a^8 = a^16
a^16 * a^16 = a^32
a^32 * a^16 = a^48
a^48 * a^8 = a^56
a^56 * a^4 = a^60
a^60 * a^2 = a^62
a^62 * a^1 = a^63

一体僕の解答のどこがおかしいのか教えてください。
0395デフォルトの名無しさんNGNG
>>394
で、あっちでの回答はすべて無視か。死んだ方が良いぞ。

0396デフォルトの名無しさんNGNG
>>394
間違っていないが、模範解答は累乗は対数時間でできることを
言いたかったのだと思う。

コンピュータでは先のような最適化は困難。
0397デフォルトの名無しさんNGNG
>>395
あっちの解答全部間違ってるし、ツッコミ済みだと思うが。
0398デフォルトの名無しさんNGNG
死んだ方がいい395ハケーン
0399デフォルトの名無しさんNGNG
>>394
|ω・`)つ○ マルアゲル
0400デフォルトの名無しさんNGNG
|ω・`)つ ○⊂(Φω| アリガト・・・
0401デフォルトの名無しさんNGNG
-=・=- -=・=-
0402デフォルトの名無しさんNGNG
>>401
お?何か言いたげだが・・・・?
0403デフォルトの名無しさんNGNG
lispで電卓を作る課題を書き上げないといけないんです。
できれば後置記法の方で作成したいんです。
誰かCで後置記法による電卓プログラム(sincosあって括弧しようできるくらい)の
ソースを持っている方はいらっしゃいませんか?
いや、Lispでも越したこと無いんですが
普通Lispで電卓作らないと思う・・・。
同じような課題出されたことある人っていらっしゃいます?
0404デフォルトの名無しさんNGNG
C++のコードを例外を用いて書かないといけないのですが、
Visual Studio .NETだと、メモリ確保に失敗すると、0を返してくると聞いたのですが、
どうすればbac_allocをthrowしてくれるのでしょうか?
0405デフォルトの名無しさんNGNG
>>404
無理。
どうあがいてもbac_allocはthrowされない。
0406404NGNG
>>405
どうもありがとうございました。
ということはgccとかを使うしかないですね・・・
0407デフォルトの名無しさんNGNG
>>406
戻り値のチェックすればいい話では?
そこでthrowすれば解決。面倒だけど。
0408デフォルトの名無しさんNGNG
>>405
6.0だとbad_allocなげる方法があるけど、.netだとその方法は使えないの?
0409404NGNG
>>407
勝手にやってくれると便利だと思ったんですが、
それしか無理ならそれでやってみようと思います。

>>408
.NETから入ったもので、6.0は分からないのですが、
検索してみてもmicrosoftのバグの説明のサイトやら
日記のサイトやらでなかなか肝心な方法が分からないのですが、
よろしければ御教授いただけないでしょうか。
0410デフォルトの名無しさんNGNG
403と似たような質問なんですけど、
バイト先でJavaの勉強してるんですけど
社員から電卓を作るように言われました。
その際に、UMLの静的モデルを書けと言われたんですが
どんな感じにしたらベストでしょうか?
0411デフォルトの名無しさんNGNG
>>409
set_new_handler()で、bad_allocを投げるハンドラを設定する。
0412デフォルトの名無しさんNGNG
>>409
bad_allocはなげれるけどbac_allocはなげれないのよ
0413デフォルトの名無しさんNGNG
>>410
調べれば良かろう。
シャインに聞けば良かろう。
0414358NGNG
漏れは放置ですか?(´・ω・`)ショボーン
0415 NGNG
>>414
push ax に対応する pop は?
0416 NGNG
>>403
後置記法なのに括弧が必要なのか?
0417414NGNG
>>415
レスありがとうございます。
popは後の計算ルーチンで使ってます。
因みに試しにスタックセグメントの使用を止めて
データセグメント領域に入れるようにしたら、バグのパターンが変わりました。
何故でしょうか?
0418デフォルトの名無しさんNGNG
>>417
メモリ破壊してるんでは?
0419414NGNG
>>418
漏れもそう思ったのですが、スタックは512b確保してますし・・・
stack segment stack
   dw  100h dup(?)
stack ends
あと入力値によっては、CPUが不正命令を検出しました。とか
入力が終了せずに1回目と2回目の入力がループするのですが、
これもメモリ破壊で起きる現象なんでしょうか?
ご教授お願いします。
0420 NGNG
>>419
ret がスタックを使うというのは知ってる?
0421414NGNG
>>420さん
おぉぉぉ、その突っ込みはかなりクリティカルです!
今調べたのですが、サブルーチンをcallすると
IPレジスタがpushされて、retでIPレジスタがpopされるんですね?
で、サブルーチンでアホなスタックの使い方をするとプログラムが飛ぶと、
謎はすべてとけました!!420さんありがとうございました!!
0422404NGNG
>>411
ありがとうございます。そんな手があったんですね。
早速やってみました。

>>412
最初に指摘されたときも全然気づきませんでした。
恥ずかしい・・・
0423403NGNG
>>416
もうアフォさ丸出しですねすいません。
課題終わらせてから首吊ってきます。

課題では中置記法でもいいので頭の中でまざってました。
結局中置記法でガリガリ書きました。
それにしてもLispって括弧が多くて閉じる場所がわかりにくくてきついです。
0424>403NGNG
TSC?
0425デフォルトの名無しさんNGNG
>>403
後置記法はこんな感じ。Schemeだけど
(f '(9 8 +)) -> 17

(define (f read) (g read '()))

(define (g read stack)
(if (null? read) (car stack)
(let ((x (car read))
(read (cdr read)))
(cond ((number? x) (g read (cons x stack)))
((eq? x '+) (g read (cons (+ (cadr stack) (car stack)) (cddr stack))))
((eq? x '*) (g read (cons (* (cadr stack) (car stack)) (cddr stack))))
((eq? x '-) (g read (cons (- (cadr stack) (car stack)) (cddr stack))))
((eq? x '/) (g read (cons (/ (cadr stack) (car stack)) (cddr stack))))
((eq? x 'sin) (g read (cons (sin (car stack)) (cdr stack))))

))))

0426デフォルトの名無しさんNGNG
学期末age
0427デフォルトの名無しさんNGNG
!!!
0428デフォルトの名無しさんNGNG
学生はそろそろ夏休みだからしばらくはこのスレも暇になるのかな?
夏休みが終わる頃には活躍しそうだけど。
0429初心者NGNG
次の関数を再帰関数にしたものを
教えてください。

void add_node(node *p,node *cp)
{
while(p->nextp != NULL)
p = p->nextp;
cp->nextp = p->nextp;
p->nextp = cp;
}
0430デフォルトの名無しさんNGNG
ループの条件で分岐。
ループするときは再帰、しないときはループ後の処理。
0431デフォルトの名無しさんNGNG
void add_node_rec(node *p, node *cp)
{
if (p->nextp == NULL) {
cp->nextp = p->nextp;
p->nextp = cp;
}
add_node_rec(p->nextp, cp);
}
0432デフォルトの名無しさんNGNG
一方向リストの最後に一つ追加するだけだろう。
再帰にする意味なし。てゆうかリソースの無駄使い。
0433デフォルトの名無しさんNGNG
見事…(藁
0434デフォルトの名無しさんNGNG
>>432
そうそう再帰になんかする意味ないよね。
間違えることもあるし。
0435初心者NGNG
>>423
うるせぇー 禿 お前の名前鶴○やろー
屑 かす ぼけー インポ 核廃棄物
0436デフォルトの名無しさんNGNG
>>431
else忘れてんぞ
0437431NGNG
ごめん。
0438432NGNG
>>435
いんぽだけ正解です
0439デフォルトの名無しさんNGNG
age
0440 NGNG
ウゼェきえろ・・・
      ∧_∧          _ _     .'  , .. .∧_∧
     ( ´_ゝ`)   _ .- ― .= ̄  ̄`:, .∴ '     ( >>435
    /     '' ̄      __――=', ・,‘ r⌒> _/ /
   / /\   / ̄\-―  ̄ ̄   ̄"'" .   ’ | y'⌒  ⌒i
 _| ̄ ̄ \ /  ヽ \_              |  /  ノ |
 \ ̄ ̄ ̄ ̄ ̄ ̄ \__)              , ー'  /´ヾ_ノ
  ||\            \          / ,  ノ
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄          / / /
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||          / / ,'
  ||  ||           ||       /  /|  |
                       !、_/ /
0441デフォルトの名無しさんNGNG
>>429, >>431
まあ、どうでもいいけど、俺なら...
> cp->nextp = p->nextp;
は、cp->nextp = NULL; と書く。
0442デフォルトの名無しさんNGNG
>>441
俺も。
0443デフォルトの名無しさんNGNG
>>441
ワシも
0444431NGNG
私も
0445デフォルトの名無しさんNGNG

              /⌒彡
     /⌒\    /冫、 )
     /  ∧ `./⌒ i `  /ゝ
     /  ノ  > ( <     ( \\
  ̄~⌒ ̄ ̄~  \`つ    ⌒ _)
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0446デフォルトの名無しさんNGNG
最近このスレ暇だね。
0447デフォルトの名無しさんNGNG
>>446
いいことだ。
0448デフォルトの名無しさんNGNG
試験期間もしくは夏休みだからじゃないの?
0449デフォルトの名無しさんNGNG
夏休みが終わりに近づくと忙しくなると思われ
0450デフォルトの名無しさんNGNG
誰か、先生になってください。
0451デフォルトの名無しさんNGNG
>>450
生徒もいないのに?
0452▽・w・▽NGNG
>>451
生徒になるワン!
0453デフォルトの名無しさんNGNG
C言語の初心者なんですが、
西暦と月を入力して、その月を出力するようなプログラムを、
作りたいんですけど、詳しく教えてくれる方もしくは、
分かりやすいサイトを教えてください。
0454デフォルトの名無しさんNGNG
>>453
その月のカレンダーを作れってこと?
0455デフォルトの名無しさんNGNG
その暦は、グレゴリウスの改暦とか、カエサルの改暦による
混乱したあたりのことを考慮するのか?
まず、そこをきかせてもらえないかな?
0456デフォルトの名無しさんNGNG
初心者ということであんまり難しいこと考えなくていいような気もする。
man 3 ctime
してみれ。manがない環境だったら、標準関数mktimeあたり調べてみれ。
簡単に作れるが、time_tがあらわせる範囲でしかカレンダー作れないけどな。
0457▽・w・▽NGNG
誰も相手にしてくれない・・。
0458デフォルトの名無しさんNGNG
>>453
1月を前年の13月に
2月を前年の14月に
0459デフォルトの名無しさんNGNG
>>457
なんか聞いてみたら?
0460▽・w・▽NGNG
459>>
やさしいね♪
レスありがとう。

0461デフォルトの名無しさんNGNG
>>460
犬は好きなんだよ。
0462▽・w・▽NGNG
>>461
犬でよかった・・。
0463デフォルトの名無しさん NGNG
明後日テストがあるんです。
大体範囲の勉強は終わったんですが、ハッシュってのが良くわかりません。
サンプルプログラムはもらったんですが、ネットで検索して勉強してもよくわかりません。
誰か教えてください。できないと単位落としてしまいます。死んでしまいます。
サンプルを書いておきます。
わからないのは、m[DATA_NUM][JAP_LEN]あたりからです。
これって2次元配列なんでしょうか?

#include <stdio.h>
#include <string.h>
#define DATA_NUM 5
#define ENG_LEN 10
#define JAP_LEN 30

int hash(char *s){
int i=0;
int h=0;
while(s[i] != '\0'){
h=(h*256+s[i])%DATA_NUM;
i++;
}

return h;
}

int main(void){
int i;
char s[ENG_LEN];
char m[DATA_NUM][JAP_LEN];

for(i=0;i<DATA_NUM;i++)
strcpy(m[i],"nodata");

printf("string ->");
scanf("%s",s);
while(strcmp(s,"end") != 0){
printf("Japanese ->");
scanf("%s",m[hash(s)]);
printf("string ->");
scanf("%s",s);
}

printf("string ->");
scanf("%s",s);
while(strcmp(s,"end") != 0){
printf("%s\n",m[hash(s)]);
printf("string ->");
scanf("%s",s);
}
return 0;
}
0464デフォルトの名無しさんNGNG

> #define DATA_NUM 5
> #define JAP_LEN 30

これの意味は分かってるよな?
0465デフォルトの名無しさんNGNG
>>464

すいません、、、そこからわかりません。
0466デフォルトの名無しさんNGNG
>>465
> #define DATA_NUM 5

DATA_NUM を 5 と定義する
0467デフォルトの名無しさんNGNG
もしかして漏れ……ネタにマジレスしてた?
 ̄ ̄ ̄ ̄ ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       ∧∧l||l
       /⌒ヽ)
     〜(___)  
0468デフォルトの名無しさんNGNG
>>467
そんなこと無いと思うよ。たぶん
0469デフォルトの名無しさんNGNG
あ、いや、ネタじゃないです。
DATA_NUMとJAP_LENはプログラム中どういう意味で使われてるのでしょうか?
0470デフォルトの名無しさんNGNG
>>462
そして君は>>461に美味しく食されるわけだが。
0471デフォルトの名無しさんNGNG
scanf("%s"ってのがいかにも学校の課題という感じだな。
0472デフォルトの名無しさんNGNG
>>463
結論を逝ってやる。


あ き ら め ろ


0473デフォルトの名無しさんNGNG
>>471
まあ、今はいいではないか。本質的ではないし
0474デフォルトの名無しさんNGNG
まーたしかに二次元配列なんだが、これに限っては、
「文字列の配列」と見る方が理解しやすい筈。
0475デフォルトの名無しさんNGNG
>>463
hashつーもんは、

 ・あるデータに対して数字を割り当てる。この数字をhash値という
 ・その数字のあるところにデータを格納する

とデータを溜め込んでおいて、あるデータを検索したい時には

 ・そのデータに対するhash値を計算する
 ・格納場所のhash番めのところからデータを引っ張ってくる

という風に高速にデータを引き出せるようにしたものだ。もちろん、
hash値は高速に(あと、入力データのばらつきに対して十分にばらけるように)
生成できる関数でなければならない。

で、>>463の例でいうと、
 ・hash値はhash()関数で計算している。
  hash値は0からDATA_NUM未満の数値を返すようになってる(値を必ず % DATA_NUMしてる)
 ・格納場所はmという配列で、DATA_NUM個格納できる。
 ・格納するデータは文字列で、たかだか JAP_LEN-1 バイトと仮定している
 ・(多分)英単語のhash値を求めデータベースに格納してるのは(たぶん)日本語
 ・だから検索するときには英単語を指定し、出力は日本語になる

まあたったこれだけのデータ数でhashを使うのはどうかなとも思うが、例題なのでいいだろう。
ただし、なんにしろこのコードには致命的な欠点がある。例題の癖にひどい問題だ。
それは、全然違うデータでhash値が重なった場合のことを考慮してないことだ。
たとえば
 stupid ヴァカ
 goddamn 氏ね
なんて入力があってたまたまstupidとgoddamnのhash値が等しかったら、
あとから格納したほうで上書きされてしまう。
0476デフォルトの名無しさんNGNG
>>475
そうそう。ハッシュなのにリストがなくてちょっととまどった。
教官はしのにむって言葉を知らないのかしら。
0477デフォルトの名無しさんNGNG
色々なソースコードが見れるサイトのようなものがあったら教えてほしいのですが。
0478デフォルトの名無しさんNGNG
>>477
http://www.sourceforge.net/
http://sourceforge.jp/
0479▽・w・▽NGNG
みんな高度なことやってるんだね。すごいな。
0480デフォルトの名無しさんNGNG
>>476
こういうのを考慮したところまでコードを書いて初めてハッシュと言うんだよね。

あと
 ・日本を表すのにJAPなんてのはやめれ
ともいっておこう(w
0481デフォルトの名無しさんNGNG
>>477
もうちょっと条件を書いたほうがいいんじゃない?
へたすると http://sourceforge.net/ とか出されてどれでも
見ろなんていわれるぞ。
0482デフォルトの名無しさんNGNG
>>478
>>481
0483481NGNG
かぶった...
0484デフォルトの名無しさんNGNG
>>480
高度だと思ってやめたんだろうね。
ならハッシュなんて例題にするなよ(笑)
0485デフォルトの名無しさんNGNG
>>484
普通、構造体やって、リンクリストやって、その使用例として
ハッシュをやるもんだろう。早すぎると思うよ(w
0486▽・w・▽NGNG
>>485
先生になってください
0487デフォルトの名無しさんNGNG
define 分かってないのにハッシュをやるとは如何なものかと
0488デフォルトの名無しさんNGNG
>>487
激しく同感
0489477NGNG
そうですね、もう少し具体的に書きます。

ソースコードが長すぎず(ワードにはっつけて二枚程度)
そして面白い(抽象的ですいません。)
かつ、ソースコードの解説が載っていればさらに嬉しいです。

お願いします。
0490デフォルトの名無しさんNGNG
>>489
宿題の工程の大半をここに委ねたわけですな。
0491デフォルトの名無しさんNGNG
>(ワードにはっつけて二枚程度)
ここ、笑った。おもろい。
0492475NGNG
>>486
¥4000/hでどうっすか(w

つか、実際にこの値段でプログラミング教えてまっす。
475は日本語にかなり難ありだなあ。急いで書いたから許せ。
0493477NGNG
>>490
言い訳ではないですが、ネット上からダウンロードして解説する
という宿題なんです。(笑
0494デフォルトの名無しさんNGNG
>>489
Cの標準関数のソースコードはどうだ?
0495デフォルトの名無しさんNGNG
>>493
これなんかどうだ(w
http://www.ring.gr.jp/archives/GNU/hello
0496デフォルトの名無しさんNGNG
463と475を一ページずつコピペして提出したら? >>477
0497▽・w・▽NGNG
>>492
お願いします。
0498495NGNG
と思って最新版をみてみたら、ずいぶん複雑になってるなあ。
0499デフォルトの名無しさんNGNG
>>489
言語はなんでもいいのか?
0500475NGNG
>>497
ひー、本気にすんな。
ま、このスレで宿題を聞く分にはタダだからそれで我慢すれ(w
0501デフォルトの名無しさんNGNG
>>497
ウチは\5000/dだ。安すくて質もいいぞ
こっちへこいワンコロ。
0502デフォルトの名無しさんNGNG
>>497
うちは女なら\0/月だ。
0503デフォルトの名無しさんNGNG
>>477
http://www.ioccc.org/
これは?
少なくとも面白いコードであることは確かだぞ(w
0504デフォルトの名無しさんNGNG
>494
javaに使えるんだったらokです。

>495
今見ましたが、さっぱりわかりません。
どこを写せばいいのかすら解りませんでした。
すみませぬ
0505▽・w・▽NGNG
>>475
やっぱりそうですよねー。
はぁ。教えてくれる人がほしい・・。
0506▽・w・▽NGNG
>>501
ほんと?
0507デフォルトの名無しさんNGNG
>>503
すごく面白いコードだけど、解読が無理だろう(笑)
0508477NGNG
>507
その通りです。(笑
やっと配列や条件分岐について理解したところですから…
解説が日本語で載っていれば嬉しいです。
0509デフォルトの名無しさんNGNG
http://www.kumei.ne.jp/c_lang/index_c.html

普通に初心者向け解説サイト逝っとけ
0510▽・w・▽NGNG
>>509
それ、解りやすい♪
0511デフォルトの名無しさんNGNG
>>509
言語はJavaだとさ。
477にJavaに書き直せるだけの力が有ればいいけど。
0512477NGNG
>509
解りました。どうもありがとうございました。
0513477NGNG
>511
あ、ほんとだ。c言語だ。書き直す力はないです…
0514デフォルトの名無しさんNGNG
>>513
http://pc3.2ch.net/test/read.cgi/tech/1026601774/
ここからコピー
0515デフォルトの名無しさんNGNG
>>513
いつ出された宿題で、いつ提出するの?
0516デフォルトの名無しさんNGNG
>>510
  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 | お前犬だろ。ネコのサイトになんて行くなや
 \_ __________
    |/
 ∧ ∧
 (;゚Д゚)y━~~
  U  |
〜|  |
  U U 
0517▽・w・▽NGNG
>>516
あ…。
0518477NGNG
>515
提出明日です。
0519デフォルトの名無しさんNGNG
>>518
おいおいおい(汗
0520デフォルトの名無しさんNGNG
>>516-517
ワラタ
0521デフォルトの名無しさんNGNG
>>518
明日っていうのは7/19か?
0522デフォルトの名無しさんNGNG
どこの学校かしらんがJavaなんて教えるなヴォケ!
0523デフォルトの名無しさんNGNG
Javaから入ってそのあとC++を学ぶと、メモリがリークしまくりそうで
愉快だね。
0524477NGNG
>521
いえ、18です。
0525デフォルトの名無しさんNGNG
誰かJava使いがいたら練習用に書いたコードでも貼り付けてあげて・・・
0526▽・w・▽NGNG
>>477
がんばってね!
0527デフォルトの名無しさんNGNG
>>524
今日じゃん。あきらめるのも一興だよ。
0528▽・w・▽NGNG
宿題ある人はいいなー・・。
0529477NGNG
>525,526
ありがとです。

>527
はっつけてコードの解説すればいいのでそんなに大変ではないんですが、
なにしろ適当なソースがなかなかないもんで…
0530デフォルトの名無しさんNGNG
>>529
なんでもっと早くやっておかなかったのかと、小一時間問い詰めたい



……ところだが、時間がなくなるので勘弁しておく。
いっそのこと、自分で適当なゲーム作って(3目並べとか)
適当に解説つければ?
0531デフォルトの名無しさんNGNG
>>530
477は初心者だから作れないんじゃないか?

>>477
だよな?
0532デフォルトの名無しさんNGNG
>>477
ttp://alfin.mine.utsunomiya-u.ac.jp/~niy/algo/
なんかどだ?
干支の換算をjava化したげたよ。

/*
void eto(char *kan, char *shi, int year)
{
static char *k[10] = {
"甲","乙","丙","丁","戊","己","庚","辛","壬","癸" };
static char *s[12] = {
"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥" };

if (year < 4) year = 4;
strcpy(kan, k[(year - 4) % 10]);
strcpy(shi, s[(year - 4) % 12]);
}
*/
public class eto {
static String[] k = {
"甲","乙","丙","丁","戊","己","庚","辛","壬","癸" };
static String[] s = {
"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥" };

static void etoCalc( StringBuffer kan, StringBuffer shi, int year )
{
if (year < 4) year = 4;
kan.append( k[(year - 4) % 10] );
shi.append( s[(year - 4) % 12] );
}

public static void main( String[] arg ) {
if (arg.length>0) {
StringBuffer kan = new StringBuffer();
StringBuffer shi = new StringBuffer();
StringBuffer res = new StringBuffer();
res.append(arg[0]).append(" : ");
etoCalc( kan, shi, Integer.parseInt(arg[0]) );
res.append(kan).append(shi);
System.out.println(res.toString());
}
}
}
0533デフォルトの名無しさんNGNG
0534デフォルトの名無しさんNGNG
>>533
ご苦労様
0535デフォルトの名無しさんNGNG
>>532
Javaもstrcpyを呼ばないといけないの?
0536535NGNG
あ、上はCか・・・
0537デフォルトの名無しさんNGNG
もうちょっと面白いものがいいっていう要望があれば、なんかかくよ(java)。
0538デフォルトの名無しさんNGNG
こんなのは? 四則演算で10になるのを解くプログラム。
import java.lang.*;
import java.util.*;

public class TenTree{
  int mType; /* 5…葉、1…+、2…-、3…*、4…/ */
  int mValue;
  TenTree mLeft;
  TenTree mRight;

  TenTree(int i){
    mType = 5;
    mValue = i;
    mLeft = null;
    mRight = null;
  }

  TenTree(int op, TenTree left, TenTree right){
    mType = op;
    mLeft = left;
    mRight = right;
  }

  public double getValue(){
    if(mType == 1) return mLeft.getValue() + mRight.getValue();
    if(mType == 2) return mLeft.getValue() - mRight.getValue();
    if(mType == 3) return mLeft.getValue() * mRight.getValue();
    if(mType == 4) return mLeft.getValue() / mRight.getValue();
    return (double) mValue;
  }

  public String toString(){
    if(mType == 5) return Integer.toString(mValue);
    if(mType == 1) return mLeft.toString() + " + " + mRight.toString();
    if(mType == 2) {
      if( mRight.mType == 1 ) return mLeft.toString() + " - ( " + mRight.toString() + " )";
      return mLeft.toString() + " - " + mRight.toString();
    }
    if(mType == 3) {
      String left = mLeft.toString();
      String right = mRight.toString();
      if( mLeft.mType < 3 ) left = "( " + left + " )";
      if( mRight.mType < 3 ) right = "( " + right + " )";
      return left + " * " + right;
    }if(mType == 4){
      String left = mLeft.toString();
      String right = mRight.toString();
      if( mLeft.mType < 3 ) left = "( " + left + " )";
      if( mRight.mType < 4 ) right = "( " + right + " )";
      return left + " / " + right;
    }
    return "";
  }
0539デフォルトの名無しさんNGNG
  public boolean isTen(){
    double ans = getValue();
    return ( ans > 9.99999 && ans < 10.000001);
  }

  public static void check(Vector list){
    if(list.size() == 1){
      TenTree temp = (TenTree)list.get(0);
      if(temp.isTen()){
        System.out.println( temp.toString() );
      }
      return;
    }

    int m, n, op, i;
    for(m = 0; m < list.size(); m++){
      for(n = 0; n < list.size(); n++){
        if( m == n ) continue;
        for(op = 1; op < 5; op++){
          if((op == 1 || op == 3) && m > n) continue;
          TenTree newitem = new TenTree(op, (TenTree)list.get(m), (TenTree)list.get(n));
          Vector newlist = new Vector();
          for(i = 0; i < list.size(); i++){
            if(i != m && i != n) newlist.add(list.get(i));
          }
          newlist.add(newitem);
          check(newlist);
        }
      }
    }
  }

  public static void main( String[] arg ){
    int i;
    try{
      Vector list = new Vector();
      for(i = 0; i < 4; i++){
        list.add( new TenTree(Integer.parseInt(arg[i])) );
      }
      check(list);
    }catch(Exception ex){
      System.out.println("java TenTree 1 2 3 4 というように実行して下さい。");
    }
  }
}
0540デフォルトの名無しさんNGNG
微妙に間違ってるし
35行目
if( mRight.mType < 3 ) return mLeft.toString() + " - ( " + mRight.toString() + " )";

48行目
if( mRight.mType < 5 ) right = "( " + right + " )";
0541デフォルトの名無しさんNGNG
思ったんだが、>>517みたいなキャラいいよな。
誰が飼ってるかでもめそうな気もするが、
わんちゃんは気持ちいいキャラだよ。

その調子で書いてくれ。
面白い宿題を提示してくれたら喜んでああでもないこうでもないと考えてあげちゃうよ。

はじめはビーグルかと思って警戒してたんだけどそうじゃないみたいだし。
このスレのペットとして活躍してくれ。
0542▽・w・▽NGNG
>>541
なんかうれしい・・・。
もっと言語勉強して、宿題だせるようにがんばるよー
0543デフォルトの名無しさんNGNG
皿仕上げ
0544C言語NGNG
すいません。助言いただけますか。

たとえば、「ケーキを食べる」→「ケーキを食べる」→「ケーキを食べる」と
同じ選択肢を連続して三回選んだ場合、5キロ太るというようなプログラムを書きたいのですが、
なにを使ったらいいのかわかりません。
「ケーキを食べる」→「ダイエット」→「ケーキを食べる」→「ケーキを食べる」というような
途中でなにか別の選択肢を選んだときは連続して三回とは数えないようにしたいんですが。
0545デフォルトの名無しさんNGNG
>>544
変数を一つ持ってケーキを食べるを選んだときに+1して=3かどうか
確認。別の選択肢を選んだときにゼロクリアする。
ぐらいしか思いつかない。
0546デフォルトの名無しさんNGNG
>>544
ケーキを食べた回数を記録する変数を用意して、ケーキを食べたら+1すれば?
で、他の選択肢を選んだら0に戻すと。
値が3になったら5kg増えるようにすればよいし。
0547C言語NGNG
>>545
ありがとうございますー。
0548▽・w・▽NGNG
ほぉー。なるほど。
0549C言語NGNG
>>546
ありがとうですー
>>548
カワイイ。
0550初心者NGNG
Cで電卓(×、÷を優先し四則演算ができる程度)を作れという
初心者にはさっぱりな宿題が出たんですが
何方かご教授願えますか?
私が作ったところ一桁の計算しかできず困ってます。   
0551デフォルトの名無しさんNGNG
▽・w・▽ は男だよな??
0552デフォルトの名無しさんNGNG
>>550
コマンドライン電卓ってこと?
それともウイソドウズかなにかつかうの?
0553デフォルトの名無しさんNGNG
>>550

例えば
3 * 4 と入力したら 12を、
9 / 3 と入力したら 3 を出力するコンソールアプリを
作れということじゃないのか?
0554553NGNG
スマソ。優先順位どうこう言ってるってことは
3 + 6 * 2
のような入力を処理しろということか・・・
0555▽・w・▽NGNG
>>551
すみません。女です。
0556デフォルトの名無しさんNGNG
くノ一!
0557デフォルトの名無しさんNGNG


                 男を出せってんだよワショーイ...
       ∧         ∧          ∧
        / ヽ      / ヽ_       / .∧
     /   `、   _/   `、⌒ヾ⌒ヽ/  ∧
    /       ̄ ̄/  u (.....ノ(....ノ   / ヽ
    l:::::::::        |           u .:(....ノノ
   |::::::::::  -=・=- / ̄ ̄ヽ        ::::::::::::::/`ヽ
   .|:::::::::::::::::  \_(___..ノ   u  ::::::::::::::::::::(....ノノ
    ヽ:::::::::::::::::::  \/ヽ  u    ::::::::::::::::::::::::::::ノ
0558初心者NGNG
えと553さんのとうりです。すいません言葉不足で。
6+4*5=26 というみたいに積と商を先に計算するものです。
おねがいします〜
0559▽・w・▽NGNG
>>557
こわいよー・・。
0560デフォルトの名無しさんNGNG
>>558
結構めんどくさいような、それ...

入力文字列をパースする
左から順番に見ていって、積と商を計算しておく
もう一度左から順番に見ていって、和と差を計算する

てな順番だな。パース下ものをどういう構造で展開するかがかぎだな。

ちょっと待ってな、作ってみるから。
0561デフォルトの名無しさんNGNG
つか、スタックと逆ポーランド。
0562デフォルトの名無しさんNGNG
>>561
それじゃあ、6+4*5=26とかの入力は計算でけんだろう。
それともおれが間抜け?
0563デフォルトの名無しさんNGNG
>>562
スタック使えばできるよ
0564デフォルトの名無しさんNGNG
もしかしてここの学生さんかな?
ttp://isotope.sccs.chukyo-u.ac.jp/lecture/algo/summer-report.html
0565デフォルトの名無しさんNGNG
>>563
よくわからんので教えてくれ。
逆ポーランドってのは、

 ・数がきたらスタックにpush
 ・オペレータがきたらスタックからふたつpopして、計算結果をpush

するんだよね。だから、たとえば 2 3 4 * + とか言う風なものがきたら、
計算結果は14だよね。この理解は合ってる?

で、オペレータを数字の間に置く記法(上の例だと、3 * 4 + 2)を逆ポーランドに
変形する方法って、えーとあるんだろうけど、簡単な方法ってあるのかな。
0566デフォルトの名無しさんNGNG
↓ここの1(マジで♀)が今、野球拳挑戦者を募集中

野球拳で負けたら、裸うpしますです
http://wow.bbspink.com/test/read.cgi/hneta/1026743313/l50

ルールは
1のレス(グー、チョキ、パー)の直後にこちらから3レス連続で勝てれば
1枚ずつ衣服を脱ぎ、その様子をうpするというもの
現在、靴下、キャミソールの2枚目まで脱がせた模様
0567初心者NGNG
お願いします。私もがんばってみます。        
564さんちがうみたいですw
0568デフォルトの名無しさんNGNG
>>564
これだと、たとえば

1 + 2 * 3

の計算結果が9になるような気がする。
でも、>558の場合は7にならなきゃならんよね。
どうもおれ一人が間抜けのような気もするな…
0569デフォルトの名無しさんNGNG
>>563
逆ポーランド式だとうっかり34*2+とスペースをいれずに入力してしまうと変な答えになってしまうからやめた方がいいと思う。
0570569NGNG
俺も一度作ろうとしたことがあったけど、これに気づいてやめた。
0571パイの魅学園NGNG

  / ̄ ̄ ̄ ̄ ̄ ミ
  /   ,――――-ミ
 /  /  /   \ |
 |  /   ,(・) (・) |
  (6       つ  |
  |      ___  |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  |       \_/ /  <  http://csx.jp/~madrix/
/|         /\   \__________
0572無責任NGNG
知ってる人間とか出題者だと
1.再帰下降解析して逆ポーランド記法に直す
2.スタックを使って計算する
という戦略を想定しているだろうけど、ここは出題者の思惑を外して
再帰下降解析からいきなり計算するという、たどたどしい解法を
やってみるのはどうだろうか?
きっと他の学生とバッティングしないレポートになること請けあい。
0573デフォルトの名無しさんNGNG
>>572
プログラムの中で逆ポーランド式に直すの?
0574初心者NGNG
書いてあることがよく分からない素人ですがTT
先生にばれなかったらなんでもいいですw
0575573NGNG
てっきり逆ポーランド式でユーザーに入力させるのかと・・・・
逆ポーランド式に直すのなら、結局は3*4+2という通常の式を解析しないといけないよね?
それならひとつずつ足したり引いたりかけたりした方が手っ取り早いような・・・
0576中置記法から後置記法への簡単な変換方法NGNG
入力した数式が正しいと仮定するなら

数字のトークンはそのまま素通しで出力。
演算子のトークンの場合は
スタックトップにある演算子より優先順位が高ければそのままその上にPUSH
スタックトップより優先順位が低いときはPUSHできるようになるまでPOPしてからPUSH
このときPOPした演算子は出力。
EOFになったらスタックに溜まっている演算子を全部POPして出力。

ってやると再帰降下するまでもなく逆ポーランドに変換できるよ。

括弧は優先順位最低の擬似的な演算子としてPUSH
括弧閉じを検出したら擬似括弧演算子までにあるほかの演算子を全部POP&出力
したあとに出力せずに取り除く

ってやれば括弧の対応も簡単。

出力のかわりにそのまま答え計算するのもアリか?
0577▽・w・▽NGNG
こんな時間まで大変だねー
0578デフォルトの名無しさんNGNG
>>576,577
どうして?
とかいって、以前祭りになったことがあったな(w

で、
>>576
うわ、そんなアルゴリズム知りませんでした。
つうかアルゴリズムをあんまり勉強してないんです。
すごく勉強になりました。
0579初心者NGNG
あう〜
一桁のみ計算可能しかできないよ〜TT
優先順位もめちゃくちゃだし・・・
0580デフォルトの名無しさんNGNG
yaccを使うとかは禁止?
0581初心者NGNG
yaccなんてまだ習ってないですTT
0582デフォルトの名無しさんNGNG
フライングする。
0583初心者NGNG
あははw
了解です。よろしくお願いします。
0584おねげえしますNGNG
ttp://kari.to/upload/誰か教えてください
1610です
宿題なんです思うような結果にならないんです
何かおかしいところありますか?BASICです
0585デフォルトの名無しさんNGNG
http://www.tokumaru.org/yacc/
0586デフォルトの名無しさんNGNG
http://www.netlaputa.ne.jp/~T-Satoh/yacc/yacc.html
http://limu.is.kyushu-u.ac.jp/~yosimoto/memo/yacc/
0587おねげえしますNGNG
ホンと誰かおながいします(T_T
0588おねげえしますNGNG
うう;。
0589デフォルトの名無しさんNGNG
>>587
どういう結果を望んでいて、現在どういう結果しか出ないのかを
書いてくれ。
0590おねげえしますNGNG
えっと円グラフがもっといっぱい線が入ってるはずなんです(TT
平均値もなんか変のようなきがします。。
答えはわからないんですがどこがまちがってるかもわからないんです
0591デフォルトの名無しさんNGNG
BASICの実行環境が無いので確かめていないけど、平均値は
あっているっぽくない?
0592おねげえしますNGNG
ホンとですか?じっこうしたら14.3なったっす。。
0593おねげえしますNGNG
後 成績ランク別人数が
AA:0 A:0 B:1
c:0 xx:19
となります 、、、なんかかたよりすぎですよね、、
0594デフォルトの名無しさんNGNG
>>592
点数の合計が1440点で、人数が20人だから、平均は72点だよなぁ
なんかへんだね。
0595デフォルトの名無しさんNGNG
>>593
出力結果(文字の部分だけ)を丸ごと貼ってくれるかい?
0596おねげえしますNGNG
はい、。、
エラーはでないんです
点数(ソート済み)
76 3 4 5 6
7 8 9 10 11
12 13 14 15 16
17 18 19 20 3
となります


0597デフォルトの名無しさんNGNG
あと、ためしに210行を
210 REM GOSUB *SORT 'ソート
にしてみてよ。
0598初心者NGNG
yacc使ったら駄目っぽいですTT
0599おねげえしますNGNG
うおおおおおおおおおおおおおおおお
0600デフォルトの名無しさんNGNG
>599
どうした?
0601おねげえしますNGNG
キターーーーーーーーすげえええええええええ
平均点72!
ソートもばっちし!!!さすが!!!
ありがとうございます!!!!円グラフも多分おっけーだと思います!!!
神!!
0602デフォルトの名無しさんNGNG
>>601
いや、待て!
解決したわけじゃない。
これでソートしている部分がおかしいことが分かっただけ。
0603おねげえしますNGNG
え?
0604デフォルトの名無しさんNGNG
210行をためしに変更したのは、ソート部にバグがあって、こいつが
入力データを破壊していると推測してREMで呼び出しをコメントしただけ。
だから、ソートは行っていない。
ソートを行わない場合に平均が正しくもとまったので、予想通り
ソート部にバグがあることが判明しただけ。
0605おねげえしますNGNG
成績ランク別人数
a:2 a:4 b:7 c:4 xx:3になって
エングラフガ
赤くろ水色緑紫に別れました(色だけしかないです)
0606デフォルトの名無しさんNGNG
210行をREM化した場合、
点数(ソート済み)
の出力がソートされていないはず。
0607おねげえしますNGNG
??どういうことですか?
0608デフォルトの名無しさんNGNG
210行をREMに変更したときの
点数(ソート済み)
の部分の出力を貼ってみてよ
0609おねげえしますNGNG
点数(ソート済み)
76 63.。。。。。
79 74.。。。
とでてます
0610デフォルトの名無しさんNGNG
今の議論とは関係ないが、400 行の
LOCATE 48.5
はピリオドじゃなくカンマでは?

*SORT はバブルソートだよな。他のアルゴリズムはダメなの?
0611デフォルトの名無しさんNGNG
>>609
それは入力されたデータの並び順(440・450行)と同じでしょ?
ちゃんとソートされていたら、大きい順とかに並ぶはず
0612おねげえしますNGNG
点数(ソート済み)
76 63 82 56 78
75 68 32 94 87
79 74 66 85 27
98 77 65 88 70
です
0613初心者NGNG
C初めて2ヶ月しか経ってないのに
計算機作れなどという課題は理不尽だと思いませんか〜?
と、愚痴をこぼしてもしかたないか・・・TT
がんばるか・・・
0614611NGNG
>>610
眠いのでかわってもらっていいかい?
0615おねげえしますNGNG
カンマにしたら円グラフの上に
成績ランク別人数とでました!!
0616おねげえしますNGNG
ぐああ>614
0617デフォルトの名無しさんNGNG
>>613
理不尽だとは思うよ。
0618デフォルトの名無しさんNGNG
ああ、560行がおかしい。
560 T(K-1)=T(K)
だ。
0619初心者NGNG
もう一桁のみ計算可能計算機で出したほうが
いいとおもいますか?TT
0620デフォルトの名無しさんNGNG
210行を元に戻して、560行を>>618のように直して実行してみて。
0621610NGNG
>>611=614
いいです。代わってもいいですが、
ぼくは *SORT にバグがあるように見えないんですよ。
ぼくが「おねげえします」だったら PRINT でデバッグ出力しまくるんですが。

>>おねげえします
提出期限とかあるの? やっぱ今日だろ?(w
0622おねげえしますNGNG
なにもかわらないっす。。。
0623デフォルトの名無しさんNGNG
>>619
何も出さないよりは、はるかにいいよ。
0624610NGNG
>618
なるほど!
漏れの目はfusianasanだった。
0625おねげえしますNGNG
今日です(^^;;
0626デフォルトの名無しさんNGNG
>>624
swapなんかは処理を予測してしまうのでコードを読まないよね。
なかなか気づかなかったよ。
0627おねげえしますNGNG
おおおおおおお
ソートがちゃんと高い純から!!!!!!
0628610NGNG
しかしいまどきN88-BASICなのか。懐かしいな。
0629おねげえしますNGNG
なんかしょぼい情報の教科とっちゃったんです(文型です)>628
0630デフォルトの名無しさんNGNG
>>627
よかったよ。

>>628
昔を思い出すよ。(文法は忘れたが。)
0631初心者NGNG
>623
やっぱりそうですよね。
もうちょっと手直しして出しますTT
いろいろとご教授ありがとうございました。
0632610NGNG
>626 そうそう。FOR のとこだけ目を凝らして、
「バブルソートは完璧なんだよな……」と思い込み。
「(K)」と括弧までちゃんとあるのが余計にはまりやすい。
0633おねげえしますNGNG
もしかしてこれで完璧!!!?
本当にありがとうございました!!!

すごいっすね
これからプログラム勉強してみようかと重いマッス!
0634デフォルトの名無しさんNGNG
>>633
ぜひがんばってくだされ。
0635610NGNG
>>初心者
数値の読み込みってどうやってるのよ?
scanf 系が使えれば何桁でも読めるよな。
getchar とかで読んでるの?
0636おねげえしますNGNG
すいませんこんな遅くまで。。
今日提出してきます(^^)ノ
でわ〜!!
0637初心者NGNG
getcharで読んでます。
0638610NGNG
>>初心者
scanf が使えない理由があるの?
(まだそこまで習ってない、とか)

数値を読んでるところのコードを貼ってみてください。
インデントのない BASIC スパゲッティはきつい。
0639デフォルトの名無しさんNGNG
>>637
さっきのおねげえしますさんみたいに、ソースを丸ごと上げてもらえると
アドバイスしやすいかと。まあ、量が多いとは思うが。
0640デフォルトの名無しさんNGNG
>>638
どうでもいいが、さっきのはループの脱出にGOTO *LOOPとしていたのが
つらかったよ。
0641初心者NGNG
いえいえ、流石にもうこれ以上ご迷惑はかけられません。
scanf使ってやってみます。
0642デフォルトの名無しさんNGNG
>>641
がんばってください。
わし(610さんじゃないほう)はそろそろ寝させていただきます。
0643610NGNG
>642 おやすみ。
>640 でもブロック IF がないからしょうがないんだろうね。
(まあこの程度なら1行にまとめてもよさそうだが)
>>初心者
うまく行ったら行ったで報告キボンヌ。
0644640NGNG
寝る前に一言。
せめて、GOTO *LOOPENDにして欲しかったってことっす。
0645デフォルトの名無しさんNGNG
>>641
char c;
int num;
c = getchar();
num = c - '0';

で一桁の数字が得られるのは分かるよね?
あとはこれを繰り返せば何桁でもいける。
0646578NGNG
>>641
おれ、今>>576のアルゴリズムを使って書いてみてるよ。
競争だ、頑張れ(w

にしても、久々にCのコードを書いたからつまずくつまずく(汗
0647初心者NGNG
>>578
がんばるぞ〜w
0648初心者NGNG
ううぅ・・・
何か文字を1文字ずつ認識しているよTT
0649610NGNG
やっぱり、パーサだけでいいから貼ってくれた方が……
うぷろだは「おねげえします」のと同じところでもいいんじゃない?
0650デフォルトの名無しさんNGNG
>>645
char c;→int c;
では?
0651デフォルトの名無しさんNGNG
>>650
ですた。つい間違える。
0652576NGNG
>>647
できたYO!!
ちょい整形するから待っててね。
0653576NGNG
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>

typedef struct {
  enum {t_value, t_operator, t_stop} type;
  union {
    char operator;
    double value;
  } d;
} token;
0654576NGNG
/*
 * スタック
 */
typedef struct {
  token *buf;
  size_t size;
  int tail;
  int idx;
} stack;

/* 新しいスタックを作る */
stack *stack_new() {
  stack *s = malloc(sizeof(stack));
  if (!s) {
    return NULL;
  }
  s->buf = NULL;
  s->size = 0;
  s->tail = -1;
  return s;
}

/* スタックを壊す */
void stack_destroy(stack *s) {
  free(s->buf);
  free(s);
}
0655576NGNG
/* スタックにpushする。tはコピーする */
token *push(stack *s, const token *t) {
  token *old;
  s->tail++;
  if (s->size == s->tail) {
    old = s->buf;
    s->size++;
    s->buf = realloc(s->buf, s->size * sizeof(token));
    if (!s->buf) {
      s->size--;
      s->tail--;
      s->buf = old;
      return NULL;
    }
  }
  s->buf[s->tail] = *t;
  return &s->buf[s->tail];
}

token *pop(stack *s) {
  if (s->tail < 0) {
    return NULL;
  }
  return &s->buf[s->tail--];
}
0656576NGNG
token *peep_tail(stack *s) {
  if (s->tail < 0) {
    return NULL;
  }
  return &s->buf[s->tail];
}

token *stack_begin(stack *s) {
  s->idx = 0;
  return &s->buf[s->idx];
}

token *stack_next(stack *s) {
  s->idx++;
  if (s->tail < s->idx) {
    return NULL;
  }
  return &s->buf[s->idx];
}
0657576NGNG
/*
 * 入力解析してRPN式化する
 */
const char *skip_space(const char *str) {
  while (*str && isspace(*str)) {
    str++;
  }
  return str;
}

const char *skip_digit(const char *str) {
  while (*str && isdigit(*str)) {
    str++;
  }
  return str;
}
0658576NGNG
stack *make_rpn(const char *str) {
  token tok, *tail;
  const char *p;
  stack *op, *rpn;

  rpn = stack_new();
  op = stack_new();
  if (!rpn || !op) {
    free(rpn);
    free(op);
    return NULL;
  }

  for (p = skip_space(str); *p; p = skip_space(p)) {
    switch (*p) {
    case '+':
    case '-':
      tok.type = t_operator;
      tok.d.operator = *p;
      for (tail = peep_tail(op); tail; tail = peep_tail(op)) {
        if (tail->d.operator == '/' || tail->d.operator == '*') {
          push(rpn, pop(op));
        }
        else {
          break;
        }
      }
      push(op, &tok);
      p++;
      break;
    case '*':
    case '/':
      tok.type = t_operator;
      tok.d.operator = *p;
      push(op, &tok);
      p++;
      break;
    default:
      if (isdigit(*p)) {
        tok.type = t_value;
        tok.d.value = atof(p);
        push(rpn, &tok);
        p = skip_digit(p);
      }
      else {
        stack_destroy(op);
        stack_destroy(rpn);
        return NULL;
      }
    }
  }
  for (tail = peep_tail(op); tail; tail = peep_tail(op)) {
    push(rpn, pop(op));
  }
  stack_destroy(op);
  return rpn;
}
0659576NGNG
/*
 * 逆ポーランド計算機
 */
double eval(token *vv, token *ww, token *op) {
  double v = vv->d.value, w = ww->d.value;
  switch (op->d.operator) {
  case '+':
    return v + w;
    break;
  case '-':
    return v - w;
    break;
  case '*':
    return v * w;
    break;
  case '/':
    return v / w;
    break;
  }
}
0660576NGNG
/* rpn: error 0, succeed 1 */
int rpn(stack *s, double *result) {
  token *t, tok, *v1, *v2;
  stack *r;
  int succeed;

  r = stack_new();
  for (t = stack_begin(s); t; t = stack_next(s)) {
    if (t->type == t_operator) {
      v1 = pop(r);
      v2 = pop(r);
      if (!v1 || !v2 || v1->type != t_value || v2->type != t_value) {
        return 0;
      }
      tok.type = t_value;
      tok.d.value = eval(v2, v1, t);
      push(r, &tok);
    }
    else {
      push(r, t);
    }
  }
  t = pop(r);
  
  /* スタックに何か残っていたり、頂上が数でなかったらエラー */
  if (peep_tail(r) || !t || t->type != t_value) {
    succeed = 0;
  }
  else {
    *result = t->d.value;
    succeed = 1;
  }
  stack_destroy(r);
  return succeed;
}
0661576NGNG
int main(int argc, char * argv[])
{
  char buf[512];
  stack *s;
  double result;
  
  for (; ; ) {
    if(!fgets(buf, sizeof(buf), stdin) || *buf == '\n') {
      break;
    }
    s = make_rpn(buf);
    if (!s) {
      puts("式に変な文字が入ってるYO!!\n");
    }
    else if (!rpn(s, &result)) {
      puts("式が変だYO!!\n");
    }
    else {
      printf("%f\n", result);
    }
  }
  return 0;
}
0662576NGNG
うひー、連続投稿制限に引っかかったよ。
でもこれで全部だ。

以上、なんだけど、長すぎたな、スマソ。
やり始めて3つ目くらいでまずいかな、と思い始めた。
すごくやばかった(汗
0663初心者NGNG
ど、どうもです・・・
こんな時間までどうもありがとうございます。
自分のソースと比べて直してみます。
0664610NGNG
576乙です。ほんとすごいYO!
0665初心者NGNG
って直すどころじゃないのが現状でし・・・TT
0666デフォルトの名無しさんNGNG
整数のみだけど再帰で

#include <stdio.h>

int expression(void);
int term(void);
int factor(void);

int expression(void)
{
int term1 = term();
int ch;

while ((ch = getchar()) == ' ') ;

while ((ch == '+') || (ch == '-')) {
int term2 = term();

if (ch == '+') term1 += term2;
if (ch == '-') term1 -= term2;

while((ch = getchar()) == ' ') ;
}
ungetc(ch, stdin);

return term1;
}
0667666NGNG

int term(void)
{
int factor1 = factor();
int ch;

while((ch = getchar()) == ' ') ;

while ((ch == '*') || (ch == '/')) {
int factor2 = factor();

if (ch == '*') factor1 *= factor2;
if (ch == '/') factor1 /= factor2;

while((ch = getchar()) == ' ') ;
}
ungetc(ch, stdin);

return factor1;
}

int factor(void)
{
int i;
int ch;

while ((ch = getchar()) == ' ') ;

if (ch == '(') {
i = expression();
while ((ch = getchar()) != ')') ;
} else {
ungetc(ch, stdin);
scanf("%d", &i);
}

return i;
}

int main()
{
printf("%d\n", expression());

return 0;
}
0668578NGNG
>>652-662は576じゃなくて578でした。
恩人の名を騙るなんてもうだめぽ。
0669578NGNG
>>666
うわーん、おれよりずっとずっとずっとエレガントじゃないか。
完敗です。すばらしい。

精進します。
0670666NGNG
解説
factorが数字の読み込みとカッコの処理(expressionを呼んでるだけ)
termが掛け算、割り算の処理
expressionが足し算、引き算の処理
上の方が優先度が高くなります。
下から上へ関数を呼び出してます。
factorでカッコのときexpressionを再帰呼び出し、
普通の数字のとき終端です。
0671666NGNG
>>669
666はコンパイラの入門書みて書き移しただけだから。
0672初心者NGNG
御二方すごすぎです〜
うらやましいな〜
何か秘訣みたいなものありますか?w
0673578NGNG
>>671
ドラゴンブックでしょうか? まだ読んでないんですよ。
やっぱ読むべきだよなあ。

今年の目標はドラゴンブックとSICPだな。
0674初心者NGNG
いや〜おかげさまで助かりました。
私も精進していつに日か・・・
              乱文悪しからず
それでは、皆様おやすみなさい
0675デフォルトの名無しさんNGNG
>>670
factor -> term or primary
term -> factor
じゃないかと思うんだが?
0676デフォルトの名無しさんNGNG
>>675
再起だ再起だw
0677578NGNG
もう一つ作ったよ

#include <stdio.h>

void chomp(char *s) {
size_t len = strlen(s);
if (0 < len && s[len - 1] == '\n') {
s[len - 1] = '\0';
}
}
int main(int argc, char * argv[])
{
char buf[512];
FILE *pf;

for (; ; ) {
if(!fgets(buf, sizeof(buf), stdin) || *buf == '\n') {
break;
}
chomp(buf);
pf = fopen("temp.c", "w");
if (!pf) {
return 0;
}
fprintf(pf, "#include <stdio.h>\nint main(void){printf(\"%%f\\n\", (double)%s); return 0;}", buf);
fclose(pf);
system("gcc -o temp temp.c");
system("./temp");
}
return 0;
}
0678デフォルトの名無しさんNGNG
>>677
chompって\rも消してくれない?
0679▽・w・▽NGNG
みんなお疲れ様でした。
0680578NGNG
>>678
stdinはデフォルトでテキストモードなんで、\rは考えなくていいはずです。
つまりDOSもUNIXも改行は\nでいける、はず。

>>679
いい子だ。頭をなでてあげよう。

おじさんは、もう眠いから寝るよ。
おやすみなさい。
0681▽・w・▽NGNG
>>680
ありがと。おやすみなさい。
0682テスト中NGNG
フィールド名
   salary       // 給料
   managerAllowance  // 管理職手当

  メソッド名
   setsalary   // 給与を設定する
   getsalary   // 給与を取得する
   raises     // 昇給処理(昇給は給料の1.1倍を新しい給与とする。)

   setmanagerAllowance  // 管理職手当を設定する()
   getmanagerAllowance  // 管理職手当を取得する()



// W2101xxx 川崎 太郎

public Class W2101xxx{
public static void main(String[] srgs) {
..........
..........
...........
...........
System.out.println("管理者給与は" + .........);
System.out.println("管理職手当は" + ........);
System.out.println("管理者昇給後の給与は" + ......);
..........
}
}
// 従業員クラス
class Employee {
..........
..........
..........
}

// 管理職クラス
class Manager extends Employee {
..........
..........
..........
}

javaです。
お願いします。
0683デフォルトの名無しさんNGNG
>>682
何をどうしたいのよ
0684テスト中NGNG
>>683
すいません。説明が無いですね。
public Class W2101xxx{
public static void main(String[] srgs) {
..........
..........
...........
...........
System.out.println("管理者給与は" + .........);
System.out.println("管理職手当は" + ........);
System.out.println("管理者昇給後の給与は" + ......);
..........
}
}
// 従業員クラス
class Employee {
..........
..........
..........
}

// 管理職クラス
class Manager extends Employee {
..........
..........
..........
}

上の・・・・・・のところにプログラムを入れて
完成させてほしいのです。
大学のテスト問題です。
お願いします。
0685デフォルトの名無しさんNGNG
試験問題丸投げか、おめでてーな
0686テスト中NGNG
終了しました。
お騒がせしました。
>>685
はい、そうですね。おめでたいです。
0687デフォルトの名無しさんNGNG
C言語で電卓ってどうやって作るんですか?
0688デフォルトの名無しさんNGNG
GUIがなければ単純な文字列解析と、再帰が必要かな。
0689675NGNG
>>676
いや、用語の話よ。
0690デフォルトの名無しさんNGNG
>> 687
こんなかんじかな?

#include "stdafx.h"
#include <process.h>

int main(int argc, char* argv[])
{
system( "C:\\Windows\\System32\\calc.exe" );

return 0;
}
0691デフォルトの名無しさんNGNG
>>690
作ってないし・・・
0692デフォルトの名無しさんNGNG
>>690
687はWindowsとは言ってないし、
なぜ、そのパスにcalc.exeがあると言い切れる?

などと、マジに突っ込んでみる
0693▽・w・▽NGNG
今日は誰もいないんだね・・。
0694デフォルトの名無しさんNGNG
>>693
みんな昨日頑張りすぎて力尽きたのかも
0695▽・w・▽NGNG
>>694そっかー。でもみんなやさしいよねー
0696デフォルトの名無しさんNGNG
ガッコの選択授業でBACICとかなんだけどありですか?
0697デフォルトの名無しさんNGNG
>>696
それくらいできないとバカになるよ。
0698デフォルトの名無しさんNGNG
バカしか来ないだろ。
0699デフォルトの名無しさんNGNG
>>687 はい

printf("式?>");gets(buf);

if(strcmp(buf,"1+1") == 0) printf("%d",2);
if(strcmp(buf,"1+2") == 0) printf("%d",3);
if(strcmp(buf,"2+1") == 0) printf("%d",3);
if(strcmp(buf,"2+2") == 0) printf("%d",4);

・・・・

0700デフォルトの名無しさんNGNG
>>696
がっこっつーと、高校か?
0701デフォルトの名無しさんNGNG
>>700
中学だろ。
0702デフォルトの名無しさんNGNG
中学でBASICか・・・まあ、妥当っちゃあ妥当か。
0703デフォルトの名無しさんNGNG
>>702
なんか感じ悪い。
0704702NGNG
>>703
すまん。言い方が悪かったようだ。
0705702NGNG
俺も中学の頃からPG言語勉強してれば良かったなあと思ってみただけだよ。
0706姫 川`∀´)NGNG
なんか、かんじわるいよねぇ〜
0707デフォルトの名無しさんNGNG
>>706
>>702はいいなおしているんだから、煽らなくていいよ
0708デフォルトの名無しさんNGNG
▽・w・▽ が逆立ちしたザリガニに見える……鬱だ寝よう
0709▽・w・▽NGNG
>>708
あ・・。
0710△・M・△NGNG
△・M・△
0711▽・w・▽NGNG
>>710のばか。犬だもん。
0712デフォルトの名無しさんNGNG
>>711
俺はスターウォーズエピソード1のボートレースの一場面に見える。
0713△・M・△NGNG
ω
∋目∈
▽・w・▽

 ザリガニ
0714▽・w・▽NGNG
>>713
・・。
でもなんか、少しかわいい・・。
0715デフォルトの名無しさんNGNG
>>702
BACICは難解だぞ。中学生には無理。漏れには全然分からん。
0716702NGNG
>>715
中学生でも理解しやすい言語ってあるのかな?
COBOLは・・・無理か。そもそも英語もわからんだろうし(オレモナー)。
後はCASLぐらいか?
0717デフォルトの名無しさんNGNG
>>716
日本語LOGO
0718デフォルトの名無しさんNGNG
中学生なんかプログラムできなくてもぜんぜんOK
日本語文書入力がストレスなくできて、Web検索ができれば
200点だと思う。
BASICなんかやってへんなくせつけるな。といいたい。
0719デフォルトの名無しさんNGNG
>>718
BASICはプログラムとはなんぞや。
を覚えるにはいい言語だと思うよ。
問題はCの構造化がいかに便利かに気づけるかどうか。
0720じじいの繰り言NGNG
大昔の8ビットパソコンの
起動即=開発環境=実行環境 
ってのは余計な環境まわりでつまづかなくて
最初のとっかかりとしてはすごくよかった気がする。

ところで今BASICの授業ってなにでやるんだろ。
ポケコン?
0721デフォルトの名無しさんNGNG
>>720
windowsの上で98エミュだったりして(w
0722デフォルトの名無しさんNGNG
>>720
QuickBasicじゃないか?
コンパイルも出来るらしいし・・・
0723デフォルトの名無しさんNGNG
(´-`).。oO(POKE命令もPEEK命令もないBASICなんて・・・)
0724デフォルトの名無しさんNGNG
>>453
ほらよ
http://pc3.2ch.net/test/read.cgi/tech/1018840143/46
0725デフォルトの名無しさんNGNG
中一の後輩がいきなりVC++だとよ、哀れ
0726デフォルトの名無しさんNGNG
>>725
万が一使いこなせてしまった場合君の立場は消滅だ。
0727デフォルトの名無しさんNGNG
正直、「いきなり〜」とか無いと思うんだが。
何か段階踏む必要あるんかね。
0728デフォルトの名無しさんNGNG
>>726
>>725 はただの2ちゃんねらーだ!
だから中1の後輩がどうなろうと、その立場はゆるぎないのだ!
0729▼・w・▼NGNG
▽・w・▽ さん、上の紛らわしい名前使ってもいいですか?
しばらく・・・。
0730デフォルトの名無しさんNGNG
あ、あの頭の方、強く打たれましたか?
0731▽`w´▽NGNG
じゃ、漏れは以下略
0732デフォルトの名無しさんNGNG
かおるタンが犬を調教するスレですか?
0733 NGNG
夏休みの宿題出たんですが
この問題だけ解けませんでした。
誰かといてください。

式 0.011÷100の値はどれか。(全部2進数です。)
ア、0.00001
イ、0.000011
ウ、0.11
エ、1.1


どう考えても0.0000011になるんですが・・・。
0734デフォルトの名無しさんNGNG
>733
で、10進数の割り算の理屈はもちろんわかってるよな?

ついでにいうと、選択肢はどれもハズレだけど。
写し間違いがないか確認せい!
0735デフォルトの名無しさんNGNG
>>733
100で割るという事は、2ビット右シフトするに等しい。
よって
0.011÷100 = 0.00011
0736デフォルトの名無しさんNGNG
n÷1 = n
n÷10 = n/2 (1 ビット右シフト)
n÷100 = n/4 (2 ビット右シフト)
ですな
0737  NGNG
>>734
何度見返しても間違いは見当たりませんでした。
>>735
>>736
ありがとうございました
よくわかりました。
0738デフォルトの名無しさんNGNG
C言語で教えて欲しいことがあります
プログラム途中の計算ででた結果xをつかって配列を宣言したいのですが、今まで
int *var
x=なんちゃら・・・
var=(int *)malloc(x * sizeof(int));
 とやっていたのですが、配列の大きさが一回決めれば変わらないので
x=なんちゃら・・・
{
var[x];
・・・
}とやってみたのですが、このように変更したところで特に困る事ってありますか?
こんなやり方ってあまり聞かないもので心配になって・・・
なんかへんな質問ですがよかったら教えてください。
0739デフォルトの名無しさんNGNG
なんちゃら・・・
0740デフォルトの名無しさんNGNG
ナンチャラ
       ∧         ∧       ナンチャラ
        / ヽ        ./ .∧
     /   `、     /   ∧
    /       ̄ ̄ ̄    ヽ
    l:::::::::              .l
   |::::::::::  -=・=-    -=・=-  |
   .|:::::::::::::::::   \___/    |
    ヽ:::::::::::::::::::  \/     ノ   ナンチャラ
0741デフォルトの名無しさんNGNG
>>738
Cの新しい標準ではサポートされたけど
伝統的なCでは動的に配列の大きさを指定することはできないよ
0742デフォルトの名無しさんNGNG
デントウ
       ∧         ∧       Cジジイ
        / ヽ        ./ .∧
     /   `、     /   ∧
    /       ̄ ̄ ̄    ヽ
    l:::::::::              .l
   |::::::::::  -=・=-    -=・=-  |
   .|:::::::::::::::::   \___/    |
    ヽ:::::::::::::::::::  \/     ノ   ISO/IECワショーイ...
0743デフォルトの名無しさんNGNG
>>741
つぅかCも賢くなったねぇ・・・。
0744デフォルトの名無しさんNGNG
>>743
allocaみたいな処理をコンパイラが出来るようになったってことだね。
スタックの操作なんてコンパイラにやらせるのが筋だろうに、
今まで出来なかった方が不思議といえば不思議だ。

もっとも配列はautoでとるな、staticに取れ、
って言われてたちょっと前までの環境だと(DOS出身です)あってもいらねえ、って感じか。

あ、でも規格書その他読んでないからしらないんだけど、

size_t n = 64;
static char a[n];

みたいなことできちゃったりする? まさかね。
0745デフォルトの名無しさんNGNG
  γ⌒ヾミ   ⊂(・∀・)⊃
  《 ゚Д゚》 彡   / ̄ ̄ ̄ ̄ ̄
 ⊂|  |つ    < エアロスミス!!
   し'^J       \_____
ナンチャラ
0746デフォルトの名無しさんNGNG
>>744
ttp://seclan.dll.jp/c99d/c99d04.htm#dt19990719
なんか読むとわかりやすいです。
0747デフォルトの名無しさんNGNG
月曜朝締め切りの宿題とかありそうだからageてみたりして。
0748デフォルトの名無しさんNGNG
>>743
Cらしくなくなったと思う。
0749デフォルトの名無しさんNGNG
欠点が改善されるとCらしくないということは
Cらしい所は欠点の部分と言うことだな。
0750デフォルトの名無しさんNGNG
>>749
うむ。

次のCはstring型が採用されますようにw
0751デフォルトの名無しさんNGNG
次のCはVariant型が(略)
0752デフォルトの名無しさんNGNG
>>746
読みました。とってもわかりやすかったです。感謝。
多次元配列とかsizeofとか面倒な問題があったとは気づかなかった。
特にsizeofの実装は面倒そうだなあ。

あと

>static f(int p1[static 10]);
>少なくとも 10 個はアクセスでき、p1 は NULL ではないことを保証

ってのにはビックリした。
staticにまた別の意味をもたせますか、って頭痛くなったよ。
これを加えてCではstaticに3つの別々の意味が生じちゃったのね。

・大域変数と関数のファイル外不可視化
・ローカル変数の寿命をプロセスの寿命と同じにする
・static f(int p1[static 10]); のstatic
0753デフォルトの名無しさんNGNG
C++もいれると・・・
0754デフォルトの名無しさんNGNG
C#を使っています。

MDIアプリケーションで親ウィンドウを閉じようとした時に
普通に閉じようとしてもまず子ウィンドウが順番に閉じていって
全部しまりきると、親ウィンドウが閉じるようになってしまうのですが
一斉に閉じるようにするにはどうすればよろしいのでしょうか?
0755デフォルトの名無しさんNGNG
>>754
超高速なCPU使う。
0756754NGNG
>>755
文章が分かりずらくて申し訳ありません。

親ウィンドウの閉じるをクリックすると子ウィンドウが一個ずつ、
つまり子ウィンドウが三個ある場合は三回クリックで子ウィンドウが閉じ
四回目で親ウィンドウが閉じるようになってしまいます。

どうかよろしくお願いします。
0757デフォルトの名無しさんNGNG
おもしろい仕様じゃないか。
0758754NGNG
>>757
// 登録
this.Closing += new System.ComponentModel.CancelEventHandler(this.Form1_Closing);

private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e) {
// 何もしない
}

この様に何もしないように設定してもだめなのでC#ではデフォルトでは
このようになっているのだと思います。
何か自然に終了できるようにするためにはどうすればよろしいのでしょうか?
0759@NGNG
C#嫌いー
0760デフォルト名無しさんNGNG
なにならOK?
どんなわけでそういうの?
>> 759
0761@NGNG
っつーかWINDOWZ消えてくれ
0762デフォルトの名無しさんNGNG
>>754
宿題じゃないだろうし、C#相談室の方がレスもらえるかもよ。
0763754NGNG
>>762
確かにそちらの方がいいですね。どうもありがとうございます。
0764???NGNG
>>87
C言語ですよね。
int printf(format,...);
関数構文自体が間違ってますよ。
0765デフォルトの名無しさんNGNG
>>764
俺は87だが、どこが間違っているのかと小一時間問いつめたい。
0766デフォルトの名無しさんNGNG
まさかマジレス?
0767766NGNG
>>764ね
0768デフォルトの名無しさんNGNG
たしかCは
"..." "..."
とすると文字列をくっつけたと思います。
0769デフォルトの名無しさんNGNG
>>768
正解。隣接する文字列は一つに結合される。
0770デフォルトの名無しさんNGNG
というわけで>>764はstring concatinationについて小一時間調べて来てくだちい。
0771デフォルトの名無しさんNGNG
s/concatination/concatenation/
0772デフォルトの名無しさんNGNG
漢字の書き取りが30ページあるんですけどここなら手伝ってもらえるんですか?
0773デフォルトの名無しさんNGNG
漢字の書き取りが30ページあるんですけどここなら手伝ってもらえるんですか?
おながいしますよ〜。どうしてもまにあわないんです。
0774デフォルトの名無しさんNGNG
ジャポニカ学習帳で 3 ページ分くらいならやってあげるよ。>> 772
0775デフォルトの名無しさんNGNG
Concatenation(>>764, >>770);
0776デフォルトの名無しさんNGNG
>>772
http://www.rtpro.yamaha.co.jp/RT/docs/misc/kanji-sjis.html
0777デフォルトの名無しさんNGNG
777 フィーヴァー!!
0778デフォルトの名無しさんNGNG
VC++あたりだと
"..." "..."のように分けた場合と
"......"のようにくっつけた時で、
埋め込める文字列の最大長が変わったりする。
0779デフォルトの名無しさんNGNG
>>772 こいつで。
http://www.forest.impress.co.jp/library/mikachan.html
0780素人です。NGNG
Text2にkensaku対象キーワードをいれ、そのキーワードを指定したText1から探し、
その個数を出力するプログラムを作ろうとしているのですが、
全然うまくいきません。

結果を出力するためのボタンはこのように作ってみましたがクラッシュしてしまいます。

ど素人ですので至らない点あるかもしれませんが、
手直し、助言等いただけませんでしょうか?


Private Sub Command1_Click()
On Error GoTo Err_Command1
Dim FileName As String

FileName = Text1
kensaku = Text2
k = 0
j = 0

Open FileName For Input As #1

Dim str As String
str1 = FireName1

Dim i As Integer
Do Until EOF(1)
i = InStr([j], str1, kensaku)
If i <> 0 Then
k = k + 1
j = i + 1
End If
Loop

Text3 = i


Close #1
Exit Sub

Err_Command1:
MsgBox Err.Description

End Sub
0781VBド素人NGNG
キーワードを入力させて、その数を指定したファイルから検索し、その数を出力するプログラムを作ろうとしています。

Text1にキーワードを読み込ませて、
指定したファイルをLabel1に出力させています。
そして下のものが実行ボタンの中身です。

・・・・しかしクラッシュしてしまいます。

手直し、助言等いただきたく書き込みします。
ド素人ですので、質問内容に至らない点があるかもしれませんがご了承願います。

よろしくお願いします。


Private Sub Command1_Click()
On Error GoTo Err_Command1
Dim FileName As String

FileName = Label2
kensaku = Text2
k = 0
j = 0

Open FileName For Input As #1

Dim str As String
str1 = FireName1

Dim i As Integer
Do Until EOF(1)
i = InStr([j], str1, kensaku)
If i <> 0 Then
k = k + 1
j = i + 1
End If
Loop

Text3 = i


Close #1

Exit Sub

Err_Command1:
MsgBox Err.Description

End Sub
0782デフォルトの名無しさんNGNG
>>781
とりあえずOn Error Go Toをはずせ。
0783デフォルトの名無しさんNGNG
>>781
スレ違い。


っとマジレスしてみるテスト。
0784デフォルトの名無しさんNGNG
VBじゃこたえる気にもならん
0785デフォルトの名無しさんNGNG
すげぇ。夏休みと共にスレの流れが・・・
0786▽・w・▽ NGNG
みんながんばれー
0787dtyNGNG
ざこ
0788C言語NGNG
X(i+1) = a * X(i) + c

により、[0,1]の一様乱数を発生させるプログラムをつくれ。

a=32771
c=1234567891
X(0)=0
m=2^31
とする。

おねがいしまーす。
0789デフォルトの名無しさんNGNG
>>788
>m=2^31
これはなに?
0790デフォルトの名無しさんNGNG
const unsigned m = 0x80000000;
unsigned rand_nextint(unsigned seed)
{
  static const unsigned a = 32771;
  static const unsigned c = 1234567891;

  return ( a * seed + c ) % m;
}


int main()
{
  int i;
unsigned seed = 0;

  for(i = 0; i < 10; ++i)
  {
   printf("%f\n", (double)(seed = rand_nextint(seed))/m);
}

  return 0;
}

とかは?
0791C言語NGNG
>>789
2の31乗ってことです。

>>790
おお〜、ちょと教科書みて検討してみます。ありがとうございます。
む〜

0792C言語NGNG
seed ってなんなんだ〜
0793790NGNG
乱数の種っす。
0794C言語NGNG
教科書にのってない。鬱だ。

あと、m=0x80000000
ってなってますが、これは?

質問ばっかですいません。
0795デフォルトの名無しさんNGNG
2の31乗ってことです。(16進数)
0796C言語NGNG
天才ですか?
0797デフォルトの名無しさんNGNG
普通です。
0798デフォルトの名無しさんNGNG
おまえら漫才してますか
ワラタヨ
0799C言語NGNG
(a)M個(M=50000〜100000)の粒子を原点x=0に置く
(b)順に1つの粒子を選び、各々2分の1の確率で+1または-1だけ、そのx軸上の位置を移動させる。これをすべての粒子について行う。
(c)(b)を時間の1ステップ(Δt)をし、これを繰り返すことにより、粒子をランダムウォークさせる。

むずい・・・さっきの問題のつづきなんですが・・・
0800デフォルトの名無しさんNGNG
>>799
結果の出力方式は?
0801C言語NGNG
時刻t=500Δt t=1000Δt t=2000Δt における粒子の空間分布関数f(x,t)をもとめ、xの関数をしてプロットする。
0802デフォルトの名無しさんNGNG
Cでプロットまでするの?それとも座標列を出力してgnuplotとかで
表示させてもいいの?
0803C言語NGNG
むずすぎ、この課題。
Cでプロットとかできるんですか?
0804デフォルトの名無しさんNGNG
>>799
こんなもんか。未コンパイルだが

#define T1_COUNT 500
#define T2_COUNT 1000
#define T3_COUNT 2000
#define M_COUNT 100000
typedef struct {
int x;
int y;
} pair;
unsigned randomWalk(
unsigned seed,
pair pairs[],
int pair_count)
{
int i;
pair *p;
for ( i=0 ; i<pair_count ; i++ )
{
p = &pairs[i];
seed = rand_nextint(seed);
p->x += (seed&0x01) ? 1 : -1;
seed = rand_nextint(seed);
p->y += (seed&0x01) ? 1 : -1;
}
return seed;
}
int main()
{
unsigned seed = 0;
pair pairs[M_COUNT];
for ( i=0 ; i<M_COUNT ; i++ )
{
pairs[i].x = pairs[i].y = 0;
}
for ( i=0 ; i<T1_COUNT ; i++ )
{
seed = randomWalk(seed,pairs,M_COUNT);
}
// pairs[] に結果があるから統計取るなりプロットするなり
for ( ; i<T2_COUNT ; i++ )
{
seed = randomWalk(seed,pairs,M_COUNT);
}
// pairs[] に結果があるから統計取るなりプロットするなり
for ( ; i<T3_COUNT ; i++ )
{
seed = randomWalk(seed,pairs,M_COUNT);
}
// pairs[] に結果があるから統計取るなりプロットするなり
}
0805デフォルトの名無しさんNGNG
できんことは無いがちょっと大変。
あと、そんなに難しくはないから大丈夫
0806デフォルトの名無しさんNGNG
おおう、main()にint i;を忘れてる。
0807C言語NGNG
学校でならってないし、教科書にもかいてないからやりかたが全然わからないんですが。
本見てしらべたらいいんだろうけど、ほかの試験もあって、なかなか時間が…
0808C言語NGNG
関数 'rand_nextint' は定義されていません。int 型の値を返す外部関数と見なします

がでた。チェックしよ
0809デフォルトの名無しさんNGNG
というか、>>790 が乱数生成関数は作ってるだろ。
0810C言語NGNG
あほすぎw

コピーペしてはりつけますた。
0811C言語NGNG
統計とるのはどうしたらいいのですか?
0812デフォルトの名無しさんNGNG
-tからtまでの 2t+1個のx座標に関して、その座標上にある点の数を数えたら?
0813デフォルトの名無しさんNGNG
コピーぺしたら、全角スペースを直してね。
0814デフォルトの名無しさんNGNG
ただの統計値なら、
1.まずはpairのx,yの最大・最小値を検索。
2.その値で配列を確保。
3.その配列で度数分布集計。
あとは平均取るなり分散取るなり標準偏差取るなり・・・
統計値だし5%棄却域を求めるのもいいかも。

プロットするならベジエ曲線でも作るか?
0815デフォルトの名無しさんNGNG
ベジェとか言い出したらC言語さんが吐血するし止めとき
0816デフォルトの名無しさんNGNG
>>815
グラフィックライブラリだけだと思うぞ。問題は。
0817無責任な煽りNGNG
一応、向学心を期待して
ttp://www.math.sci.osaka-u.ac.jp/~sakane/jikkebb2b/bezier.pdf

実装はJavaのやつがネット上にごろごろ。
夏休みだし、吐血ぐらいなら問題なし(w
若い時はそれくらい頑張ったほうが身になるし。
0818デフォルトの名無しさんNGNG
>>816
点列からベジェにするのはちょっと大変じゃん
0819C言語NGNG
うっ、全然意味がわからんw
うえーん、やべぇーよー
0820デフォルトの名無しさんNGNG
>>818
気にしないでよい。
どこまでできたの?
0821C言語NGNG
関数をプロットするやりかたがわからないっす。
Gnuplotの使い方が・・・
0822デフォルトの名無しさんNGNG
プロット以外の部分はすべて解決したの?
0823デフォルトの名無しさんNGNG
>>819
大丈夫、おぢさんたちの軽い冗談だから。

ちなみにベジエ曲線ってのは任意の点を結んでソレっぽい曲線を計算して描く手法。
似たようなものとしてスプライン曲線もある。
お絵かきソフトで点を打っていって曲線を描くツールがあるでしょ。あれ。
0824C言語NGNG
なるほど・・・ベジエ曲線はわかりますたw

でもプロットできねー。
ちょいがんばってみます。
うう。
0825デフォルトの名無しさんNGNG
Gnuplot でよさげなページがあった。
ttp://art.aees.kyushu-u.ac.jp/members/kawano/gnuplot/

今まで使ったこと無かったんだけど、
せっかく(?)の休みだし、俺も遊んでみようかな。
0826デフォルトの名無しさんNGNG
*で表示してみたけど。rand()使って
#include <stdio.h>
#include <stdlib.h>

#define M 50000
#define STEP 20
#define LINE 1000

int table[M];
int t;

int cmp(const void *x, const void *y)
{
return (*(int*)x<*(int*)y)?-1:(*(int*)x==*(int*)y)?0:1;
}

void printTable(void)
{
int i, j;
int copy[M];

for (i = 0; i < M; i++)
copy[i] = table[i];

qsort(copy, M, sizeof(int), cmp);

i = 0;
for(j=copy[0]; j < copy[M-1]; j+=STEP) {
int num = 0;

for (; copy[i] < j+STEP; i++)
num++;

printf("%4d - %4d:", j, j+STEP-1);

for (num /= LINE; num--;)
printf("*");
printf("\n");
}
printf("\n");
}
0827826NGNG

void randomWalk(int dt)
{
int i;

for (;t < dt; t++)
for (i = 0; i < M; i++)
table[i] += (rand()&2) ? 1 : -1;

printf("t = %d\n", dt);
printTable();
}

int main(void)
{
randomWalk(500);
randomWalk(1000);
randomWalk(2000);

return 0;
}
0828デフォルトの名無しさんNGNG
とりあえず分かった。

Gnuplotはデータファイルとスクリプトを入力として色々な出力を生成するツールだ。
データファイルとスクリプトはテキスト、出力は例えばPostScriptとか。

今回のような統計値の場合、テキストファイルとして度数分布を書き出しておいて、
それをスクリプト(グラフ化の手順を記したファイル)によって出力を作成する。

出力は宿題の内容によるが、画像ファイル(PostScript,GIF,PNG)としてなら
ttp://art.aees.kyushu-u.ac.jp/members/kawano/gnuplot/postproc.html
を参考にするのがよさそう。

データファイルとスクリプトの文法は
ttp://www.linux.or.jp/JF/JFdocs/gnuplot.html
かな。
0829デフォルトの名無しさんNGNG
プロットするところまで、プログラムで書かないといけない?
テキストで吐き出して、Excelでグラフ作るとかでもありだったりする?
0830デフォルトの名無しさんNGNG
>>829
ガイシュツ。
0831C言語NGNG
昨日の続き・・・わかんねー。
0832デフォルトの名無しさんNGNG
>>831
この時間はあまりひとがいないよ。
0833C言語NGNG
うう。バイトがあるからこの時間しかむりだー。
0834C言語NGNG
平均二乗変位<x^2(t)> (< > はM個の粒子についての平均)を時間の関数としてプロットせよ。
tの大きいところでは<x^2(t)>はtに比例し、1次元の場合
<x^2(t)>=2Dt+const
で与えられる。
Dはいくらか?

>>799
のつづきです。 全然わからん・・うう
0835C言語NGNG
t=0で原点を出発した粒子が、原点を中心とした半径lの球を初めて通過する時間τを初通過時間という。
>>799でえられた粒子の軌跡を用いて、τの分布関数P(τ)をl=10,20の場合について求めよ
0836デフォルトの名無しさんNGNG
>>C言語
それだけの量だと、提出は盆休み明けでしょう?
0837C言語NGNG
明日までなんですが・・・w
やべー(・∀・)
0838デフォルトの名無しさんNGNG
昨日の夜中にこればよかったのに。
>>834は最小二乗法使うかねぇ?
0839C言語NGNG
昨日の夜中はバイトでした。。
バイトせなやっていけないので(;´д`)

最小二乗法・・・むずー。
プログラムくめなさげw
0840C言語NGNG
まずは799がんばろ。よっしゃ。
0841C言語NGNG
ウヒ(゚д゚)できねー
0842デフォルトの名無しさんNGNG
>>831
どこがわからんのだ?
0843C言語NGNG
全部
0844デフォルトの名無しさんNGNG
>>843
すまん。それじゃ答えようがない。
0845デフォルトの名無しさんNGNG
>>843
本人かどうか知らないが、やる気なさそうだ。
0846C言語NGNG
799がわからんので、ほかもわからない状態です。はぁ〜
0847デフォルトの名無しさんNGNG
799のどこがわからんのだ?
0848デフォルトの名無しさんNGNG
for(i = 0; i < M i++)
x[i] += (rand() >= RAND_MAX / 2) ? 1 : -1;
0849848NGNG
ランダムで+1or-1させる。
x[i]がx座標を表す。
Mが粒子の個数
0850デフォルトの名無しさんNGNG
>>834
ある任意の時間内に生じた,粒子の位置の変位の確率分布がガウス分布に
なるとき,平均二乗変位は時間に比例します.
を確認しろという問題だね。
問題のランダムウォークは実際、二項分布になるはずだから、充分に回数が
大きければ正規分布つまりガウス分布を近似することになる。

その「平均二乗変位は時間に比例」の係数(角度)をグラフから求めろという
ことだよ。
だから横軸を時間、縦軸を平均二乗距離(各粒子の原点からの距離の平均
を取ってその二乗)としてプロットしてその角度を測れば良いわけだ。

・・・いや、本当に二項分布になるのか?
ちと自信ないが、藁を掴む気で信じてみるのも一興ではないか(w


>>835 は・・・また別に説明を考えてみる。
0851デフォルトの名無しさんNGNG
結構むずいな・・・
0852C言語NGNG
いやー、問題の背景とか、意図はわかるんですけどね、プロットの仕方とか、プログラムの組み方がわからないんです(笑)
0853デフォルトの名無しさんNGNG
でも、今はインターネットがあるんで調査もらくちんだ♪
0854848NGNG
で、無視かいな
0855デフォルトの名無しさんNGNG
>>852
だから、前に書いたプログラムで各pairで
sqrt((double)(p->x*p->x+p->y*p->y))
とやって距離を求めて、それの平均を取って二乗したものを、その時間
の縦軸として出力。それを3点で行ってプロット。
一直線になってたら、その直線を2Dt+constに当てはめてDを求める。

でいいじゃん。
っか、比例係数ならグラフ書かなくてもいいな。
0856デフォルトの名無しさんNGNG
白黒(256階調)のjpeg画像を2値化するプログラムを
教えてください。
濃度分布の平均値による2値化をしたいのです。
C言語です。
0857デフォルトの名無しさんNGNG
>>856
閾値でわける。
0858デフォルトの名無しさんNGNG
jpegのデコードはめんどいので
libjpegでもつかってくれ
0859デフォルトの名無しさんNGNG
うお・・・しまった、1次元だったのね。
pairいらないじゃない。

>>848
for文の中の;が抜けてたりと、ネタかと思ってた・・・謝罪。
0860858NGNG
>>858は>>856へのレスね
0861848NGNG
>>859
うお!ほんとだ鬱…

>for文の中の;が抜けてたりと
ということは、他にもネタっぽいところがあるんだろうが
どこだか教えていただけると助かるです
0862856NGNG
一番処理しやすい画像の種類?(jpegとかgif)は何ですか?
0863デフォルトの名無しさんNGNG
.BMP
0864デフォルトの名無しさんNGNG
>>862
jpegはアメリカのForgentという会社が特許を主張しているので
未来はありません。
0865デフォルトの名無しさんNGNG
>856
濃淡画像でよいならPGM
0866デフォルトの名無しさんNGNG
>>864
世知辛い世の中ですな。
0867あやNGNG
1行に書かれた2桁までの2つの数の四則演算の式の値
を求めることができるプログラムを作る。

課題でこれを配られただけです。
Cでつくってこいとのことだが自分はプログラムさっぱりなんで
わからないです。
Cについて知っているようでしたら教えてください。
分からないようでしたらそう返事ください。
おねがいします。
0868デフォルトの名無しさんNGNG
>>861
いや、こっちも二次元ランダムウォークだというとんでもない大ボケをかまして
いまして、「なんで1次元なんだ?あ、;も抜けてるし」という流れで無視してました。
0869848NGNG
>>868
そうでしたか。
ちなみに俺のやってることって、
やっぱ間違ってるんでしょうか?
レスまったくつかないので。。。
#質問者じゃないのに質問してるし。。。
Cはじめて二ヶ月くらいです。
0870デフォルトの名無しさんNGNG
>>867
女の名前でも、吊れないよヒプ
0871デフォルトの名無しさんNGNG
>>867
すいませんC言語は全くわかりません。
でも、Cなら教えられます。ハァハァバコバコ
0872デフォルトの名無しさんNGNG
>867
#include <stdio.h>
main(void){
printf( "式を入力してください:" );
getchar();
printf( "答えを入力してください:" );
getchar();
puts( "ありがとうございました" );
}
0873デフォルトの名無しさんNGNG
ヒプ
0874デフォルトの名無しさんNGNG
ヘイポー
0875デフォルトの名無しさんNGNG
>>867
scanf関数の使い方を調べると良いよ。
0876デフォルトの名無しさんNGNG
エイホー
0877デフォルトの名無しさんNGNG
(30万円を年利率5%の福利で借りたとする。二年後に返済するとすると、返済金額はいくらになるか?
float型を使って計算すること。)
って課題を出されたんですが誰かわかりませんか??^^;
よろしくおねがいします・・
0878デフォルトの名無しさんNGNG
30万 x 1.05 x 1.05
ですか?
0879デフォルトの名無しさんNGNG
#include <stdio.h>

int main(void)
{
puts("ハサーン\n");

return 0;
}
0880あやNGNG
なんかいろいろ参考になります。
ありがとうございます。
0881デフォルトの名無しさんNGNG
>>880
どの変が参考になりましたか?
0882デフォルトの名無しさんNGNG
>>834
以下の結果でプロットしてみたら5500回あたりからなんとなく直線に
なってるみたいだし、これから角度を計算してDを求めてみて。
例によって乱数ルーチンは抜いてあるから注意。

[ソース]
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

#define M_COUNT 100000

unsigned randomWalk(
unsigned seed,
int x[],
int x_count)
{
int i;
for ( i=0 ; i<x_count ; i++ )
{
seed = rand_nextint(seed);
x[i] += (seed&0x01) ? 1 : -1;
}
return seed;
}
double msd(
int x[],
int x_count)
{
int i;
double ret = 0;
for ( i=0 ; i<x_count ; i++ ) ret += abs(x[i]);
ret /= (double)x_count;
return ret*ret;
}
int main()
{
int i;
unsigned seed = 0;
int x[M_COUNT];
for ( i=0 ; i<M_COUNT ; i++ ) x[i] = 0;
for ( i = 1 ; i<=10000 ; i++ )
{
seed = randomWalk(seed,x,M_COUNT);
if (0==(i%500)) printf("%d\t%f\n",i,msd(x,M_COUNT));
}
return 0;
}
0883あやNGNG
scanf関数の使い方を調べると良いよ。

これを調べればなんとかなるんじゃないんですか??
0884デフォルトの名無しさんNGNG
>>883
たしかにそうかも。
でも、こんなとこでつまずいてるようじゃ、
scanfの使い方わかっても、そのさきに進まないだろう。










それより、おじさんとCしようじゃないか、ハァハァ
0885あやNGNG
それはちょっと・・・・・
見本のプログラムとかはおしえてはもらえないでしょうか?
0886デフォルトの名無しさんNGNG
>>885
マルチ氏ね
0887デフォルトの名無しさんNGNG
>>867
諦めるの早すぎ。
こんなのじゃ駄目?

[ソース(calc.c)]
#include<stdio.h>
#include<stdlib.h>

void main( int ac, char *av[] )
{
int l,r,res;
if ( ac<3 )
{
puts( "calc.exe 左数値 (+|-|*|/) 右数値\n" );
exit(0);
}
l = atoi(av[1]);
r = atoi(av[3]);
switch ( *av[2] )
{
case '+':
res = l+r;
break;
case '-':
res = l-r;
break;
case '*':
res = l*r;
break;
case '/':
res = l/r;
break;
default:
puts( "calc.exe 左数値 (+|-|*|/) 右数値\n" );
exit(0);
}
printf( "%d %c %d = %d\n", l, *av[2], r, res );
}

[実行例]
>calc 1 + 2
1 + 2 = 3
>calc 5 - 2
5 - 2 = 3
>calc 5 * 2
5 * 2 = 10
>calc 15 / 2
15 / 2 = 7
>calc 5 / 2
5 / 2 = 2
0888デフォルトの名無しさんNGNG
>>887
× if ( ac<3 )
○ if ( ac<4 )
0889あやNGNG
>>887
calc.exe 2 / 3
calc.exe 100 / 0
とかはどうすればいいですか?
教えてくれたらCしてあげます
0890デフォルトの名無しさんNGNG
電卓なら
>>666
にあったが・・・
0891000NGNG
UMLがわかりません・・・
教えてもらえませんか?
0892デフォルトの名無しさんNGNG
ねっしー
0893デフォルトの名無しさんNGNG
UMA
0894000NGNG
ムリっすっか?
0895デフォルトの名無しさんNGNG
>>894
専用のスレに行きたまえ
0896000NGNG
すいません・・・
どこにあるんですか?
0897デフォルトの名無しさんNGNG
HTMLがわかりません・・・
教えてもらえませんか?
0898神へNGNG
これしてください
http://users.kyoto-kcg.ac.jp/~r-kikue/sys2/2002_0723/kadai_1b.html
http://users.kyoto-kcg.ac.jp/~r-kikue/sys2/2002_0723/kadai_2.html
0899デフォルトの名無しさんNGNG
>>897
http://tohoho.wakusei.ne.jp/www.htm
0900デフォルトの名無しさんNGNG
>>899
糞ページ薦めないでください・・・・
0901▽・w・▽NGNG
みんな宿題がんばれ!
0902898NGNG
おねがいします!!
0903デフォルトの名無しさんNGNG
>897
http://members.jcom.home.ne.jp/pctips/
笑い。

ところでぼちぼち次スレの女の子を攫ってこなければ
いけないとおもうのだがどうか。
0904デフォルトの名無しさんNGNG
>898
>>1
0905ニーチェNGNG
>898
ネ申 は 死 ん だ
0906デフォルトの名無しさんNGNG
>>898
京都コンピュータ学院に言いつけていいですか?
0907デフォルトの名無しさんNGNG
>>903
もう無理やり女の子をさらってこなくてもいいんじゃない?

0908デフォルトの名無しさんNGNG
>>898
1.2. クラスGakuseiをJava風の言語で表せ。
public class Gakusei {
String namae;
int yuugaku_year;
public void sotsugyo(void) {}
public int getGakunen(void) {]
}

あとは無理。図なんてかけない。
0909デフォルトの名無しさんNGNG
>>908
nが抜けてるので減点です。
0910908NGNG
public int getGakunen(void) {]
が}のかわりに]になってるのでさらに減点。
0911デフォルトの名無しさんNGNG
最近の女の子、非協力的よね。
0912デフォルトの名無しさんNGNG
えれなの祖母ヨシエ(83)です
このスレ限りで人生ともおさらばになりそうですが
どうかよろしくおねがいします
0913デフォルトの名無しさんNGNG
>>912
このスレあと残り90切ってるよ
0914デフォルトの名無しさんNGNG
えれなタン・・・ハァハァ


・・・ムリ
ぃっτょι
0915デフォルトの名無しさんNGNG
   ||
 ∧||∧
(  ⌒ ヽ 
 ∪  ノ ヨシエか
  ∪∪
0916デフォルトの名無しさんNGNG
えれなタンは若いよ
0917898NGNG
>>908さん
ありがとうございます!!
0918デフォルトの名無しさんNGNG
ヨシエの妹のヨモギ(81)です
この(略)おさらば(略)ですが
どうか(…ゴフッ)よろしく(略)
0919デフォルトの名無しさんNGNG
アンタも
ぃっτょι
0920あやNGNG
偽者が多いんですね・・・
どーもありがとうございました。
参考になります。
0921デフォルトの名無しさんNGNG
次はこいつでどうよ? > ▽・w・▽
0922デフォルトの名無しさんNGNG
>>921
いいかも。
0923デフォルトの名無しさんNGNG
暇だ・・・宿題出してくれ
0924デフォルトの名無しさんNGNG
プログラム以外の宿題でもいいれすか?
0925デフォルトの名無しさんNGNG
>>924
OK!
でも絵とか工作は不可
0926デフォルトの名無しさんNGNG
ライブラリとかマシンとかサーバとかドメインとかにエロゲのキャラ名あてる感覚が イ ヤ だ。
0927デフォルトの名無しさんNGNG
>>926
それがエロゲのキャラ名とわかってしまうあんたもな(w
0928デフォルトの名無しさんNGNG
宿題いい?
0929デフォルトの名無しさんNGNG
いいんじゃない?
0930デフォルトの名無しさんNGNG
Cなんだけど、正規表現ライブラリ作れといわれた。
どうつくんのよ?え?
漏れ初心者だよ?
関数形は、

int m(char *src,char *mat);
src:対象文字列、mat:正規表現文字列

char *s(char *src,char *mat,char *plc);
src:対象文字列、mat:正規表現文字列、plc:置換文字列

だってよ。もうわけわかんねーよ。
0931デフォルトの名無しさんNGNG
C言語の宿題です。

問題1
文字列strの長さを返す関数mystrlenをつくれ。
プロトタイプはlong mystrlen(const char *str)とする。

問題2
文字列s1の後ろに文字列s2を連結する関数mystrcatを作れ。
プロトタイプはvoid mystrcat(char *s1,const char *s2)とする。

全然分かりません。よろしくお願いします。
0932デフォルトの名無しさんNGNG
とりあえず、単純マッチだけ出来たけど。

int m(char *src,char *mat)
{
  while (*src){

}
0933932NGNG
全部書く前に、ぼたんおしちゃった。スマソ
0934デフォルトの名無しさんNGNG
>>932
えらぁ
0935デフォルトの名無しさんNGNG
>>930
どの程度の正規表現使えるようにするの?
.と*だけとか、[]もいるとか。
というか宿題でそんなのだすか普通(w
0936デフォルトの名無しさんNGNG
>>935
うちの会社は新卒の入社試験で出します。
0937デフォルトの名無しさんNGNG
long mystrlen(const char *str)
{
return strlen(str);
}



0938デフォルトの名無しさんNGNG
>>935
Perl互換でお願いしますですです。。。
0939デフォルトの名無しさんNGNG
>>930
今すぐ

定本 Cプログラマのためのアルゴリズムとデータ構造
近藤嘉雪 著 ソフトバンク パブリッシング

を買ってこい
0940930NGNG
>>935
とりあえず、

m(str,"moji");
m(str,"a*");
m(str,"(a|b)");

これはできるようにしろということだ。
0941デフォルトの名無しさんNGNG
>>931
mystrlenは文字列の先頭から一文字ずつ見ていって、
'\0'が出てくるまでの文字数を数えれ。

mystrcatは、mystrlenでs1の長さを求めて、
それを利用してポインタをs1の末尾にセットして、
あとは一文字ずつs2をコピーしろ。'\0'が出てきたら終わり。
つうか、
void mystrcat(char *s1, const char *s2)
{
  strcat(s1, s2);
}
でもいいかもな。
先生に殴られてもしらんけど(w
0942デフォルトの名無しさんNGNG
>>938
Perlのregexp.c(だっけか?)をとって来い(w
0943デフォルトの名無しさんNGNG
単純マッチ

int m(char *src,char *mat)
{
  char *bs = str,buf[256];
  int l=strlen(mat),sl = strlen(str);

  for (j = 0;j < sl-l;j++){
    if (*src == *mat){
      bs = src;
      for (i = 0;i < l;i++){
        buf[i] = *src;
        src++;
      }
      buf[i] = '\0';
      if (strcmp(buf,mat) == 0){
        return 1;
      }
      src = bs;
    }
    src++;
  }
  
  return 0;
}
0944デフォルトの名無しさんNGNG
ttp://bob.marlboro.edu/~msie/2001/ipl/perl/code/mar24/mysql-3.23.35/regex/regexp.c
0945デフォルトの名無しさんNGNG
単純マッチってどんなの?
0946デフォルトの名無しさんNGNG
http://bob.marlboro.edu/~msie/2001/ipl/perl/code/mar24/mysql-3.23.35/regex/regexp.c
0947930NGNG
>>944、>>946
ありが�d・・・。
こんなになるのか・・・。
ぜんぜんわけわからん。
0948デフォルトの名無しさんNGNG
>>944
yaccもlexも使ってないのか。驚いた。
0949デフォルトの名無しさんNGNG
>>948
yaccやlexつかったらライブラリとして駄目じゃない?
0950デフォルトの名無しさんNGNG
Emacs使ってるっぽくて、タブとスペースが混在してるよ〜
しかも途中でインデントが2のところもあるし・・・
0951デフォルトの名無しさんNGNG
とりあえず上の2つに対応。(m("moji")、m("a*"))

int m(char *src,char *mat)
{
  char *bs,buf[256],mbuf[256];
  int l,sl = strlen(str),i=0,j;

  bs = mat;
  while (*mat){
    if(*mat == '*') break;
    mbuf[i] = *mat;
    mat++;
    i++;
  }
  mbuf[i] = '\0';
  l = i;
  mat = bs;
  
  for (j = 0;j < sl-l;j++){
    if (*src == mbuf[0]){
      bs = src;
      for (i = 0;i < l;i++){
        buf[i] = *src;
        str++;
      }
      buf[i] = '\0';
      if (strcmp(buf,mbuf) == 0){
        return 1;
      }
      src = bs;
    }
    src++;
  }
  return 0;
}
0952デフォルトの名無しさんNGNG
>>931
long mystrlen(const char *str)
{
long i;
for(i=0;str[i]!='\0';i++);
return i;
}

void mystrcat(char *s1,const char *s2)
{
long i,j;
i=mystrlen(s1);
j=mystrlen(s2);
memcpy(s1+i,s2,j+1);
}
0953デフォルトの名無しさんNGNG
>952
memcpy使うんかい!って話やな
void mystrcat(char *s1, const char *s2) {
while ( *s1 != '\0' ) s1++;
while ( *s2 != '\0' ) *(s1++) = *(s2++);
*s1 = '\0';
}
0954デフォルトの名無しさんNGNG
削れ削れ。
void mystrcat(char *s1, const char *s2) {
while (*++s1);
while (*s1++ = *s2++);
}
0955デフォルトの名無しさんNGNG
削れ削れ
void mystrcat(char *s1, const char *s2) {
  strcat(s1,s2);
}
0956デフォルトの名無しさんNGNG
void mystrcat(char *s1, const char *s2) {
while (*s1) s1++;
while (*s1++ = *s2++);
}
0957デフォルトの名無しさんNGNG
削れ削れ
#define sc(s1,s2) strcat(s1,s2);

void mystrcat(char *s1, const char *s2) {
sc(s1,s2);
}
0958デフォルトの名無しさんNGNG
void (*mystrcat)(char *s1, const char *s2) = strcat;
みたいにできたかな?
0959デフォルトの名無しさんNGNG
>>958
宿題内容は関数をつくれってことだからそれは駄目。
0960デフォルトの名無しさんNGNG
#define mystrcat(s1,s2) strcat(s1,s2)
;書いていいの?
0961デフォルトの名無しさんNGNG
お前ら全員クビ!
0962デフォルトの名無しさんNGNG
strcatはchar *を返すぞ。
0963デフォルトの名無しさんNGNG
strcatと同じようにする場合は、s1の内容をあらかじめ他の変数に待避しておいて、>>954みたいにし、その待避した値を返すのが一番いい?
0964963NGNG
それとも添え字を使った方がいい?
0965デフォルトの名無しさんNGNG
>>962
キャストするまで。

void (*mystrcat)(char *s1, const char *s2) = (void (*)(char *, const char*))strcat;
0966デフォルトの名無しさんNGNG
>>951
そりゃ正規表現じゃなくてワイルドカードだな。

それとiの初期化。
0967デフォルトの名無しさんNGNG
http://users.powernet.co.uk/eton/kandr2/krx503.html
こんなの拾ったよ。K&Rの解答みたいだけど。
956がいいみたい。954は""な\0だけの文字列でダメになるよ。
0968デフォルトの名無しさんNGNG
>>967
俺だったら
for(;*s1;s1++) ;ってやるな
0969デフォルトの名無しさんNGNG
俺はやらんが
s1 += strlen(s1);
0970デフォルトの名無しさんNGNG
こんなんどうかな。
char *strend(char *s){
while (*s) s++;
return s;
}

size_t strlen(char *s) {
return strend(s)-s;
}

char *strcpy(char *s, const char *t) {
char *u = s;
while (*u++ = *t++);
return s;
}

char *strcat(char *s, const char *t) {
strcpy(strend(s), t);
return s;
}
0971デフォルトの名無しさんNGNG
正規表現は非決定性有限状態オートマトン(NFA)をしらないと
プログラムできない。
0972デフォルトの名無しさんNGNG
非決定性有限状態オートマトン(NFA)をしらなくても
自分で考えつければプログラムできる。
0973ボケ倒してみるNGNG
/*
問題1
文字列strの長さを返す関数mystrlenをつくれ。
プロトタイプはlong mystrlen(const char *str)とする。
*/
long mystrlen(const char *str)
{
return *str ? mystrlen(str+1)+1 : 0;
}
/*
問題2
文字列s1の後ろに文字列s2を連結する関数mystrcatを作れ。
プロトタイプはvoid mystrcat(char *s1,const char *s2)とする。
*/
void mystrcat(char *s1,const char *s2)
{
if (*s2)
{
s1 += mystrlen(s1);
s1[0] = *s2;
s1[1] = 0;
mystrcat( s1, s2+1 );
}
}

void main( int ac, char *av[] )
{
char str[11];
printf( "%d\n", mystrlen("1234567890") );
str[0] = 0;
mystrcat( str, "12345" );
mystrcat( str, "67890" );
puts( str );
}
0974デフォルトの名無しさんNGNG
>>973
わははは。ワラターヨ
何でそこでそんな飛び道具使う(w
0975デフォルトの名無しさんNGNG
if (*s1) s1 += mystrlen(s1);

if (*s2) {
s1[1] = *s1;
*s1 = *s2;
mystrcat(s1, s2+1);
}
0976デフォルトの名無しさんNGNG
*s1++ = *s2++;
mystrcat(s1, s2);
0977975=976NGNG
これ動くかな?
void mystrcat(char *s1,const char *s2) {
if (*s1) s1 += mystrlen(s1);

if (*s1++ = *s2++) {
*s1 = 0;
mystrcat(s1, s2);
}
}
0978デフォルトの名無しさんNGNG
コラッツの予想が1<n<=10000について正しいことを確かめよ
またnに対してこの操作を施す回数をp(n)と表し、このp(n)の最大値と
それを与えるnを求めるc言語のプログラムを作成せよ
という宿題で大変困ってます c言語というかプログラミング自体ほぼ初めてで
「初めてのc言語」片手に努力しましたがどうにもならず書き込みしました
誰か代わりに作っては頂けないでしょうか。
0979デフォルトの名無しさんNGNG
コラッツの予想てなんじゃ?
0980978NGNG
ある正の整数nに対して、nが偶数なら2で割る。nが奇数なら3倍
して1を加えるという作業を繰り返すといつか必ず1になるという予想です。
例えば3→10→5→16→8→4→2→1のようになるというものです
0981デフォルトの名無しさんNGNG
>>978
ここに来るよりググったほうが早い・・・
ttp://www.gt.sakura.ne.jp/~nyagy/integer/collatz.html
0982デフォルトの名無しさんNGNG
>>978
コラッツの予想は
ttp://www.gt.sakura.ne.jp/~nyagy/integer/collatz.html
か。こんな名前ついてるの知らなかったよ。

プログラムはこんな感じかな。

#include <stdio.h>
#include <ctype.h>

#define even(n) (!((n) & 1))

unsigned long collatz(unsigned long n)
{
  unsigned long p = 0;
  while (n != 1) {
    p++;
    if (even(n)) {
      n /= 2;
    }
    else {
      n = n * 3 + 1;
    }
  }
  return p;
}

int main(int argc, char * argv[])
{
  unsigned long i, n, r, max = 0;

  /* オプションのチェック */
  if (argc < 2 || !isdigit(*argv[1])) {
    fputs("数字を指定してYO!\n", stderr);
    return 3;
  }
  n = strtoul(argv[1], NULL, 10);
  for (i = 1; i <= n; i++) {
    r = collatz(i);
    if (max < r) {
      max = r;
    }
  }
  printf("%lu\n", max);
  return 0;
}

って、プログラム書いてる間に、同じサイトが出てたね(w
0983978NGNG
ありがとうございます
ただp(n)とかその最大値とかをどう扱ったらいいんでしょう。
0984デフォルトの名無しさんNGNG
>>983
p(n)の最大値は>>982のプログラムでprintfしてるよ。
0985978NGNG
本当にありがとうございました
本当に助かりました
0986982NGNG
>>985
そのものずばりのコードを書いたのはよくなかったかも。
将来プログラマになるつもりがあるのなら、
よくコードを読んで何をやってるのか理解してくれ。
難しいことは一切やってないから。
0987 NGNG
>>986
そのものずばりのつもりだったのか。
1 < n <= 10000 ではないし、nも求めてないが。
0988デフォルトの名無しさんNGNG
>>982
オーバーフローチェックもやった方がいいかも。
0989デフォルトの名無しさんNGNG
>>973
再帰マニアですか?
0990デフォルトの名無しさんNGNG
なぜ、行列積のループ順を変えると演算時間が変わるのです?
キャッシュミスとかが絡んでくると思うんだけど、誰かわかりやすく
教えてくれませんか?
0991デフォルトの名無しさんNGNG
単純に考えたのは
for(i=0;i<n;i++)
for(j=0;j<n;j++)
tbl[i][j] = tbl[j][i];
てのがあったとして
jのループの中でtbl[i]は一定だから最適化しても
tbl[j][i]をいちいち求めてると遅くなる。

tbl[0][i]からポインタ演算してくれるコードをはいてくれると
速度的には変わらないかなと思うが。
0992デフォルトの名無しさんNGNG
>>990
ページを超えてジャンプしたら遅いんじゃないの?
0993デフォルトの名無しさんNGNG
次スレ
0994デフォルトの名無しさんNGNG
>>990
キャッシュミスがどうとかいうんなら、
ソース、コンパイルオプション、実行環境のスペック等を教えてもらわんと。
0995 NGNG
n次元ベクトルの内積を求める関数
double inprod(doble a[],double b[],int c);
はどのように書けばいいのでしょうか?
ご教授おねがいします
0996デフォルトの名無しさんNGNG
>>995
すでに数学の領域かと。宿題なら習っただろうて。
0997デフォルトの名無しさんNGNG
double inprod(doble a[],double b[],int c) {
 return c == 0 ? 0.0 : *a * *b + inprod(a + 1, b + 1, c - 1);
}
0998デフォルトの名無しさんNGNG
>>997
再帰好きだね
0999Rina ◆tI333vNE NGNG
非再帰ならこれでいいかと.

double inprod(double a[], double b[], int n) {
 int i;
 double tmp = 0;

 if (n == 0) {
  return 0.0;
 }

 for (i = 0 ; i < n ; i++) {
  tmp += a[i] * b[i];
 }

 return tmp;
}

全角スペース→半角スペースに変えてください.
1000デフォルトの名無しさんNGNG
あ
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。