1 :
デフォルトの名無しさん :
2006/02/04(土) 20:52:35
[
>>1 からついでに色々。]
・同じ講義を受けている人が既に同じ宿題を依頼してるかもしれなせん。
まずはスレを少しさかのぼって探してみてください。
それさえ出来ないシメジ野郎はバター焼きにして食っちまうぞ
・解答者は答える義務もないし、答えてもそれが正しいかどうかは保証しません。
もちろん、出題者先生の意図なんぞ知ったことではありません。
At your own riskで。
・態度が余りに悪いとすーぱーはかーがあなたの先生にチクるかもしれません。
乙です。
乙 なんでケがカタカナ?
puts("1乙");
System.out.println("乙");
それはJava
main :- write('1乙'),fail.
いいかげんにしろ。
stdout.writeLine("正直スマンかった");
気に入らんな スレ立て直すか?
こんくらいのことで立て直す方がよっぽど厨房
幼稚な人間があつまってまいりました
int main(){ return main(); }
しかしタイトルが不愉快
ただ単にキモいスレタイというだけだ
細かいヤツラだな。 細かいのはプログラムだけにしとけや。
俺もスレタイが不愉快
>>21 とはいえネーミングセンスの無い奴はえてしてアレなんだよ
むしろ>1が不愉快
>>23 関数名や変数名がわかりにくいんだよな
俺もそういうプログラムを読むのは勘弁だ
26 :
デフォルトの名無しさん :2006/02/05(日) 00:28:52
ああ、注意書き入れてなかった。「ウィルスチェックしてから実行のこと」もしくは、相応の対処を。 カウンタについては、わからん。とりあえず8000までは回るみたい。 カウンターがどこでストップするかは誰か検証よろしくお願いする。 次スレ荒れてるねぇ・・・素直が一番ってことかな・・・。 「キーボードから入力なのに標準入力から・・・」 「そんないちゃもんいうなら次スレ立てろ」 「ケ」 「・・・藻前、もっと素直になれや・・・」
27 :
デフォルトの名無しさん :2006/02/05(日) 00:29:42
こっちに書いてしまったよ。もう、寝る!
>>26 生実行した俺です
信用するぜ!!! ('A`)b
とりあえず4000くらいまでは動いてたぞ
Uzeeeeeeee
>>30 (´;ω;`) とうとう壊れたんだね
もういいよ、明日から来なくて
デスクは勝手に整理して(ry
すでに壊れてたからセンスの無いスレタイ付けたんだろうな。
今日でここを卒業させてもらう。おやすみ。
35 :
デフォルトの名無しさん :2006/02/05(日) 02:21:36
宿題も出てないのに、なにこの速さ
それがタイトルの拙さを示しているってこと
よし!じゃあ焼き鳥を焼くプログラム作れ 肴がなくなったから
5時間半で40弱・・・6時間で50レスと考えると、120時間でスレ消費。5日くらい我慢しろ。
なんかGAME作ってください
俺もツマミ切れてるよ。焼酎呑んでるけど・・・ ツマミ作るか・・・冷蔵庫の中は冷凍食品と、肉、うどんがあるな・・・。 さて、よっぱらいつつ、揚げ物に挑戦するか。
いつもvipに行ってる俺からすれば素晴らしく遅い流れなわけだが
>>37 とりあえずUSBドライバから作ろうな
コーヒー暖めるのと同じ原理だから
特定の物質にプリグラムで命令を与えるとかできるようにならんかなぁ・・
昔はパラレルポートやらシリアルポートやら繋いで回路を作る記事、本が出てた気がする。 USBでそんな本でてるんかな・・・Windows/Linux/BSD/Mac用のドライバのソースも欲しいな・・・。 いい本しらない?
コーヒー暖めるのにドライバ必要か?
揚げ物中。とりあえず、白身魚のフライ。 鶏肉あったけど、から揚げ作る気力がない。
>>47 が壊れ始めたのでセクタにチェックマークいれておきますねー
>>48 酔っ払ってる時に揚げ物は危険だから是非やれ
もうおまえら全員exit(1);
今から油もの食べるなんて頑張るなあ
このスレは異常終了しますた。 マイクロソフトに報告しすか?(y/n)_
了解。やっぱ、冷食の白身魚じゃツマランので、からあげも作成中。 ・・・普段は酒とか醤油まぜたのに何時間か漬け込むんだかね・・・まあ、酔っ払いなんで、テケトー。 体重維持のためにがんばるぜ。
するわけねぇだろ
漬け込んでないからアゲってうまいのかなぁ・・・・?
体重維持ってよーわからん
int main(int c,char a[][]){ return (int)(char*); }
このスレは復帰しますた。 マイクロソフトに報告しますか?(y/n)_
今からおまいらの脳内領域を無限にmallocで無駄に確保し続けます
何でしてくれないんだよう・・・
>>62 仮想メモリが一杯になりました
今すぐfreeしてkだあしあ
>>65 お前はもう何も考えられない何も憶えられない
>>62 大丈夫、俺の脳内はほとんどが night head だ
printf("%s",(char*)0x0123ddff);
>>65 の仮想メモリがいっぱいになりました。
ミクロソフトに報告しますか?(y/n)_
>>65 了解した
全てfreeして楽になりなさい
体重維持の説明: 2/4日に食べたもの100円1斤6枚切りの食パン2枚+野菜ジュース。 あと口に入れたものはコーヒーとお茶と焼酎だった。 まあ、そんなとこだ。
free(ゥゥゥゥゥ・・・・・ゥゥゥィィ
胃が荒れそうだ
>>65 のメモリが空っぽになりました。
もうブルースクリーン行っちゃいますか?(y/n)_
胃が荒れました。 マイクロソフトに報告します。
宿題解いてるよりこの流れの方が俺は好き
うむ・・・明日は牛乳くらいは買って来よう。
フフフフフ ヘヘヘヘヘヘヘヘヘ
酒が足りません マイクロソフトに抗議します
宿題スレが崩壊の危機に陥ってます。 freeしますか?(y/n)_
脳みそ空っぽになっておかしくなった人が居る・・・・ free()free()..............................................ウヘヘヘヘヘッヘエ
>>81 前面敗訴しました
いろいろあって077777777\くらいもっていかれますたたたたたたたた
試験終わった人と諦めた人が最高にハイになっているスレはここですk
>>82 手遅れ
MMUが焼ききれますタタタタタタタタゥ?
>>83 きっと明日も空気読めない奴が宿題質問しにくんだよ、このスレに
それが残念でしょうがない
宿題スレが崩壊の危機に陥ってます。
>>1 をremoveしますか?(y/n)_
つかなんでこのスレに宿題依頼に来るんだ? それが俺にはワワワカカカカァldsカllジャk
ふむ。まあまあ<からあげ 白身魚は明日、パンに挟んで食べることにしますた。 コンロ火は消しました。
あれ? まだこのスレには宿題無いなぁ この調子で頼む。
これは過去に前例がない!
>>91 宿題スレは、CやC++スレが宿題でつぶれないようにするための隔離スレ
unlink("1139053955.dat");
>>1 は不滅です
何度removeされようがすぐに新たなる
>>1 が作られルルルルルルルルルr?_
int remove(const char *filename);
このスレって弾除けだったのか?
もう1/10が終わったのかよ
remove(remove())
>>1 は他のアプリに使用されてるから消背ませええええええええええええええええええええええええええええ
( ゚Д゚)ハヤー
>>81 んー・・・芋焼酎だけど・・・呑む? 魔王とかそーゆー高いやつじゃないよ。
酒飲んでもトイレ行きたくならないアプリ頼む
( ´Д`)
>>110 が何か凄いこと言うんだって
ネジにでもなれ
>>105 芋好きだ、ください
いやmemcpyでコピーしてくれればいいですよ
>>106 つ[尿道カテーテル]
便利だぞ。外したあと、残尿感にさいなまれるが。
113 :
110 :2006/02/05(日) 03:04:18
あたったーーーーーーーーーーーーーーーーーーーー!!!!! すげーーーーーーーーーーー!!!
( ´Д`)
>>120 が何か凄いこと言うんだって
てか意外とこんな時間でも人いるんだなぁと素直に思った
大変だ!
>>1 の手によって宿題スレが混乱している!
この状況を救えるのは誰だ!?
char* foo(){ char *str; scanf("What's your name?:",str); return str; } int main(){ printf("your name is %s",str); } --------------- What's your name?:fuck u!! your name is ゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥォ・・・・ (beep)
明日も早いし、ぼちぼち寝ますよ?
FORMAT C:
この状態をどう責任とるんだ?
芋キタ━━━━(゚∀゚)━━━━!!!!
芋がnyに流出!
>>127 ゴメン、家winxpだからwget入れてないんだゥゥゥゥゥゥゥゥゥゥゥゥゥ
ここ10分くらい待ってるんだけど質問まだー?
error!
>>1 のパラメータが異常です!
warning!
>>1 この場所では意味がないです!
└(゚∀゚)┘windows.hにニックネームをつけよう!
>>139 windows.h
やっぱりウィンドウズエッチで
free(keshitai_kioku);
>>134 普段なら入れろ! と言うところだが
・・・俺は今油分とアルコール分を摂取して気持ちがいい。
wget→explorerとして実行してくれ。
新スレー 新スレー
>>144 ふつうは
start "www.google.co.jp"なんだがなwwwっうぇwwwwwwwww
>1を窓(ry
突然ですがWINDOWSがCUIになります
何だってーーーーーーーーーーーーーーーーーー
ちんぷんかんぷんヾ(o゚ω゚o)ノ゙ プニプニ!プニプニ!
半分じゃない!
日曜だから酒飲んでるのが多んだな マジで半分くらいつぶれるかもな
>>150 メ\,_ ,メ゙\、
.メ′ .゙゙アhr _,zl||y,_ .゙∨
.″ .y!^⌒ ¨\ .,,,,,,__
.,yr=??z .l| ◎ 《 . ゙゙̄^へu,
,メ″,z厂◎ l| ¥ il! ゙ミ
il「 ミy ..,ilト ゙ミy_ ア ,メ .∨
.ll′ 干=冖″ ,,,yyyyy. l| / ̄ ̄ ̄ ̄ ̄
.l| ,,,yvr=冖''''|リ|||》巛》ミ冖'li厂.l| .,l! < なっ、なんだってええー!!!
.l! 《vvvr=冖¨ ̄ .゙干l! .,メ′ \_____
.l| .l| .,,yrrvy_ ,,,,,,_ .《yrl″
\_ ,l|.,yzl^^゙゙^冖《《||7厂`゙リu_ .l|
.゙\、 .r《l厂 .¨゙冖=vu,フhrト
すごいぞー ラピュタは本当にあるんだ!
突然ですがcharとintがサイズ据え置きで入れ替わります
酒宴じゃ!
cuiのwindows使うくらいならunixつかったほうがいい
ラピュタはBASICで制御されてますよ?
何だってーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 本日2度目
ナ ゝ ナ ゝ / 十_" ー;=‐ |! |! cト cト /^、_ノ | 、.__ つ (.__  ̄ ̄ ̄ ̄ ・ ・ ミミ:::;,! u `゙"~´ ヾ彡::l/VvVw、 ,yvヾNヽ ゞヾ ,. ,. ,. 、、ヾゝヽr=ヾ ミ::::;/  ゙̄`ー-.、 u ;,,; j ヾk'! ' l / 'レ ^ヽヘ\ ,r゙ゞ゙-"、ノ / l! !ヽ 、、 | ミ/ J ゙`ー、 " ;, ;;; ,;; ゙ u ヾi ,,./ , ,、ヾヾ | '-- 、..,,ヽ j ! | Nヾ| '" _,,.. -─ゝ.、 ;, " ;; _,,..._ゞイ__//〃 i.! ilヾゞヽ | 、 .r. ヾ-、;;ノ,.:-一'"i j / ,.- 、 ヾヽ、 ;; ;; _,-< //_,,\' "' !| :l ゙i !_,,ヽ.l `ー─-- エィ' (. 7 / : ' ・丿  ̄≠Ξイ´,-、 ヽ /イ´ r. `ー-'メ ,.-´、 i u ヾ``ー' イ \_ _,,......:: ´゙i、 `¨ / i ヽ.__,,... ' u ゙l´.i・j.冫,イ゙l / ``-、..- ノ :u l u  ̄ ̄ 彡" 、ヾ ̄``ミ::.l u j i、`ー' .i / /、._ `'y / u `ヽ ゙:l ,.::- 、,, ,. ノ ゙ u ! /_  ̄ ー/ u / _,,..,,_ ,.ィ、 / | /__ ``- 、_ l l ``ーt、_ / / ゙ u ,./´ " ``- 、_J r'´ u 丿 .l,... `ー一''/ ノ ト 、,,_____ ゙/ / ./__ ー7 /、 l '゙ ヽ/ ,. '" \`ー--- ",.::く、 /;;;''"  ̄ ̄ ───/ ゙ ,::' \ヾニ==='"/ `- 、 ゙ー┬ '´ / \..,,__ 、 .i:⌒`─-、_,.... l / `ー┬一' ヽ :l / , ' `ソヽ ヾヽ l ` `ヽ、 l ./ ヽ l ) ,; / ,' '^i
どうりでさっき Syntax Error が!
な、なんてことだ!!
やっぱりらぴゅたの中身は沢山の
>>1 でした
まぁ飛行石はDelphiですけどね
め、目がー!
/:: :: :: :: :: :: :: :: :: :: :: :: :: :: :: ::\
/:: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :::\
/:: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: ヽ
/:: :: :: :: :: :: :: :: :: :: :: :: :: ::ハ:: :: :: :: :: :: :: :: :: :ヽ
/:: :: :: :: :: :: :: :: :: :: :: :: :: :/ l:: :: ,:: :: :: :: :: :: :: :ヽ
/:: :: :: :: :: :: :: :: :: :: :: :: :: / l:: ::l ヽ:: :: :l:: :: :: :: :l
|:: :: :: :: :: :: :: l:: :: ::/l:: : / |:: :| ヽ:: :::l:: :: :: :: :l
|:: :: :: :: :: :: :: |:: : :/ |:: / l:: | ヽ:: ::l:: :: :l:: ::l
|:: :: :: :: :: :: :: |:: /_|:/__ゝ l: | 、_ヽ:: |ヽ:: |:: ::l
|:: |:: /:|:: l:: :: |:/ 〃 l:| `ヽ|‐l:: l:: ::l
|:: |:/:/|::/l:: ::l , - --= l -_ ヾ |::l::l:::l
|::/:: :l l:: :| / /::::゜゙l /::゜l\ |/::ll::l
|/ l:: :ヽ l::| ヾ - ' ヾ- ' /|::/ |:l
l:ハ:: ヽ-ヾ ::::::::: 、 :::::::l |/ リ
ヾl::l、:\ l
>>1 とお別れなんだね…
ヾ ヽハヽ イ
/ 7 > r _-_ , <
/:::::ヽ `7 ー、 ´
/ヽ ::::ヽ ヽヽ::ヽ
/ ヽ ::ヽ l::::ヽ、
/ ヽ ヽr- -‐ l::::ヽヽ
/ ヽ ヽ /\ /--、 ヽヽ
ヽ ヽ / \ \ /O ヽヽヽ
ヽ ヽ :|/ i ヽ
ヽ l l l ヽ
最近ラピュタはクロスプラットフォームになる!とか叫びだしてJavaになったぞ?
ドラえもんで抜いたのか?基地外だな
今明かされる、ラピュタの真実・・・ は、早く閣下に教えねば! byムスカ
あ、そうだったorz...<start いかんねぇ・・・前に書いたものにこだわってしまう・・・ テクとしてカレントディレクトリの表示でstart .(どっと)も挙げとく。
>>169 __ ,....-─-、
/::::::::::::::::::::ヽ、 /:::::::::::::::::::::::ヽ
/:::::::::::::::::::::::::::::::ヽ /::::::::::::::::::::::::::::::::::ヽ
/::::::::::::::::::::::::::::::::::::::::::l l::::::::::::::::::::::::::::::::::::::::::l
l::::::::::::::::::::::::::::::::::::::::::::::l l::::::::::::::::::::::::::::::::::::::::::::l
l:::::::::::::::::::::::::::::::::::::::::::::/_,.......-;,==-...ヽ::::::::::::::::::::::::::::::::::::::::l
l:::::::::::::::::::::::::::::::::::::::::/:::::::/ `ヽ::::::::::::::::::::::::::::::::::::::/
ヽ::::::::::::::::::::::::::::::/:::::::::/ / ̄ ヽ/⌒ヽ:::::::::::::::::/
ヽ、:::::::::::::_/::::::::::::/ / ⌒ ヽ¬-'´
 ̄ /:::::::::::::::::l l:|
l::::::::::::::::::l l:l
l::::::::::::::::::l (●), l:l
l::;, -ー 、::l 、(●)、 .l:l
/ ヽ l::l
l _ ,,ノ(、_, )ヽ、,, ∠く
l  ̄| _ l
ヽ ヽ ,/) ./
\ \、 `-=ニ=- ' / / え?
>. .、_、 ヽ. `ニニ´ / /
ヽ: : : : :ヽ /.イ
ヽ、: :__ヽ `ー- ´/: : : イ
l  ̄: : : : : 7フ 7: : :`´: :l
l: : : : : : / ̄  ̄ヽ: : : :/
ヽ ___/
年性白内障でそろそろ目がヤバイぜ! ムスカさん、その色眼鏡かしてください。
>>175 ( ^ω^#) ちょっとチンコ嘗められすぎたお
・・・・・・常識でんがな
(´-`).。oO(・・・なんでこれだけいろんな言語の名前出てるのにC#は誰からも出てこないんだろう)
ムスカ!わしがコボルでできていると知っての愚弄か!
あ、このスレ何のためにあるんだっけ?
てへっ。初心者なんでー
∧_∧ ∩ ・゚。・ ( ´∀`)彡 。 ・゚。・ γ つ⌒ヽ こなぁぁぁぁゆきぃぃぃぃぃ ⊂二二二( ^ω^)二⊃ 彡 彡`J / 彡 ・゚。・。 ・゚。・ ( ヽノ ・゚・ ・゚。・。 ・゚。 ノ>ノ ・゚。 ・゚。・。 ・゚。・゚。・。レレ' ・゚。・。 ・゚。・゚。・。 ・゚。 ・゚。・。 ・゚。・゚。・。 ・゚。・゚。・。 ・゚。・゚。・。 ・゚。・゚。・。 ・゚。 ・゚。・。 ・゚。・゚。・。 ・゚。 ζ ・゚。・。 ・゚。 ・゚。・。 ・゚。 _,,:-ー''" ̄ ̄ ̄ `ヽ、 ,r'" `ヽ. __,,::r'7" ::. ヽ_ ゙l | :: ゙) 7 | ヽ`l :: /ノ ) .| ヾミ,l _;;-==ェ;、 ,,,,,,,,,,,,,,,_ ヒ-彡| 〉"l,_l "-ー:ェェヮ;::) f';;_-ェェ-ニ ゙レr-{ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | ヽ"::::''  ̄´.::;i, i `'' ̄ r';' } | cmd /c start . . ゙N l ::. ....:;イ;:' l 、 ,l,フ ノ | . |_i"ヽ;:...:::/ ゙'''=-='''´`ヽ. /i l" < .| ::゙l ::´~===' '===''` ,il" .|'". | やっぱり生え際は大切にね☆ .{ ::| 、 :: `::=====::" , il | \________ /ト、 :|. ゙l;: ,i' ,l' ノト、 / .| \ゝ、゙l;: ,,/;;,ノ;r'" :| \ '" | `''-、`'ー--─'";;-'''" ,| \_
意味わかんねーよ
>>182 閣下!お言葉ですが閣下は奇跡的にCASLからできたかと・・・
ルシータ・トゥウェル・ウル・ラピュタ
おまえら王蟲は無視ですか?
>>1 の想像図
<>><<>
【*@*】∩ <あばばばばばばばばばばばばばっb!!!!
ふじこ 彡 あばばばばばばばばばばばばばっb!!!!
⊂彡
!!
!!
!!
!!
えーい!聞く耳持たん! 死刑じゃ死刑じゃ!
風邪の谷のプログラマ・・てのもあったなー。
シータぁぁぁぁぁぁっぁぁぁぁぁっぁぁぁぁぁっぁぁぁぁぁっぁぁぁぁぁ!!!!!
黙れ小僧! おまえにサン(SUN)が救えるか!?
197 :
158 :2006/02/05(日) 03:33:06
なぜラピュタを話題にしたかって? 知りたいか? なぜなら今! そう!今だ! 今! ラピュタを見ているからだ! わはははははっはははは!!!
/ / ゙i, ヽ j ,ィ/ | | lィ' ,ィ/j/ | iリ | /l / '"` | j リ! /,ノ _,、-''''` /リ __________ | _.._ l/ ,.--;==ミ 、 ___,.ノ /{.○-゙‐rV / ヽ,/`ヽヽト、 ´ {,.○-`‐‐ 、,.-ト| ,ノ< ハッハッハ! 見ろ! ∧ ̄ ゙i, `ヽ,r'´ ノ. ゙、--‐''´| \ Cがゴミのようだ! | | ̄ ゙i ヽ、 __,,、-'" ,-、,:‐、〉 /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ \\/. | \\\ i \_'i ___\\\| ヽ `ー─''''"´\\\ ヽ j\\\".;":;"." : ".;":;"." :".;":;". \ / \\\".;":;"." : .;".;: .;" \ ______ /´ \\\ ".;":;"." : : ゴ オ ォ ォ …… ! !".;" \\\ ;": ..;.;".;": ;" .;".;": _.;.;_".;": \\\ ド カ ァ ン ! .;".;": ..;.;".; ζ /_.;_/| .;".;", _ \\\ .;".;.;".;":. .;".;": ..;.;".;": ;:'.;| ΓΓ | |;":从へ_/| . \\\"_.;__..: 从へ从へへ从 ; ζ | Γ从 | |;:.. |从Γ | | 从へ从∠___/| : ( ⌒( ⌒ ) ζ | 从Γ | |.:;. |从Γζ.;".. .;. \ |ΓΓΓ| | | ( ⌒ ⌒ ⌒ ); | ΓΓ | |.;;::|ΓΓ | | ( 从へ ;: |从ΓΓ| | | Σ( ⌒( ⌒ ) ζ ( ( ) )⌒ ) ( 从へ从)_.;:.;|Γ从Γ| | ( | | ( (( ( ⌒ )) ) 从 Σ( ⌒( 从へ从) ∠___/| (( ⌒ ( 从へ从) Σ (( ( ⌒ )) ) )(( ⌒ ( 从へ从) .;".;:;|ΓΓΓ| | );:; .;".
[1] 授業単元: 酒のツマミ [2] 問題文(含コード&リンク): このスレの時刻とともに変化する発言数のグラフを書いてupせよ [3] 環境 自由、ただし、一般的なブラウザで閲覧できること [4] 期限: いますぐ [5] その他の制限: jpg, gif, png, textあたりでやってくんろ
断る
バルス!
どんな呪文だ! 教えろ!その言葉を!
-‐''''"´ ̄``ヽ、 ____
/ _ ヽ //´ __,,>、
/  ̄ ̄ { /::/ / ̄:::::::::::::::\
l _ィニニア二二二ニヽ、j._ /::::l/::::::::::::::::::::::::::::::::l
| 0Lj/-‐-レノ ノ_ヽ:::`ヽ l:::::::::::/l/lノノ/_イ:::::l
レ:r、/ イ゚テ ピト`|::| l:::::::::/ rtテ、 .ィtq l::::::|
l:lヘ '" ,j '"/ノ |::lヘ!j ´ ,j !;:::/
ヽヽ、 r‐-, /' レリー 、 ,...., lノ/
lヽ、  ̄ / `ヽ、lヽ 、  ̄ /´
_,r┴‐-`v´-‐j-、__ , -‐-、_r┴─'ー‐チト remove(
>>1 )!
/ ̄/:.:.:.:| ̄ ̄`T ̄´|:.:.:.:l´ `ヽ / ヽ ̄`ー-‐'´`''''⌒ヽ
/ ,':.:.:.:.:.l l l:.:.:.l \ _r‐、-、-、r, 、 ',
|:.:.:.:.:.:.! ! !:.:.l ,. -‐ゝ/// 〉 〉 〉 〉 〉 ! ',
l:.:.:.:.:.:.l | l:.:.:l / 人〈〈〈〈 ' ' ' /っ l l
l:.:.:.:.:.:.! ! l:.:.:.ト/ / ```´-ァ‐'''" / l
、__/:.:.:.:.:.:l | |:.:.:ヽヘ l // / _ ィノ
/:.:.:.:.:.:.:! l |:.:.:.:.:l `ーヽ、_ノ´l、______/lニ二」
____l:.:.:.:.:.:.:.| l |:.:.:.:.:! |_ ( ( ) )_〕| l
l`ー‐‐'匸二l ̄ ̄l二フーイ /  ̄ `‐‐'´ ヽ |
ワロス
コレが出来ないと単位取れないんです。
細木さん 占い当たったと強調
>>207 初心者て言えばやってもらえると思ったら大間違いだ!
いいか!よく聞け!
ぶっちゃけ気分良くないとやりません><
進級かかってます。そこをなんとかお願いします
>>205
>>210 いいよ落とせよそんな問題出す教授の単位なんか
/ / ゙i, ヽ
j ,ィ/ | |
lィ' ,ィ/j/ | iリ
| /l / '"` | j
リ! /,ノ _,、-''''` /リ __________
| _.._ l/ ,.--;==ミ 、 ___,.ノ /{.○-゙‐rV /
ヽ,/`ヽヽト、 ´ {,.○-`‐‐ 、,.-ト| ,ノ< ハッハッハ!残念だったな!
∧ ̄ ゙i, `ヽ,r'´ ノ. ゙、--‐''´| \
>>1 の削除に失敗したようだ!
| | ̄ ゙i ヽ、 __,,、-'" ,-、,:‐、〉 /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
\\/. | \\\ i
\_'i ___\\\|
ヽ `ー─''''"´\\\
ヽ j\\\".;":;"." :
".;":;"." :".;":;". \ / \\\".;":;"." :
.;".;: .;" \ ______ /´ \\\ ".;":;"." :
: ゴ オ ォ ォ …… ! !".;" \\\ ;": ..;.;".;":
;" .;".;": _.;.;_".;": \\\ ド カ ァ ン !
.;".;": ..;.;".; ζ /_.;_/| .;".;", _ \\\ .;".;.;".;":.
.;".;": ..;.;".;": ;:'.;| ΓΓ | |;":从へ_/| . \\\"_.;__..:
从へ从へへ从 ; ζ | Γ从 | |;:.. |从Γ | | 从へ从∠___/| :
( ⌒( ⌒ ) ζ | 从Γ | |.:;. |从Γζ.;".. .;. \ |ΓΓΓ| | |
( ⌒ ⌒ ⌒ ); | ΓΓ | |.;;::|ΓΓ | | ( 从へ ;: |从ΓΓ| | |
Σ( ⌒( ⌒ ) ζ ( ( ) )⌒ ) ( 从へ从)_.;:.;|Γ从Γ| | ( | |
( (( ( ⌒ )) ) 从 Σ( ⌒( 从へ从) ∠___/| (( ⌒ ( 从へ从)
Σ (( ( ⌒ )) ) )(( ⌒ ( 从へ从) .;".;:;|ΓΓΓ| | );:; .;".
どうして答えてくれないんですか!
/ー--- 、 _ ,...... -ヽ | |:::| | | 〈 .| |:::| | } 厂 _,... -└ フ | |:::| | | .ノ,.-'´ ._,,,yr彡 _ー、-、_ .| |:::| | { ◎=∠,.-ー'´从从ミミ ,.-'´  ̄`ー `ー、 | |:::| | ,i' ̄ ̄`` ノソ^ ,. -ーノノノミ 彡 ,. ‐i‐フノ | | | .|:::| | i iへ/ 0 〈 彡'´ ノハフノ λ .| |_|:::| | ゙i |δ ″ ゝ 丿(・) (・) ヽi | / ̄\ ̄``―-、_ `'リv , >-、 ,.-,ノ うぜ /⊂⌒◯-----9) /|`l / \ `ー 、, ,´´''l;|,__ `-、_,.フ ,,,,_ / |||||||||_ ∠、 / | | / ヽ ゙<| ̄| `-、_,.-´| ̄ ノ\ Θ-、 | ヘ_/ \ l /ノノ | | `ー、l / ノ \ _`ー 、`> :::::::::::::ノ└'´ ノ ´ l′ | `ー、 | | ,.-‐ '´  ̄ ̄`ー-、::::::/`ー-(⌒)-、 l′ ,| `'-、_ .| \/ ,.-'´ `ヽ ヽ-(⌒ | | ^¨¨ ̄ ,.-´ ..:::::|  ̄ ____ l ____ ,. -'´ ....:::::::::;| | /\  ̄ ̄ ̄` ....:::::::::::::::ノ | ,.-‐――---- 、,,|,,,__| ......:::: ,、nri,.-'´ | ζ彡 |:::::::::::::::::::::::::::::::::::::::::∩ | |' ノ::::::::::::::::::ι‐'´ ̄` ーー-'Tー-|:::::::::::::::::::::::::::::::::::..,.ソ_ノノ´|
からあげ4つ食べ終わりました。 ぼちぼち明日(今日か・・・orz)のメシの仕込みします。
隠し味にC#を!
, -‐''''"´ ̄``ヽ、 ____
>>1 / _ ヽ //´ __,,>、
/  ̄ ̄ { /::/ / ̄:::::::::::::::\
l _ィニニア二二二ニヽ、j._ /::::l/::::::::::::::::::::::::::::::::l
| 0Lj/-‐-レノ ノ_ヽ:::`ヽ l:::::::::::/l/lノノ/_イ:::::l
レ:r、/ ((O)) ((O))|::| .て l:::::::::/ rtテ、 .ィtq l::::::|
l:lヘ u'" ,j '"/ノ そ |::lヘ!j ´ ,j !;:::/
ヽヽ、 u ./ ̄| u/' ガーン!! .レリー 、 ,...., lノ/ 「この人痴漢です!」
lヽ、/___|/ `ヽ、lヽ 、  ̄ /´
_,r┴‐-`v´-‐j-、__ , -‐-、_r┴─'ー‐チト
/ ̄/:.:.:.:| ̄ ̄`T ̄´|:.:.:.:l´ `ヽ / ヽ ̄`ー-‐'´`''''⌒ヽ
/ ,':.:.:.:.:.l l l:.:.:.l \ _r‐、-、-、r, 、 ',
|:.:.:.:.:.:.! ! !:.:.l ,. -‐ゝ/// 〉 〉 〉 〉 〉 ! ',
l:.:.:.:.:.:.l | l:.:.:l / 人〈〈〈〈 ' ' ' /っ l l
l:.:.:.:.:.:.! ! l:.:.:.ト/ / ```´-ァ‐'''" / l
、__/:.:.:.:.:.:l | |:.:.:ヽヘ l // / _ ィノ
/:.:.:.:.:.:.:! l |:.:.:.:.:l `ーヽ、_ノ´l、______/lニ二」
____l:.:.:.:.:.:.:.| l |:.:.:.:.:! |_ ( ( ) )_〕| l
l`ー‐‐'匸二l ̄ ̄l二フーイ /  ̄ `‐‐'´ ヽ
・・・一段落したかな・・・ さて、もういっぱい芋を呑んで寝るとしよう。明日は床屋に行かねば。
床屋が潰れていました。 マイクロソフトに報告しますか?(y/n)_
・・・あー・・・とりあえず、保留してブルー画面をみることにする。 新しい床屋行こうかな、今の床屋は気疲れする。
もう落ち着いたか さて寝ようっと
床屋とMicrosoft、どんな関係があるんだ?
宿題スレを修復中・・・・_
error!
修復中に
>>1 が攻撃を仕掛けて来ました!
応戦しますか?(y/n)_
どう考えても密接な関係があるとしか思えないが
窓世界でミーのシェアで市場独占でフリーズだからな 関係はあるかも知れん
>>1 の攻撃が被弾!
尾翼を失いました!
損傷率・・・60%
OPS5の回答 海があれば着水できます
俺の回答もうダメポ
隊長! 機体に穴が開いておりますので 着水はできません!
大変だぁー! 右翼を失ったぁー! もうだめぽーー!
どーでもいんなーすぺーす・・・じゃなかった どーでもいーんで、VIP召還してくれ。俺は自動更新して見守っとくから。
大変だ!
>>1 が旋回してくる!
応戦だぁー!
駄目です!
武器がどれも使い物になりません!
ぬぬぅー
ぬぅ。戦艦ノックにあらしいらいだ。
に、逃げろーーーー! うぉぉぉぉぉぉぉぉぉぉ! パラは俺のものだーーー! 俺だーーーーー!
でさ、どーしてこんななんだ?すまん、流れについて行けない
(⊃д⊂)コンバン・・・∩・д・∩ ワァー★
244 :
デフォルトの名無しさん :2006/02/05(日) 04:02:11
VIPから来ますた
VIPからきませんですた。
246 :
デフォルトの名無しさん :2006/02/05(日) 04:02:52
VIPの方から来ますた
「パラを取れなかった組」
うわぁぁーーーーー!
蜂の巣だぁーーーー!
ぎゃぁーーーー!
「脱出組」
機がやられたぁー!
うわぁー!
>>1 が俺達を狙ってる!
や、やめてくれー!
うわーーー!
まあVIPからきたと言えば言えないこともない
249 :
デフォルトの名無しさん :2006/02/05(日) 04:05:41
間違いなくVIPから来ますた
250 :
デフォルトの名無しさん :2006/02/05(日) 04:06:53
251 :
デフォルトの名無しさん :2006/02/05(日) 04:07:11
うむ。VIPからは来てない。それは確かだ。 だが、焼酎もう一杯呑む間付き合おうでわないか。
閣下!
遠征軍がやられました!
何!
やられただと!
それで
>>1 からメールが来てます。
「僕のは親方のより大きいんだ」
な、なんじゃこりゃー!
253 :
デフォルトの名無しさん :2006/02/05(日) 04:10:16
ラピュタいいねぇ・・・アトランティスのパクリだろ。
今、パズー達がラピュタにつきますた!
伝声管の盗み聞き、男たちの涙・・・いいねぇ・・・ラピュタについた後のストーリーを忘れてるが
ロボ出現
さらば愛しきルパンよ・・でも見てロボを思い出すか。
伝声管を盗み聞きされました。 マスコミに報告しますか?(y/n)_
[1] 授業単元:2ch
[2] 問題文(含コード&リンク):
>>1 をリムーブせよ!
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: ボーランド
[3.3] 言語: (C/C++/どちらでも可 のいずれか)C/C++
[4] 期限: 3分
[5] その他の制限:無し
a.c(1):うぉーにんぐ。おそらく伝声管「で」です。確認してください。 ・・・いかん、酒がたりん。
>>1 を削除しています・・・_
error!
削除した
>>1 は影武者でした!
>>1 は足跡を残しています!
後を追いますか?(y/n)_
>>201 2月 4日 20時50分台 [ 1]*
:
2月 5日 3時30分台 [ 1]*
2月 5日 3時40分台 [13]*************
2月 5日 3時50分台 [15]***************
2月 5日 4時00分台 [12]************
2月 5日 4時10分台 [ 7]*******
2月 5日 4時20分台 [ 2]**
ありがとうございます。これで単位がとれそうです
>>263 2:30~3:30が山だったのかな?
とりあえず、5日間このスレが生き延びることはなさそうかなぁ・・・
乙&寝る!
見ろ! 人がゴミのようだ! はははっはははははは! 何をする! きゃぁ!
ムスカがゴミのよーだ
>>1 をリムーブしようとするとエラーが出ます。
なんででしょうか?
システムコール呼び出しなさい
やっとラピュタ終わった・・・
原因を聞いてるのに解決法を教える無能な回答者。
アーンド、戦国自衛隊も、日テレ
戦国自衛隊の映画は駄作だったな。 演技下手だし
あー。もう眠れんなー。しょうがない。待ち合わせの場所まで運転してそれから寝よう。
何人で回してんの?
貧乳は・・・嫌いだ・・・
私は大好きです。
かと言って巨乳も嫌いだ
280 :
263 :2006/02/05(日) 05:23:30
間をとって、片方貧乳片方巨乳で。(アマゾネスみたい)
きんもー☆
美少女のゲボがこのスレで飲めると聞いて、すっ飛んできますた。
284 :
デフォルトの名無しさん :2006/02/05(日) 06:01:03
d w a
:::::::::::.: .:. . ∧_∧ . . . .: :::::::: :::::::: :.: . . /彡ミ゛ヽ;)ヽ、. ::: : :: 今北 ::::::: :.: . . / :::/:: ヽ、ヽ、i . .:: :.: ::: 乗り遅れた…  ̄ ̄ ̄(_,ノ  ̄ ̄ヽ、_ノ ̄
287 :
デフォルトの名無しさん :2006/02/05(日) 09:00:45
[1] 授業単元: 物理シミュレーション [2] 問題文(含コード&リンク): 銀河のシミュレーション 一定の半径で10個のリングを配置し、各リングには20個の構成を配置しシミュレーションを行う。 for(・・・) { 全ての星が星 i に加える力を計算する。 } for(・・・) { 求めた力より、星 i の速度の変化を求め星 i の新しい位置を計算する。 } 10x20=200個の質点を一定の半径内に収まるよう、位置を与え、それぞれ、質量と初期移動量を与える。 万有引力の法則にのっとって、質点の移動をシミュレートせよ。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc 2.9 VC 6.0 [3.3] 言語: C [4] 期限: 2006/2/6 gnuplotでのアニメーション表示は自分でやります。
今日ここは、定休日です。
20個の構成を配置(゚∀゚)
>>287 んなもんC言語の問題じゃねえ
物理関係のスレで計算式全部教えてもらうか自分で考えろ
>・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
計算はできるが問題文が曖昧すぎてどう初期化していいか分からんw 図でもない限り無理。
しらふでこのスレに書き込みしたなぁ????
294 :
287 :2006/02/05(日) 12:52:58
20個の恒星をでした。
>>291 図はないので言葉で説明します。
一点(ブラックホール)を中心にして、10個の軌道リングを書きその10個の軌道上に星を等間隔に20個配置させ
その200個の星をブラックホール中心にぐるぐる回す。といった感じです。
◎ ←これのリングが10個になったかんじの状態。
だからそんな情報だけでどうやれってんだ 万有引力ってのは質量を気にしなくてもよかったのか? 星は最初静止しているのか? 動いているとしたらどう動いているんだ? こんなものCどころか物理の問題ですらない
なんか東大の問題が難しいから プログラム書いて簡単に解いてくださいレベルだな
とりあえずベクトル構造体 typedef _vector{ double vx; //x方向ベクトル double vy; //y方向ベクトル double vz; //z方向ベクトル } vector; 次にお星様に関する構造体を書いてみる typedef _planet{ //ボツint ringc; //どの周回軌道に属するか //↑周回軌道以外に移ることがないので、まるで量子状態みたいに… double r; //周回軌道を表す中心からの距離 double quantity; //質量 vector v; //この星の現在のベクトル } planet; で、星と星の相互の重力におけるp1にかかる力の発生を次の関数で行う vector Gravity(planet *p1,planet *p2){ //何するかしらん //良く考えればこんなのいらんかも } で、後は for(){ある瞬間における全ての星に対する力の変化:VAを計算} for(){各々の星にVAを加算} でいいんでね?
[1] 授業単元: プログラミング基礎演習 [2] 問題文(含コード&リンク): 整数 P, X (1 < X < P で, P, X は互いに素) を与えて, X × Y を P で割った余りが 1 になるもっとも小さな正整数 Y を求めるプログラムを書いてください。 今回 P と X は「互いに素」なので,両者の最大公約数は必ず 1 になります。 最大公約数を求める関数を gcd とすると,次のようになりますね。 gcd(55, 31) = gcd(31, 55%31 = 24) = gcd(24, 31%24 = 7) = gcd(7, 24%7 = 3) = gcd(3, 7%3 = 1) = 1 X*Y を P で割った余りが 1 になればよいので, X * Y = 1 + P * n となる整数 n があるはずです。式を変形すると P * (-n) + X * Y = 1 となりますね。この式の形に注意して欲しいのですが,上に示してある 55 と 31 の最大公約数を求める手順と見比べると gcd の計算の部分が P*(-n) + X*Y と表現できれば良いような感じですね。 では,余りの計算の部分を上記の式の形を残すようにして実際に計算してみましょう。 gcd(55, 31) = gcd(31, 55-31*1 = 24) = gcd(55-31*1 = 24, 31-24*1 = 31-(55-31*1)*1 = 55*(-1)+31*2 = 7) = gcd(55*(-1)+31*2 = 7, 24-7*3 = (55-31*1)-(-55+31*2)*3 = 55*4-31*7 = 3) = gcd(24-7*3 = 3, 7-3*2 = (-55+31*2)-(55*4-31*7)*2 = 55*(-9)+31*16 = 1) = 1 この手順を良く考察して,どの部分をどういう変数で表現して繰り返し計算を行えば答えが得られるかを考えてみよ [3] 環境 [3.1] unix [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) [3.3] C [4] 期限:2/6
299 :
287 :2006/02/05(日) 13:59:30
>>297 すみません。言い忘れましたが平面状で動かします。
あと中心点の質量は2.058915×10の41乗です。
for文内はどうやって作ればいいでしょうか。
>>298 ユークリッドの互除法だけど、よくみりゃプログラム作れじゃなくて、アルゴリズムを考察するだけじゃないか?
>>298 ここまで丁寧に書いてくれるとプログラム組めそうです。
>>300 ユークリッドの互除法を考察して、1行目に書いてあるプログラムを作れってことです。
>>299 各恒星の質量・初速度は?10個の軌道の定義方法(円なら半径)は?そういう条件がないと無理だって言ってるじゃん。
for文の中くらいは分かるけど。あと分からんのは、どう出力寸の?gnuplotと同期取ってアニメーションなんてマンドクセ
>>300 拡張ユークリッドの互除法でググってみ?
おや、まるで昨日のことが嘘のような静けさですね
卒研で星の動きをシミュレートする課題が出たんですけど、わかりません・・・ってとこかな。
>>299 単位ぐらいつけろよ。まあグラムだと思うが。
物理だと普通単位Kgじゃね?
>>307 普通はそうだけど、太陽質量が10^31kgのオーダーで、
銀河中心ブラックホールがその10^6~10^9乗倍のオーダーなので、
10^41kgとすると対恒星でシミュレートするにはちょい重過ぎる。
10^41g=10^38kgなら上の範囲に収まっているのでいい感じ。
間違い10^31→10^30
>>287 ループの中だけ。他に関してはデータが無さ過ぎ。
// データの初期値を入力する
for( t = 0.0 ; t < LIMIT ; t += dt ) {
for( i = 1 ; i < N ; i++ ) { // [0]がブラックホール、[1]~[N-1]が各恒星のデータとする
double ax = 0.0, ay = 0.0; // (x,y)加速度
for( j = 0 ; j < N ; j++ ) {
if( i == j ) continue;
double dx = x[j] - x[i], dy = y[j] - y[i]; // 恒星間の(x,y)距離
double a = G * m[j] / (dx * dx + dy * dy); // Gは万有引力定数。加速度を計算
double theta = atan2(dy, dx); // 加速度の方向を求める
ax += a * cos(theta); ay += a * sin(theta); // 加速度の足し合わせ
}
vx[i] += ax * dt; vy[i] += ay * dt; // 加速度→速度に加える
}
for( i = 1 ; i < N ; i++ ) { x[i] += vx[i] * dt; y[i] += vy[i] * dt; } // 速度→位置変換
// ここで出力
}
このアルゴリズムでどれだけ誤差がでるか単純な2質点の円運動でシミュレートしてくれ。
312 :
287 :2006/02/05(日) 17:40:18
完成プログラム&データはUPが礼儀>321
>>312 だから、
・各恒星の質量
・ 〃 初期座標
・ 〃 初期速度(方向も)
のデータが必要だって言ってるじゃん。(
>>303 )
何故この程度の日本語が読み取れないかが分からん。
・・・ネタだと思っていたのだが、なんかホントウっぽいなぁ・・・
>◎ ←これのリングが10個になったかんじの状態。 ◎◎◎ ◎◎◎ ◎◎◎◎ 10個なんだケド・・・。こんなん? まあ、あれだ、自分の手で図を書いてみてだな、それをupしてみてくれや。
HTTPの質問ってどこですればいいかな? ちょろっと内約書くと 1 TCPソケット使って GET / HTTP/1.1 をHTTP鯖に送る 2 レスポンスが帰ってくる 3 データ部分に0f38とか、ソースに本来ないものが含まれる さいしょ、chunk分けされたものかなーって思ってたけど、 RFCに載ってないのかよーわからん・・・
宿題スレがほぼ回復しますた。
>>1 に報告しますか?(y/n)_
回復せんでよろしい。
今の課題はいかに恒星系シミュでボケをかますかだ。
>>317 ソケットとかネットワーク関係のスレで「どこで聞いたらいいですか?」と再質問かなぁ・・・。
俺詳しくない。ヘッダ部の気もするけど。
ええ、あなた程度でも思いつくような事はさすがにやってます^^;;;
・・・圧縮された情報が返されているのでわなかろーか・・・とあてずっぽう
325 :
288 :2006/02/05(日) 18:41:04
>>324 ('A`) ・・・Σ!!
生で読めるけど、無圧縮gzipかもしれんな・・・
・・・もしそうならムチャクチャ恥ずかしい(orz
す・・すまん・・・万有引力ネタで考えたんだが・・・どーやっても、ギャグ方面に組めない。
素直に組んでみたが(座標は適当にr=1.0e+21、質量は太陽とした)… 進まねぇよ。概数で計算しても 速さ10^4、視認できる距離10^20(↑の10%)だから 10^16 の単位時間が必要。 「dt=10^5で計算」を10^5回繰り返しての表示でも10^6回表示されるまで待たなきゃ 動かない…orz。 こんな現状の物でもよければうpする。
ええ、あなた程度でも思いつくような事はさすがにやってます^^;;;
乙。勉強させて欲しいです。うp希望>327
ううむ。がんばって、解読します。ありがと。
コンパイルできない(;_;)
ブラックホールを中心に、同心円上のリングが10個あり、そのそれぞれのリングに20個づつ星が動いているんだろ。 例えば、半径、10,20,30,・・・,100万キロメートルのリングがあり、 そのリングひとつに対して20個づつだから、例えば、18度づつはなれたところを初期配置とするとか。
gcc source.c -lm ~~~~~~
うん。dyがはぢめてととか、初期化がどーとか・・・英語よめなっす。
>>333 を見て思い出した。includeのあとの
#define RING 5
#define NUM 10
はリングの数と、1つのリングにある恒星の数を表してるから指定された環境にするには
#define RING 10
#define NUM 20
に変えてくれ。
>>335 以下のように変更
前:double dx, a, theta;
後:double dx, dx, a, theta;
後:double dx, dy, a, theta;
だよ…orz。今回は分かったからいいけどついでに
>>1 から引用
>・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
Winでやってるんだけど、衝突したときはどうしたらいいんでしょうね? 0除算は考えないとしても、時間単位が粗いと接触した瞬間吹っ飛んでってしまう(時間単位が細かいと動かない)。 適当に運動量間引いてくっつけるのかなぁ。
ふみ? atan()って必要かな? x成分、y成分ごとに加速度/速度を求めればいい気がする・・・。
・・・買い物行くけど、帰ってきたら、ちょみっとだけ組んでみようかと思う・・・
342 :
◆ZbPqWqWG7. :2006/02/05(日) 21:02:49
超能力者募集中
344 :
デフォルトの名無しさん :2006/02/05(日) 21:07:22
1 2 3 1 2 3 * 4 5 6 ←この行列を求めるプログラムはどうやったら作れますか? 4 5 6 7 8 9
345 :
デフォルトの名無しさん :2006/02/05(日) 21:09:07
1 2 3 1 2 3 * 4 5 6 4 5 6 7 8 9 ↑これです
↓こっちでした 1 2 3 1 2 3 * 4 5 6 4 5 6 7 8 9
347 :
へっぽこプログラマ :2006/02/05(日) 21:12:51
日本暦をデータとして与えたら、それが西暦何年に相当するか、また、今から何年前になるかを求めるプログラムを教えてください
348 :
◆ZbPqWqWG7. :2006/02/05(日) 21:12:55
誰もわからねえのかよ、つかえねぇな(プ
1 2 3 1 2 3 * 4 5 6 4 5 6 7 8 9 すみませんやっぱり→でした
>>342 オセロが適当すぎるから書き直した。
#include<stdio.h>
#include<stdlib.h>
enum Stone{ White,Black,Blank,Help};
struct Board{
Stone player , map[8][8];
int passCount;
};
int set(Board*b,int x,int y){b->map[y][x] = b->player;return 1;}
int not_set(Board*b,int x,int y){ return 1; }
351 :
350 :2006/02/05(日) 21:19:08
投稿したと同時に
>>348 に気づいて、
やる気が激減したからこの先はもうやめる(;´ρ`)
>>342 関数は使ってるし、基本的入出力(printf、scanf)しか使ってない。
#include <stdio.h>
int *i, p, t, a, d, v, m[91] = {-10, -9, -8, -1, 1, 8, 9, 10}, s;
int k() {
if (m[p] == 0)
for (i = m; *i; i++) {
for (v = p + *i; m[v] == 9 - t; v += *i) {}
if (v - p - *i && m[v] == t && (s = a = v = p, d))
do
m[v] = t,
v += *i;
while (m[v] - t);
}
return 0;
}
int main() {
for (m[40] = m[50] = s = t = 3, m[41] = m[49] = 6; s - 1; a = d = 0) {
for (p = 8; ++p < 82; printf("・\0○\0●\0\n" + m[p]))
p % 9 ? k() : (m[p] = 9);
for (a ? d = a = p = 9 : s ? s = 0, puts("pass") : s++; a == 9; k())
t - 6 ? scanf("%d%d", &p, &v), p += v * 9 : ++p;
t = 9 - t;
}
}
355 :
353 :2006/02/05(日) 21:35:53
>>342 ネタを振った俺も悪いので見てみた。もしかして
109: if (x>1 && x<=8 && y>=1 && y<=8) {
⇒
109: if (x>=1 && x<=8 && y>=1 && y<=8) {
とか言うことではあるまいな?
>>348 は私ではありません。
#saitamaと簡単だったので見破られました。
>>343 すみません。自分ではわかりやすく書いたつもりだったのですが。
・関数を必ず使う
・60行以上←忘れていました。
・使えるのは
・if文
・for文
・if-else文
・while文
・do-while文
・switch文
・関数
・scanf,printfなどの標準入出力
です。
>>355 書き換えてみたのですがCOMに先に置かれてしまいますw
COMは左上から順に調べていって最初に置けるところにしか置かないのでものすごく弱いです。
もうちょっとマシにしたいのですが。
[1] 授業単元:コンピュータ工学 [2] 問題文(含コード&リンク):連立方程式をガウス・ザイデル法を用いて解くプログラムを作成せよ。 ・最大10行の連立方程式を解くことができるようにする。 ・行の数・行列の係数をキーボード入力できるようにする。 ・拡大行列を使用する。 ・解の差の最大値が0.0001より小さくなるまで反復計算せよ。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: [3.3] 言語: C [4] 期限: 2006年2月6日23:30まで [5] その他の制限: ヘッダファイルは<stdio.h>のみ使用。配列までは学習していますが、 ポインタや構造体・共用体は学習していません。 どなたかよろしくお願いします。
>356
>>1 より: ・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
360 :
357 :2006/02/05(日) 22:19:47
>>358 過去ログは見てみたのですがなかったと思います。
見落としているかもしれないので、もう1度見てみます。
教えてクンを量産するこのスレは、他のスレに迷惑です。
無いならないで隔離スレ作れと言われる存在
星のシミュやってるけど、あの条件じゃだめだわ。 軌道を簡易的に求めるときは内側にある質量を全部足すじゃんね? その補正がないので、外のは帰って来んし、内側は彗星軌道をとっちゃう。 中心質量を中心距離の関数にせんとあかんね。
誰かWindowsでボケーっと見れるような星シミュ頼むわ。
>>359 すみません…。
よろしくお願いします。
第一宇宙速度、第二宇宙速度、第三宇宙速度ってのが、あってだな・・・
そろそろ昨日の晩のような盛り上がりを期待している。
だが断る
・地球表面を等速円運動できる速度 ・地球の重力圏から脱出できる初速度 ・太陽の重力圏から脱出できる初速度 だっけか?んで、どうした?
しらふだ
んー。星シミュが上手く行かないてーからさ<宇宙速度
373 :
372 :2006/02/05(日) 23:56:40
今から風呂に入るのでしばらく反応できん。うp逃げっぽいが、よろしく。
おお。綺麗なソースだ。・・・gccでうりゃ!とコンパイルしてみたら、一発だった。実行ファイルのサイズ11kほど。 おお。うごくうごく。すごいすごい。 思ったんだが、万有引力(C_GRAVITY)を定数じゃなくてファイルから定義するようにすれば、けっこう自由になるんじゃねーかな。
今日はニュー速+で8801を見とくので、こっちは放置させてもらう。すまんな。
いや、ソース読んで、ヘンなAPIはつかってなかった気がするが・・・?
ご愁傷さまです>377
お前らお約束スギ。見知らぬ人にウィルスまくほど暇人じゃないので安心しときんしゃい。
('A`) さすがウィルス作成人
前スレのライフゲームの人です。 ソース参考になるです。・・・そっか、GetTickCount()か・・・スレッドでループ回すとき、そーするんですねぇ・・・ 私は垂直同期をIN(ほげげ)で待ってましたよ・・・。って8801の話ですが。
よくわからんがgettickcount()じゃなくてtimegettime()の方が何かといい
ふむ。タイマ精度も上げたほーがいいのかしらん?
ふつうsleepだよな
所詮10ms程度の精度
>>372 きれいなソースだ~やっぱソースがきれいなのはいいね。
自分でやると後でコメントいれりゃいいやと思って汚くなっちゃう。
>>374 gccだと11k!?VCだと70kぐらいだね。gccの方がサイズ小さくなるのかな?
>>385 sleep(1)で3msくらいか
ループでtimegettime()を監視すると1msか2msくらい
そういう意味じゃ無いんだが。
>>389 描写を工夫すればかなり早く出来ると思うぞ・・・?
>>383 timeGetTimeとGetTickCount、MSDNで見てきたよ。GetTickCountは、
システムの時計に依存しているけど、timeGetTimeは
マルチメディアタイマーに依存しているらしいね。
M$では高い時間分解能は、マルチメディアタイマー推奨
(正確らしい)なので、timeGetTimeがいいってことらしい。
クロックが動的にかわるマザーだと厄介か
しゃらくせええええええ!
あー・・・どーなんだろ?<クロックが動的に 宿題から逸脱してるが、こーゆー話はためになるので続けて欲しい。
WinAPIでの最終案はQueryPerformance?()だろーなぁ
398 :
デフォルトの名無しさん :2006/02/06(月) 01:56:18
はいはいWindowsスレで盛り上がってね
枝葉末節だなや
オマエら寝ろよ・・・俺はなつかしのマイコンに浸ってるから・・・
あー。ソースみてブレセンハムになってねーなとは思った・・・が、まあ、いーじゃないか。
一番時間がかかっているのは描画ではなくstepなのだが、どうすれば早くなるか分からんです。 浮動小数点を、指数部じゃない方(なんていうんだっけ?)を整数にして、指数部を別管理にすれば早くなるかなぁ。 Tick関係は手抜き。コマ落ち時に描画をとばすとか、その辺のテクはゲーム系の人が詳しいと思う。 一応やね氏のRSP(だっけ?)等にはひととおり目を通しているので、べき姿はわかっているのだが。
>>404 > 指数部じゃない方
仮数部?
とりあえずソースは詳しく見てないけど、「入出力が有る一定の範囲に収まる」ならテーブル使った方が速いよな
普通だが
メガデモのソースから学び取れ
可読性を犠牲にできるならアセンブラという手もありまんがな
そーゆー世界もあったな・・・<メガデモ データの視覚化ってのは基本だと思うんで、勉強させてもらいます。
('A`) アセンブラなんてVB以来だから忘れちまったぜ… とりあえず即値があることは思い出した。
410 :
◆hXvyVozAPo :2006/02/06(月) 05:19:59
[1] ポインタ~構造体 [2] 平面座標上の4個の長方形の2つの対角となる点をキーボードから入力し、一方向リストを使って表示するプログラムを作成せよ。ただし、表示する時には長方形の面積も表示すること。 [3] 環境 [3.1] Linux [3.2] gcc 3.4 [3.3] C言語 [4] 今週中 [5] <stdio.h>,<string.h>くらいまでで。 問題の意味は、{x1,y1}{x2,y2}を入力(ここまでが一つ目)で、次に移行してを四回繰り返します。 とりあえず動けばそれでいい、です。よろしくお願いします。
int? double?
double型です
えーっと、構造体の書き方はどうならった?
414 :
デフォルトの名無しさん :2006/02/06(月) 05:55:29
timeAfterTime()
>413 えーっと書きかたってこんなんでいいんですかね? struct personal_tag { char name[10]; char address[20]; double phone; }; struct personal_tag pd_a = {"A-san", "F-city", 9876543210}; struct { char name[10]; char address[20]; double phone; } pd_b; pd_b = pd_a; 最初に習った構造体の例題がコレで、コレをベースに習いました。
一方向リストはどう習った? 構造体の持ち方がいくつかあるので、どれで組んでいいかわからない。 多分、文字列だけからなるリストか整数だけからなるリストでサンプルは習っていると思うんだ。 構造体の定義と、新たな要素の確保と、メインルーチンつまり、ソース全部を見せて欲しい。
>>416 一方向リスト説明のサンプルプログラムです。
#include <stdio.h>#include <stdlib.h>#include <string.h>
typedef struct name_tag{
char name[10]; double phone; struct name_tag *next_p;} name_t;
name_t *add_node(name_t *fow_p);
void list(name_t *top_p);
int main(void){
name_t *top_p = NULL; name_t *ref_p; name_t *tmp_p;
int i, num; for (i=0; i<3; i++){ top_p = add_node(top_p);}
list(top_p);
num = 2; printf("===== input node after %d node =====\n", num);
ref_p = top_p;
for (i=0; i<num-1; i++){ref_p = ref_p->next_p;}
ref_p->next_p = add_node(ref_p->next_p);
list(top_p);
num = 3; printf("===== delete %d node =====\n", num);
ref_p = top_p; for (i=0; i<num-2; i++){ref_p = ref_p->next_p;}
tmp_p = ref_p->next_p; ref_p->next_p = tmp_p->next_p;free(tmp_p); list(top_p);}
name_t *add_node(name_t *fow_p){name_t *new_p; new_p = (name_t *)malloc(sizeof(name_t));
printf("===== make new node =====\n"); printf("input name: "); scanf("%s", new_p->name); printf("input phone: "); scanf("%lf", &new_p->phone);
new_p->next_p = fow_p;
return new_p;}
void list(name_t *ref_p){
printf("===== Data list =====\n");
while(ref_p != NULL){
printf("name: %s: %.0f\n", ref_p->name, ref_p->phone);
ref_p = ref_p->next_p; }
}
418 :
007 :2006/02/06(月) 11:06:34
問題 主人一人で頭を刈る小さな床屋がある。1時間当たり平均λ(人)の客がランダムに床屋に到着する。 1時間当たり平均μ(人)の指数サービスに従う。待合室は1人だけ入ることができる。満員のときは客 は帰ってしまう。 ①この待ち行列系はケンドールの記号で表すとどのような系か? ② ③λ=0.8、μ=1のとき、この床屋で客が待たされる確率を計算せよ。 ④この床屋には平均何人の客がいることになるか計算せよ。 プログラムじゃないけどこの問題を解いてください。 お願い!助けて!!!!
さようなら
>>418 1 M/M/N/1 (Nは床屋のサービス数)
2 ('A`)シね
3 しらん
4 ρを平均利用率とすれば、ρ=λ/μ=.8
あとはしらん
この関数の中を無限ループしてるみたいです。。。 どこが間違っているのか賢い人教えて下さい! void simplesort(int n) { int i,j; double temp; extern double v[]; for(i=1;i<n;i=i++){ temp=v[i]; for(j=i-1; j>=0 && v[j]>temp; j--){ v[j+1]=v[j]; } v[j+1]=temp; } }
>>421 つ[ デバッガ or printf ]
だれかVC6のインラインアセンブラ(MASMなのか?)を独習できるサイトしらないか?
>>421 i=i++
この式は未定義動作だから無限ループしようが思い通りに動こうが画面からタコが出てこようが想定の範囲内
ここは何でもありのスレでつか?
428 :
423 :2006/02/06(月) 13:53:20
>>423 です
VCでステップ実行してたらアセンブラの動作を思いつきいました
どうみても勘です
>>425 さんありがとうございました (V)(´Д`)(V)
>>427 traverse_down関数をこう書きなおす
void traverse_down( RailRoad *line){
RailRoad*itr;
int c=0,i;
printf("\n ");
for(itr=line;itr;itr=itr->down)
printf("%7.*s ",5,itr->station);
printf("\n");
for(;line;line=line->down){
double total_km = 0;
printf("%5.*s ",5,line->station);
for(c+=i=1;i<c;++i)printf("%7.1f ",0.0);
for(itr=line;itr;itr=itr->down)printf("%7.1f ",total_km += itr->km);
printf("\n");
}
}
430 :
429 :2006/02/06(月) 14:11:43
あ、これは(1)な。(2)は知らん
[1] 授業単元:C言語 [2] 問題文: コマンドラインから出力ファイル名を指定すると、512×512のおおきさの PPM形式の画像ファイルを記録する。PPM形式とはファイルの先頭から P6 256 256 255 1 ピクセル 3bytesのバイナリデータの並びの順でデータを 記録する。 [3] 環境 [3.1] OS: (Linux) [3.2] コンパイラ名とバージョン: (gcc 3.4 ) [3.3] 言語: (C言語) さっぱりわかりません。。よろしくお願いします。
('A`) P6ってバイナリじゃん
>>432 とりあえず、全部0で埋めておけばいいんじゃない?w
P6
# 512x512の真っ黒画像
512 512
255
0 0 0
0 0 0...の繰り返しを、512*512個
っていうのを出力すればOK.
>>431 なに記録するか分からんから適当に出した。
#include<stdio.h>
int main(int argc,char**argv){
int x,y,z;
FILE*fp = argc>1 ? fopen(argv[1],"wb") : stdout;
fputs("P6\n512 512\n255\n",fp);
for(x=-256;x<256;++x)
for(y=-256;y<256;++y)
for(z=0;z<3;++z)fputc((x*x+y*y)/0x100,fp);
if(fp!=stdout)fclose(fp);
return 0;
}
>>357 ググ゙ったり過去ログを見たりしたのですが、わかりません。
どなたかよろしくお願いします。
>>436 それの数学的な説明してくれないとわからない
ガウスなんちゃらはどうゆう計算方法なのか?
拡大行列とは何か?
>>436 本当にググったのか?もろにソースがあるんだが。
拡大行列って座標変換するのに使う行列なんだが、拡大係数行列か?
×ググ゙ったり過去ログを見たりしたのですが、わかりません。 ○ググ゙ったり過去ログを見たりするのが面倒です。 ×どなたかよろしくお願いします。 ○とっとと教えろや!
>>438 ググって多くのソースを見つけたのですが、defineなどわからず
プログラムが理解できませんでした。
拡大行列は拡大係数行列のことだと思います。
返答遅くなってすみません。
>>440 ('A`) ・・・・ま、とりあえず参考サイトが見つかったのなら、リンク貼ってくれや
defineわからないってもうダメポ( 'A`)
この時期の、さらにはコンピュータ工学なんて講義取っておいて #defineが分かりませんって、単位取っても無意味だろ
おまじないのまま思考停止してたと予想
いや、いくらなんでもそれはないだろう。この課題をググれるのに、 #defineをググれないわけはないと思うんだが・・・
447 :
デフォルトの名無しさん :2006/02/06(月) 22:09:09
すみません、よろしくお願いします。 [1] 授業単元: 数値計算プログラミング実習 [2] 問題文(含コード&リンク): 1・二次関数の二次の係数、一次の係数、定数 a,b,c と xの最大値、最小値およびyの最大値、最小値を入力し、二次関数のグラフを描画するプログラムを作成してください。 xの最小値、最大値が1行めから20行目に yの最小値、最大値が1ます目から40ます目に対応するようにしてください。 グラフは '*" で描画してください。 2・上記グラフに、X軸Y軸を'+'で描画し グラフ上のf(x)=0の解の近傍点を'@"で描画してください。 [3] 環境 OS:solaris 言語:C言語 [4] 期限:2006年2月10日 [5] その他の制限:特にありません。
>>447 ちょっとまて
> ・二次関数の二次の係数、一次の係数、定数 a,b,c
これで、二次関数の頂点とか決まるよな。
> xの最大値、最小値およびyの最大値、最小値を入力し、二次関数のグラフ
これだと矛盾する場合があると思うが…?
もしかしてこの「xの最大値、最小値」と「yの最大値、最小値」っていうのは、
グラフの有効範囲のことか?
そうじゃない? あともう一つの問題は、表示するとき端数の座標は 切り捨てていいのかどうかだな。
>>447 似たような宿題のデータがあるからやってみる。
451 :
デフォルトの名無しさん :2006/02/06(月) 22:29:52
>447 グラフの描写が面倒くさそうですねww
>>451 たとえば
#define uchar unsigned char
#define in(a,min,max) ((min)<=(a) && (a)<=(max))
typedef _screen{
int w; //実質0~w
int h; //実質0~h
uchar **g;
} screen;
screen* NewScreen(int w,int h){
screen* ret;
if(w<=0 || h<=0) return NULL;
ret=(screen*)malloc(sizeof(screen));
if(ret==NULL) return NULL;
ret->w=w;ret->h=h;
ret->g=(uchar**)malloc(sizeof(uchar)*w*h);
return ret;
}
void pset(screen* s,int x,int y){
if(!in(x,0,s->w) || !in(y,0,s->h)) return;
s->g[y][x]="*";
}
みたいな
453 :
452 :2006/02/06(月) 22:42:44
とりあえずグラフィック系ライブラリは作ってみる
>>452 の続き
void DeleteScreen(screen* s){
free(s->g);
free(g);
}
void ClearScreen(screen* s){
int i,k;
for(i=0;i<=s->h;i++)
for(k=0;k<=s->w;k++)
s->g[i][k]=" ";
}
void ShowScreen(screen* s){
int i,k;
for(i=0;i<=s->h;i++){
for(k=0;k<=s->w;k++)
putchar(s->g[i][k]);
putchar('\n');
}
}
これだけあれば十分だろう
>>452 ざっと読んでみたが、NewScreenで初期化はしないのか?
>>454 紙面上、どこかで分割したかった・・・ (V)(´Д`;)(V) すまん
in(a,b,c)なんてマクロ命名は駄目駄目だろ あとscreenは構造体なら大文字にした方がいいぞ これじゃとてもライブラリなんて呼べる代物じゃないぞ なんてつっこみしてみる
>>456 > in(a,b,c)なんてマクロ命名は駄目駄目だろ
すまん、Cはあんまりしたことないんだ。
…もしかしてC++か?
良く分からんのでkwsk tell me
> screenは構造体なら大文字にした方がいいぞ
すみませんVB厨です
適当に読めりゃそれでおkなんです。。
後でIDE上で一発変換できるしwwwwwっうぇwwww
しょ~がねぇなぁ ちょっと本気出してやってみる でも、ここ数年C++、JavaしかやってないからC++でな
>>457 とりあえず勉強しなおすまでCやC++で
マクロを使わないことをお勧めする
[1] 授業単元: C++ [2] 問題文(含コード&リンク): C++言語の特性をできるだけ生かして(最低限、「クラス」機能は生かすこと)、 「住所録」を作成し、そのソースコードファイルを提出せよ。 コード内にはできるだけ注釈文を記し、 「どこでなにをやっているのか」読みやすいようにせよ。 またコメント文には、「C++のどのような機能を活用したか」記すこと。 [3] 環境 [3.1] OS: WindowsXP SP2 [3.2] コンパイラ名とバージョン:Visual Studio .NET 2003 [3.3] 言語: C++ [4] 期限: 2006/2/10 [5] その他の制限: C++はコンソール操作までしか習っていません コマンドプロンプトで操作できるものをよろしくお願いします
これは凄い燃料だ・・・職人芸の予感
ふふふ・・・
>>447 か・・・
なかなかどうして、あなどれん
>コード内にはできるだけ注釈文を記し、 と >「どこでなにをやっているのか」読みやすいようにせよ。 は矛盾している気がするが
いや、してないだろ
宿題を人に頼むというのは矛盾してるな。
その分楽しませてもらってるけどな
ネタで行くか、マジで行くか、というのはこのスレの解答者として最初に設計しなければならないことである。
住所録か… とりあえず ・(氏名, 住所, 郵便番号, 電話番号)型の一次元配列 と考えるのが妥当か?
[1] 趣味 [2] 配列array中に数値numberがいくつあるかを数える関数count(number, array, length)を 作成してください。lengthは配列arrayの要素数です。この関数は再帰関数になるはずです。 [3.1] Windows [3.2] Visual C++.net [3.3] C [4] なし [5] オライリー『C実践プログラミング』内の実習問題です。アホですみません。
ネタとしては、出題文を曲解しながらも、条件を満たさねばならない。 ベタな書き方でも労力に対して笑いが取れるかもしれない。 マジで行くときは、技巧にネタを混ぜちょっと変わったテクニックを披露するか、 とてもシンプルな回答で分かりやすくするか、とても丁寧なプログラムにする。 しかし、質問者の追加要求もありえるので、付き合う余裕のあるときのみ行う。 おまえら、どーしてそこまでして無償の奉仕ができるんだ?
>>476 再帰関数にわざわざするのがなー
それじゃぁまるで論理型言語かLispみたいじゃまいか
>>477 プログラムしてるとエッチな気分になれるから
>>480 マゾか
>>476 再帰関数になるはずではなくて、再帰関数として定義せよってこっちゃないのか?
ループで組むぞ。普通は。
>>476 int count(int number,int* array,int length){
if(length)return (number==array[length-1])+count(number,array,length-1);
else return 0;
}
再帰関数の勉強にしてももうちっと別のサンプルのほうがいいだろうに 実用したら落第もんだよな
汚くしてみた int count(int number,int x[],int length){ int i,r; if(length=0) return 0; for(i=r=0;i<length,i++) if(x[i]=number) r++; count(number,NULL,0); return r; } もうね何してるのか分からんね ちなみにprolog count(_,[],0). count(Item,[Item|Remain],C) :- count(Item,Remain,Cd),!, C is Cd + 1. count(Num,[_|Remain],C) :- count(Num,Remain,C).
> if(length=0) return 0; (V)(´Д` )(V) ? こうでしたね if(length==0) return 0;
>>434 それはもう改悪どころの騒ぎじゃないですよ?
よし無意味にC++版 int count(int number,int array[],int length){ return std::count(array,array+length,number); } ......しまった。再帰使ってない
(V)(´Д` )(V) そうか、普通の配列を使うからいかんのじゃな class SortedCharArray{ private: unsigned int b[256]; public: void Add(char c){ b[c]++; } int Count(char c){ return b[c]; } } もうね、何がなんだか
(V)(´Д`)(V) しまった・・unsigned int で油断させられた
int count(int number,int array[],int length){ if (length < 1) return 0; if (length == 1) return *array == number; return count(number, array, length / 2) + count(number, array + length / 2, length - lenght / 2); } んー。なんかヘンだな。
これですっきり。 int count(int n,int *a,int l) { return l--?(n==*a)+count(n,a+1,l):0; }
494 :
476 :2006/02/07(火) 02:26:44
皆様、ご解答ありがとうございました。 悪問であると理解しておいてよろしいのでしょうか。 ポインタの項目はまだ先です。
>>494 ま、普通は再帰処理させないことが分かれば十分。
そもそも、手続き型言語では再帰処理は気持悪くてかなわん。
>>492 さんのソースは末尾再帰だから、ループに展開できるんだが、気が向いたらやってみるよろし。
いや、悪問ではない。 ポインタを意識しないでも再帰で書ける。 ただ、慣れてくると、ポインタを使ったほうが自然だし、 ・・・あまりに初歩なので、ネタに走った回答が帰ってくる。 マジメなアルゴリズムなら、 もし、lengthが1未満なら0を返す もし、lenghtが1 →numberとarray[0]を比較し同じなら1、違うなら0を返す もし、lengthが2以上なら、 →numberとarray[0]を比較し同じなら1 + count(number, array, length - 1)を返す、違うなら(略) とゆーアルゴリズムになる。
おまけ int count(int num,int* ary,int len){ int c; __asm{ push eax; push ebx; push esi; mov ecx,len; mov esi,ary; mov eax,0; mov ebx,num; mov c,0; Label_0: cmp ebx,[esi]; jnz Label_1; inc c; Label_1: inc esi; loop Label_0; pop esi; pop ebx; pop eax; } return c; }
>497 せんせー!漏れのZ80じゃ動きません!
>>496 ダウト。
比較を number と array[length-1] で行うか、
再帰の引数を count(number,array+1, length-1) にするかどちらか。
あと、ループの方が自然。
int count(int n,int *a,int l){
int r=0;
for(;l;r+=(n==a[--l]));
return r;
}
ほらね。
よし無駄に手動で最適化完了 __declspec(naked)int count(int value,int *array,int length) { _asm{ cld; push EDI; mov EAX,[ESP+8]; mov EDI,[ESP+12]; mov ECX,[ESP+16]; xor EDX,EDX; L: inc EDX; repne scasd; je L; lea EAX,[EDX-1]; pop EDI; ret; } }
すいません。よろしくお願いします。
[1] 構造体
[2] 平面座標上の4個の長方形の2つの対角となる点をキーボードから入力し、一方向リストを使って表示するプログラムを作成せよ。ただし、表示する時には長方形の面積も表示すること。
一つのノードに平面座標上の点(整数型){x1,y1}{x2,y2}を記憶。次のノードに移行する。
一方向リストはこういう習い方しました。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1622.txt [3] 環境
[3.1] Linux
[3.2] gcc
[3.3] C
[4] 今週水曜
[5] #include <stdio.h>
#include <stdlib.h>
#include <string.h> まででお願いします。
>>500 おーおー、寝ぼけて書いたから、ばぐってたかも。指摘感謝。
ループで書くほーが素直だと思うよ。もちろん。
>505のセンセに言いたい。リストのよいところは要素の挿入や削除がO(1)でできることだと。
双方向リストにしろってことじゃねーの?
509 :
505 :2006/02/07(火) 13:19:24
どなたかお願いします。 本当に切羽詰まっています。
人に宿題やらせておいて急かすとは何事だ?
>509 んー。ちょっと待ってくれな。 >510 宿題以外にも人に何かやってもらおうと、あつかましいヤツは多いだろ。 目くじら立ててたら、疲れるぞ。 「ありがとう」の言葉以外に差し入れが欲しいけどな。ジュース一本でもいーから。
>>511 ありがとう
( ・ω・)ノシ● ジュースドゾー
('A`)・・・コロヌ
>>505 すこーし、引数の形を変えたけど題意を満たすにはこれが一番良いだろう
void delete(cell **p){
cell *next = (*p)->next;
free(*p);
*p = next;
}
void insert(int x,cell**p){
cell *cur = (cell*)malloc(sizeof(cell));
cur->next = *p;
cur->element = x;
*p = cur;
}
**ってなんでぃすか! べき乗ですか!!
>>505 の問題文に、
> 位置p
と言うくだりが出て来るんだが、このpってcell*型なんだよな
位置というとインデックスだから、intとかじゃないか?
と思ってたけど、それだと head が置き換わる動作を分離しなくちゃならない。
そこまで考えられてるのか・・そう思った俺ガイル
>>514 オマエは地獄送り(1000\+税)の軽に処す
struct cell { struct cell *prev, *next; /* ... */ }; void insert_back(struct cell *a, struct cell *b) { a->next->prev = b; b->next = a->next; b->prev = a; a->next = b; } struct cell *delete(struct cell *a) { b->next->prev = b->prev; b->prev->next = b->next; return b; } のほーがラクだよなーと思ってしまう
518 :
505 :2006/02/07(火) 14:08:02
>>510 不快に思われたのなら申し訳御座いません。
昨日出されてから考え続けているのですが、どうしても行き詰ってしまい、
皆様に頼らざる負えない状況になりました。
>>513 返答有難う御座います。
随分簡略化された様ですが、delete,insert共に4,5行で完成されているのでしょうか?
無知な質問で済みません・・・。
519 :
513 :2006/02/07(火) 14:15:53
>>518 そう、単方向リストの処理は簡潔に書けばこれ位になる。
ただ、元と使い方が変わって
insert(10,&head);/*headの直前に挿入*/
delete(&head);/*headの要素を削除*/
と言った感じで要素の直前に&を付けるように変更して、さらに
insert(10,NULL);/*headの直前に挿入*/
delete(NULL);/*headの要素を削除*/
と言う形でheadを特別扱いするという、変態的規則を廃止した。
520 :
505 :2006/02/07(火) 14:29:14
>>519 素早いお返事有難う御座います。
元と変わっている点が多く、少々不安でした^ ^;
知り合いに聞いてもheadの扱いが意味がわからないと言われ、
元のプログラムに近い変更で答えて貰えませんでした。
人によって書き方は異なると思いますが、
少し変な問題の書き方なのでしょうか・・・。
・・・気のせいだったらすまん、
>>513 のプログラム、仮に
a->b->c->NULL
ってな具合でリンクされてるとき
insert(123, &b)
ってやったら、aはbを指したまんまなんじゃないか?
同様に、deleteもリストが壊れそうに思うんだが・・・。
リストの実装って人によってかなり癖があるよな
ここでstd::list<T>の登場ですよ
たしかにリストは最初からライブラリで提供していただきたい
順序を問わず、ただ、保持するだけってゆーのだと、テイルに入れるんじゃなくて常にヘッドから入れる・・・とか。 テイルには常に番兵を入れとくとか。 テイルの代わりにNULL入れとくとか。 ヘッドは値を持たないセルにしといて、特別な型は作らないとか。 ヘッドとテイルを保持するコントロールブロックを持つとか。 単に最初のセルへのポインタを持つだけにするとか。 ・・・いろいろありすぎていやん。
問題文見る限りでは数行ずつ変更するだけで出来るみたいな言い方してるよな。 まぁ俺にはわからんがな・・・
# 変更すべき箇所全てを以下のプログラムに書き込め。 # 必要あらば(新しくファイルを作成し)、(#include)行を追加しても良い。 # ただし、どの行間に追加するのかを明確にすること。
528 :
513 :2006/02/07(火) 14:48:22
>>521 あーポインタを指す別の変数作られると確かにやばいなぁ。
個人的には
insert(10,&head);
p = &head->next
insert(20,p);
insert(30,&head->next->next);
insert(40,&head->next->next->next);
writelist();
delete(&head->next->next->next);
delete(&head->next->next);
delete(&head->next);
delete(&head);
とかみたいにポインタの指す位置は、
listの要素を指すポインタを指定するインターフェイスしか考えてなかった。
みんなはどういう実装にしてる@単方向リスト 俺はまずリストの先頭・末尾を指すポインタの構造体を作って そいつをC++でいうところのstd::list<T>型の用に使って リストの管理に使ってるんだが リスト本体の方は、末尾はNULL
・とりあえず頭とケツは隠蔽してる ・head(とtail)を管理 最終的にはB木でも作る勢いで。
531 :
513 :2006/02/07(火) 14:57:21
俺はまぁ、見ての通り。
ケツにnull突っ込んでそれ以外は特別扱い無し。
単純にポインタを使うと
>>521 の言うように破綻するから,
cell**みたいに二重のポインタで持ち回る方式(まぁこの辺は適当に隠蔽するけど)
>>527 必要あらばだからなぁ
使わないと出来ないのか使わなくても出来るのかよーわからんな
なんにしても初心者ぽいし、もう少し出題者のプログラムに類似したやつのほうがよさそうだぞ
しかしVBスレなのに皆Cなのな、俺驚いちゃった クラスでB木作るとちょっとC気分www
いつのまにVBスレになったのよさ?
>>533 ちょwwいつからVBスレになったwww
ああ、なるほど。
>>528 リストを指すポインタのアドレス(あー説明ベタ)を渡すことで、
書き換え位置を特定してたのか。 解説ありがと。
537 :
431 :2006/02/07(火) 18:07:41
[1] 授業単元: プログラミングⅠ
[2] 問題文(含コード&リンク):
① number.dat を入力ファイルとして、date.dat を引数として入力するようにする。
つまり、date02.dat 等の処理はプログラムの修正が不要なようにする。
② date.dat に入ってるファイルの上から順番に、最初に出てきた番号の人に100点、次に出てきた人には99点の評価を与え、その次の人は98点という具合に評価点が下がるようにする。番号が見出されない人には -1点を付ける。
※複数回同じ番号が出てくるときは、先に出てきたほうを優先する
③ 出力ファイル名は date.out として、引数の dat を out に変更するものとする。
date.out は 40行のファイルとして、1行目は A001 の評価点を2文字の整数 (例えば 35)で、10行目には A025 の評価点を2文字の整数で、40行目には A104の評価点を2文字の整数で出力する。
number.dat & date.dat --->
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1606.zip [3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:GCC
[3.3] 言語:C
[4] 期限:2006年02月08日23:59 まで
[5] その他の制限:特になし
前回スルーされてしまったのでもう一度お願いします。
>>538 出力内容と number.dat について説明が不十分でわからないが。
出力ファイルの n 行目= number.dat の n 行目にある番号の人の評価点
という事か?
後、 number.dat はプログラムに決め打ちで良いのか?
540 :
538 :2006/02/07(火) 20:57:06
>>出力ファイルの n 行目= number.dat の n 行目にある番号の人の評価点という事か? はい、そうです。出力は例えば、 A001 59 A002 81 ・・・という風に出せるようにしたいです。 >>number.dat はプログラムに決め打ちで良いのか? はい、これもそれでOKです。
>>541 サンプルから発展させるとか、合体させる・・・ってのが定石だろーから
今まで作ったものをupだな。全部。
543 :
427 :2006/02/08(水) 13:52:02
>>429 ありがとうございます!!
誰か(2)の方もお願いできませんか・・?
544 :
アゲハ :2006/02/08(水) 15:37:53
全角の時点でその要求には応えられない 自分の無能さを悔いるんだな
546 :
アゲハ :2006/02/08(水) 16:25:53
すいませんでした>< ちゃんと半角に直しました。
文字列は文字(char)の配列。C/C++では文字列の終端はchar '\0'==0。 一行ずつ読み込むファイル処理の基本形を参考にして、 forループで1つずつ文字を見ていく。 int i; sz[i] charが'.'だったら(sz[i]=='.')そこで切り分けながら他の場所にデータを 構造体配列として格納する。ここまでOK?
strtok()
>C++では文字列の終端はchar '\0'==0 >C++では文字列の終端はchar '\0'==0
>>544 るーぷ は しょしんしゃ には わかりにくそー なので あるごりずむ を つかいました
#include<iostream>
#include<fstream>
#include<set>
#include<iterator>
#include<algorithm>
using namespace std;
struct data{int number,score;char name[32];};
bool operator <(const data&a,const data&b){return a.score < b.score;}
istream&operator>>(istream&strm,data&a){
return ((strm >> a.number).ignore().getline(a.name,sizeof(a),'.')>> a.score);
}
ostream&operator<<(ostream&strm,const data&a){
return strm << a.number << '.' << a.name << '.' << a.score << endl;
}
int main(){
set<data>s;
copy(
istream_iterator<data>(ifstream("indata.dat").ignore(65536,'\n')),
istream_iterator<data>(),
inserter(s,s.begin()));
copy(s.rbegin(),s.rend(),ostream_iterator<data>(cout));
}
setを使うとキレイに書けるもんだなw
552 :
550 :2006/02/08(水) 17:10:20
やぁ俺はどうやら、とんでもないミスをしていたようだ。 main関数の最初の行は set<data>s; ではなくて multiset<data>s; が正しいのさーorz
553 :
550 :2006/02/08(水) 17:14:28
>>552 の代わりに
bool operator <(const data&a,const data&b)
{return a.score < b.score ||(a.score==b.score && a.number < b.number);}
比較演算子をこう置き換えるのもありだね。
まぁ間違いに気づけたからOKOKということにしとくか
554 :
アゲハ :2006/02/08(水) 17:25:17
>MR大佐||☆さん 構造体配列ってなんでしょうか…?
ここは宿題を片付けるスレだからよそで訊け
556 :
デフォルトの名無しさん :2006/02/08(水) 23:42:28
[1] 授業単元:計算機演習 [2] 問題文(含コード&リンク): 20から120までの整数の中で17で割り切れる値をすべて表示し、 その総個数を求めるプログラムを作成しなさい。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: VC .NET [3.3] 言語: C++ [4] 期限: 2006年2月9日まで よろしくお願いします。
>>556 たまにはヒント
for(int i=20;i<=120;i++) if(i%20==0) cout << i;
int n = 0; int count = 0; while (n lt; 20) n += 17; while (n lt; 120) { printf("%d\n", n); count++; } printf("%d\n", count); うむC++か、Cで書いてしまった。
>>556 #include <iostream>
int main() {
int c = 0;
for (int i = 20; i <= 120; ++i)
if (i % 17 == 0) {
++c;
std::cout << i << '\n';
}
std::cout << "number:" << c << std::endl;
}
>>556 #include<iostream>
using namespace std;
int main(){
for(int i=(20-1)/17*17+17;i<=200;i+=17)
cout << i << ',';
cout << endl;
cout << (200/17-20/17) << endl;
}
561 :
560 :2006/02/08(水) 23:52:26
× 200 ○ 120
for(int i=20,c=0;i<=120;i++,(i%17==0)?c=c:c++) 三項演算子って順次評価?
>>562 (i%17==0)?++c:c
の間違い?
まぁ俺なら c+=i%17==0 と書くけど
>>563 その方がすっきりだな
>>564 カンマ演算も順次評価だったな。
今回は、例えば
x?hoge("こっちも評価"):hoge("こっちも評価")
これと同値なのが、
if(x) return hoge("こっちも評価");
else return hoge("こっちも評価");
なのか、
iif(x,hoge("こっちも評価"),hoge("こっちも評価"));
template <class T> iif(bool x,<T> a,<T> b){
if(x) return a;
else return b;
}
なのかな、って思っただけ。
(f1) ? v1 : (f2) ? v2 : (f3) ? v3 : (f4) ? v4 : v5;
#include <vector> #include <algorithm> #include <iostream> #include <functional> struct Devidable{int d;Devidable(int d_) : d(d) {} bool operator()(int i) const{ return (i%d)==0; }}; bool d(int i){ return true; } int main(){ using namespace std; vector<int> v; for(int i = 20; i <=120; ++i) v.push_back(i); vector<int>::iterator end = remove_if(v.begin(), v.end(), Devidable(17)); copy(v.begin(), end, ostream_iterator<int>(cout, "\n")); cout <<"個数:" <<end-v.begin() <<endl; return 0; }
逆だった #include <vector> #include <algorithm> #include <iostream> #include <functional> struct Devidable{typedef int argument_type; int d;Devidable(int d_) : d(d_) {} bool operator()(int i) const{ return (i%d)==0; }}; bool d(int i){ return true; } int main(){ using namespace std; vector<int> v; for(int i = 20; i <=120; ++i) v.push_back(i); vector<int>::iterator end = remove_if(v.begin(), v.end(), not1(Devidable(17))); copy(v.begin(), end, ostream_iterator<int>(cout, "\n")); cout <<"個数:" <<end-v.begin() <<endl; return 0; }
std::unary_function<bool, int>は?
>>569 modules + bind2nd を使いましょう
>>571 らじゃ
#include <vector>
#include <algorithm>
#include <iostream>
#include <functional>
int main(){
using namespace std;
vector<int> v;
for(int i = 20; i <=120; ++i) v.push_back(i);
vector<int>::iterator end = remove_if(v.begin(), v.end(), bind2nd(modulus<int>(), 17));
copy(v.begin(), end, ostream_iterator<int>(cout, "\n"));
cout <<"個数:" <<end-v.begin() <<endl;
return 0;
}
573 :
デフォルトの名無しさん :2006/02/09(木) 00:35:51
[1] 授業単元:プログラミング
[2] 問題文 テーブル「A1」「A2」「A3」に登録されているデータを奇数・偶数に分けて、昇順・降順にソートし、
奇数は昇順の配列で「B」テーブルに、偶数は降順の配列で「C」テーブルに格納する。
ただし、main関数より下位関数にパラメータを渡す場合は、共通の構造体に格納し、その構造体のポインタを渡すようにする。
下位関数よりさらに下位の関数にパラメータを渡す場合はこの限りではない。
[3] 環境
[3.1] OS:winXP
[3.2] コンパイラ名とバージョン: BCC
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限:2006/02/10
[5] その他の制限:使用可能なのはstdio.hくらいです。
現状としては、ソートをしてB・Cの配列に格納するということはできてます。ですが、まだ構造体の扱いになれていないので、パラメーターを一つの構造体にまとめて構造体に対するポインタを
渡すという方法がいまいちわかりません。
大変申し訳ありませんが、どなたかご教授いただけませんでしょうか?
コンパイルエラーがでてしまいますが、書きかけのソースを書きのURLにアップさせていただきました。
http://proxy.f2.ymdb.yahoofs.jp/bc/74d693f8/bc/41d4/datasort.c.c?bcVQh6DBKw9.VknJ デバッグライトの挿入のしすぎで少し醜いかと思われますが、ご容赦くださいペコリ(o_ _)o))
>>567 thx!!
時々こんがらかるんだよなぁ・・・
576 :
デフォルトの名無しさん :2006/02/09(木) 01:24:59
575さん> 共通の構造体ってのは、mainに一個構造体を置いて、そこから下位関数に渡す という意味らしいです・・・分りにくい問題文ですみませんでした
577 :
デフォルトの名無しさん :2006/02/09(木) 01:48:37
573の件なのですが、できればCでのご解答をいただけませんでしょうか? 不躾で申し訳ないですペコリ(o_ _)o))
> [3.3] 言語: (C/C++/どちらでも可 のいずれか) 特に指定がないからだよ。時間があるから誰かやるかもしれんが。 少し努力したみたいだからアドバイスするが、条件後だしは通常スルーされる。 パラメータをまとめて構造体を渡すってのは、変数をポインタで 渡すのと大して変わらないよ。 mainの中に、int a,b,c,d;があったとして、出先の関数でこの値の 内容をいじりたいときは、f(int* a, int* b,...)という関数を作って、 *a=3;とかやるよね? でも変数が多いとfの引数が多くてわかりにくいから、 struct hoge { int a,b,c,d; };ってのを作って、mainではa,b,..の変わりに hoge.a, hoge.b,...って形で使って、関数fにはf(struct hoge* piyo)って 形で渡して、*a,*bで値を操作する変わりに、hoge->a, hoge->bって 形で操作するんだよ。hogeが実体なら.で、ポインタなら->で構造体の 変数にアクセスできるから。
そういえば、全然関係ないけど、参照変数ってC++からだっけ?Cでも使えたっけ? …やってみればわかることだなすまん。
>>579 C++から。C99でどうなったかはわからないが、使えないはず。
581 :
427 :2006/02/09(木) 11:22:59
誰かお願いします!
>>427 データのチェックをお願いするわ。東京→東京が6.8になってる。設問から考えると0じゃなきゃおかしい。
583 :
427 :2006/02/09(木) 11:48:29
早くしてくれ!間に合わん!
ああ、ファイルのデータの意味がわかった。そっか。ふむふむ。 ちょっとまってなー。
585 :
◆OfaKVcaBmU :2006/02/09(木) 13:45:38
[1]一般情報処理 [2]次に示す要求仕様を満たす成績管理プログラムをC言語を用いて作成せよ。 *扱えるデータサイズは最大10教科*100人分程度とする。 *点数のデータ以外に、教科名及び学籍番号(あるいは氏名)を入力可能とする。 *データはキーボード、およびファイルから入力可能とする。 *合計点、平均点、標準偏差を計算可能とする。 *各点数を以下の基準でランクづけして表示可能とする。 A:80以上 B:65-79 C:55-65 D:55未満 *個人ごとのAからDのそれぞれの個数を集計可能とする。 *位置を指定してしてデータの修正及び再計算を可能とする。 *結果を集計してファイルに出力可能とする。 手順1:データをキーボードから対話形式で入力した後、そのデータを整形して表示する プログラムを作成せよ。 手順2:プログラムが起動すると、メニュー画面が表示され、「データを入力する」、「データを 表示する」、「データを編集する」、「データをファイルに保存する」等の項目の中から 操作を選択し、各操作ができるようプログラムを拡張せよ。例えば、キーボードから入力 したデータをファイルに保存する、または、ファイルから読み込んだデータを修正し、表 示してデータを確認した後、ファイルに保存する、等の操作を可能とする。 手順3:2と同様にメニュー画面に項目を追加して合計点、平均点、標準偏差を計算して結果を表 示出来るようかくちょうせよ。ランク付けに関しても同様。またその結果を整形してファ イルに出力できるようにせよ。 [3.1]Linux [3.2]gcc(よくわかりません) [3.3]C [4]2/14 [5]制限はないと思います。当方初心者で学校で4回ほどの講義があった後この課題がでたのですが...。 ほとんど出来ません。誰か助けてください。お願いします。
それにしても、みんな何のために学校行ってるのだろう・・・
ガッコ行っても友達居ないから勉強以外することあらへん(´・ω・`)
そういう子は宿題も自力でやるよね。
>>585 はたぶん ウンコ行ってる間に講義4回終わっちゃったんだよ
だからきっと何も覚えてないんだ
うん
[1] 授業単元: プログラミング及び演習
[2] 問題文(含コード&リンク):
・培風館「VisualC++で学ぶプログラミング」より、P118問題24
問題20で求めたsin関数とcos関数の値をファイルに書き出しなさい。
また、キーボードから度数を入力し、作成した三角関数ファイルから、1レコードずつ読み込み
入力したデータと同じ度数のレコードを検索し、sinとcosの値を表示しなさい
(・問題20 sin関数とcos関数を利用して0~180度まで15度間隔で三角関数の表を表示させなさい)
[3] 環境
[3.1] OS: Windows
[3.2] Microsoft Visual C++というソフトを使って全てやってるのでよくわかりません
[3.3] 言語: C
[4] 期限: 明日…
[5] その他の制限:
前の問題20でsinとcosを表示させる問題があったので、問題文の通り一部コピペし、あと少し付け足しました
ファイル書き出しまでは出来たと思うのですが、後半の、入力したデータと同じ物を読み込む条件設定がよくわからないです
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1630.txt ↑は自分で途中までやったものです。
無事に終わると思っていたら最後の授業の宿題でつまずきました…お助けくださいorz
DBの設計 項目の検討。項目:データ型(範囲)の形で書く。 教科名:文字列(50バイト以内。'\0'、空白類、制御コードは含まない) 点数:整数(0~100) 学籍番号:文字列(20バイト以内。'\0'、空白類、制御コードは含まない) 氏名:文字列(50バイト以内。'\0'、空白類、制御コードは含まない) 表の検討。 各科の得点表 学籍番号 得点 学籍番号表 学籍番号 氏名 教科名ファイル名対応表 教科名 ファイル名 得点表を各科ごとに分けたのは、教科担当者が個別にファイルを操作できるようにするため。 ・・・とかやらんで、エクセルでいーよーな気がする・・・
リダイレクション(リダイレクト)ってならった?>591
>>593 この単元でそれを学ぶのがメインのようです
一応前半部分で、sincos関数の表をファイルにするところがあります
>>591 scanf系はdoubleを読み出すときはlf
fscanf(fp," %d %lf %lf\n",&i,&si,&co)!=EOF
596 :
λ... ◆dLYBV55lRk :2006/02/09(木) 18:25:18
問題文に「問題20より~」と書いてあったので、問題20ををコピペしたため 「手動で打ち込む→それを読んでファイルにする」×180みたいな 長ったらしい流れになってますがその辺は御勘弁を…orz
>>595 !!!
ありがとうございます!…すっかり忘れてましたorz
あっさり問題解決しました。お手数おかけしてスイマセンでした
599 :
595 :2006/02/09(木) 18:34:29
>>598 gcc様はprintf,scanfのフォーマットが正しくないと警告しやがるからなw
600 :
463 :2006/02/09(木) 19:20:00
>>463 >>600 ひとまず、読んでみた。
#include <iostream>
using namespace std;
と、素直な教科書のようだ。
std::vectorなし配列は組み込みの配列のみ、
std::stringなし・・・cstringを使う。
・・・char *か・・・しかもmalloc()か・・・
ここの解答者はあんまりやらんと思うぞ。
土日を使って作るレベルかな・・。
602 :
463 :2006/02/10(金) 09:03:03
慌てず急いで正確になっ!
603 :
463 :2006/02/10(金) 15:38:10
↑別人です 別にいいけど・・・
605 :
デフォルトの名無しさん :2006/02/10(金) 18:50:21
[1] 授業単元: 上級プログラム演習 [2] 問題文(含コード&リンク): 640x480ドットの中のある位置に点A・点Bがある。 点A・Bは固定ではなく、ランダムな位置にあり、1~3ドットの速度で浮遊している。 なおそれぞれの座標はgetX('A'),getY('A'),getX('B'),getY('B')で常に取得可能とする。 点Aからは点Cを速度7ドットで一定の角度で射出する。 点Cは点Aの引力を受け周回軌道に乗りながら点Aを離れていく。 点A・B共に半径100ドットが引力の限界で点Cがそれを離れると惰性走行し続ける。 点Cが点Bの引力の範囲内に突入すると周回軌道の乗りつつ接近し、最後に衝突して点Cは消滅する。 なお、点Cが点A・B両方の引力圏に属する場合は遠いほうの引力が無視される。 以上の条件に基づき点Cの軌跡に点を打つCプログラムを作ること。 あまり例外などを考慮せず完結にコードを組むこと。 なお、点を打つ関数はpset( int x, int y )とする。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ(バージョン):VC++ 6.0 [3.3] 言語:Cのみ [4] 期限:2005年06月13日 [5] その他の制限: 特になし
授業用のライブラリがあるはずなので、それを提出。
608 :
デフォルトの名無しさん :2006/02/10(金) 19:20:16
[1] 授業単元:プログラミング
[2] 問題文 テーブル「A1」「A2」「A3」に登録されているデータを奇数・偶数に分けて、昇順・降順にソートし、
奇数は昇順の配列で「B」テーブルに、偶数は降順の配列で「C」テーブルに格納する。
ただし、main関数より下位関数にパラメータを渡す場合は、共通の構造体に格納し、その構造体のポインタを渡すようにする。
下位関数よりさらに下位の関数にパラメータを渡す場合はこの限りではない。
[3] 環境
[3.1] OS:winXP
[3.2] コンパイラ名とバージョン: BCC
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限:2006/02/13(再提出しろという事になりました_| ̄|○)
[5] その他の制限:使用可能なのはstdio.hくらいです。
この前こちらで、質問させていただいて、そのときのアドバイスを元にコーディングしてみたのですが、実行させてみると突然落ちてしまいます。
ポインタの設定で、メモリの触ってはいけないところにアクセスしてしまった気配はするのですが、具体的にどうすればいいのかわからない状態です。
ソースを以下のURLにアップさせていただきましたので、どなたかご教授いただけますでしょうか・・・
http://proxy.f2.ymdb.yahoofs.jp/bc/74d693f8/bc/41d4/main.c.c?bcXdG7DBk.WQl9Av
>>606 そこまで期限が遅れていると提出しても意味があるかどうか疑問
[1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 保存されている整数の最大のものとその要素番号とを 出力するプログラムを作りなさい。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 2006年2月11日pm1時まで [5] その他の制限: 自分で下のように作ってみたんですが 要素番号の出力のしかたがわからないです。 よろしくお願いします。 #include <stdio.h> main() { int d[10] = {100, 12, 23, 35, 36, 41, 49, 51, 55, 61}; int dmax, i; dmax = d[0]; for(i=1;i<10;i++) { if(dmax<d[i]) dmax=d[i]; } printf("max=%d\n",dmax); return(0); }
>>611 dmaxを更新するときに、iも保存しておけばいい
>>611 #include <stdio.h>
main()
{
int d[10] = {100, 12, 23, 35, 36, 41, 49, 51, 55, 61};
int dmax, i;
dmax = 0;
for(i=1;i<10;i++) {
if(d[dmax]<d[i]) dmax=i;
}
printf("max=%d index=%d\n",d[dmax],dmax);
return(0);
}
617 :
463 :2006/02/11(土) 03:33:24
>>463 の期限が来週いっぱいまで伸びました
よろしくおねがいします(´・ω・`)
じゃ、まだ一週間自分で考えられるな。 がんがれ。
俺C++はcoutしか知らないから無理
620 :
デフォルトの名無しさん :2006/02/11(土) 09:41:17
621 :
デフォルトの名無しさん :2006/02/11(土) 11:24:14
みんなちょっと切羽詰りすぎだろww 授業出てて理解できないものかなぁ? その授業出てる8割の人ができないのであればまぁ先生の教え方が悪いともいえなくはないが・・・・ ちょっとは自分で調べて考えることも重要だよ
>>620 典型的な不正アドレス参照。
2ちゃん的に言うなら「ぬるぽ」って奴です。
152行目
parg->pa1にはNULL(あなたは、main()で0を設定しているが・・・)が入っていて
それを *parg->pa1 で参照しているためエラーとなっている。
まずは、main 関数で argument 構造体 arg を初期化しましょう。
それから、152行目でやりたいことは「配列の要素数分だけループしたい」だと思うんだけど
*(parg->pa1) → parg->pa1[0] と同じだから、期待通りには動かないはず。
だから、argument 構造体に A1, A2, A3 配列の要素数を保持するメンバを追加しましょう。
追加アドバイスとして、コンパイルして警告が出たら、まずそれを解決した方がいい。
使ってない変数とか初期化してない値への参照があったよ。
>621 すまん。出来ないと思う。 情報系の連中でも5割も自力でやらんだろ。
でも、自力でやってる奴がかわいそすぎる・・・ 一所懸命考えてやったのに、 ここでホイホイ教えられてのそのまま出した奴より評価悪かったりしたら
>>624 自力でやった奴の方は初心者のクセが出るから俺にはわかる
動けば評価は上々だよ
うん (´・ω・`)
・・・マジメにやってるセンセにも失礼だとは思う・・・思うんだが・・・ 面白そうな問題や、自分がやったことのない分野は、解いてしまう。 下手なんで上げないけど。
627 :
デフォルトの名無しさん :2006/02/11(土) 13:01:55
うちの学科は経営工学と情報工学を両方やるからほとんどが経営工学に逃げちゃうよ。 中には逃げじゃなくて本気で経営工学をやりたい人もいるんだろうけどさ。 結局情報系は80人中25人くらいかな・・・
・・・うーん・・・コンパイルしてないけど。 struct Array {int data[100], length; }; struct Common {struct Array A1, A2, A3, B, C; }; int main(void) { Common common; init(&common); print(&common); return 0; } というところから始めてみるのがいーかもしれん。
630 :
デフォルトの名無しさん :2006/02/11(土) 13:23:56
>628 まぁそうも言わないでおくれ
教える事によって、馬鹿の為になろうがなろまいがどうでも良いのだが、 まじめにやってる奴にまで影響を与えるのはなぁ
まあ・・・マジメにやってる奴は血となり肉となるだろう。 ・・・1人だけで完結させちゃうのも良くないと思うんで、 誰かに宿題の質問をしたり、見せ合いをするのはいいと思う。
試験でその場で組ませればいいかもね 私は「マジメにやってる奴」だったわけだが その立場から言うと 人のを丸写しの人間とは理解度が違うわけで はっきり言ってそういう人間は相手にしてなかったですよ 学校の成績なんてどーでもいいし
ふむふむ。
まぁここで宿題にほいほい答えている奴が幼いってことはいえる
煽ってる、煽ってる 案外見てる人多いのだなぁ
採点する側だけど、丸写しした人と真面目にやった人くらい区別が付くし、 どうせクラスの半分くらいは変数名までまったく同じコードで提出してくるので、 ここで回答されても本質的に影響ないよ。
そりゃそーだ ここで丸投げするか友達のをコピーするかの違いでしかない
なんか、しつこいので、ループをif () gotoで組んで渡したことがある。 変数名、関数名はわざと意味を逆転させておいたり、意味を持たせなかったり。 素直なプログラム書いた後だったから、しんどかった。 俺は周りからバカだと思われていたに違いない。
Cで、今まで習ったことを使って自由にプログラムを作って来い とか言う課題で、変数+基本型付きの関数電卓(逆ポーランドつかったの)を出したことがある 正直あのときの自分はどうかしてたとおもう
gcc -ansiでコンパイルするとC++形式のコメントは弾かれる だからといって、C++形式のコメントを削除するプログラムを 2時間かけて250行書いた自分は正直バカだと思う
>>640 逆ポーランドの言語繋がりでforthを思い出した
適当に書いたら10行程度で出来るから楽で良いよねぇ
>>641 2時間かけてそれ以上の効果があればそれはそれで一応OK
>ここで丸投げするか友達のをコピーするかの違いでしかない 宿題って一体何なのだろ?
>>636 すまん、煽ってるつもりではなかった。
そう見えたなら謝る。
マジメに学習したい人の糧になるものだと思うぞ>644
>>641 250行かけたってところに才能を感じるね
>>647 250行は天才だよなぁ。
自分で試さずに言うのもなんなので、一回書いてみたけど27行だった。
650 :
641 :2006/02/11(土) 16:29:04
やっぱ、バカでつね・・・俺。
>>648 後学のために教えてくだい(;_;)
・・・C形式コメント内、文字列定数内、文字定数内に//があったら・・・とか考えてたらでっかくなっちゃいました。
そっか・・・10分の1でできるのか・・・orz
>>641 こんな感じ(1)
#include<stdio.h>
#include<stdlib.h>
int get(void){
int c=getchar();
if(c==EOF)exit(0);
return c;
}
int main(void){
int ch,c;
for(;;)
if((ch=get())=='\''||ch=='"')
for(putchar(ch);;){
putchar(c=get());
if(c=='\\')putchar(get());
else if(c==ch)break;
}
else if(ch!='/')putchar(ch); else if((ch=get())=='/'){ fputs(" ",stdout); while((ch=get())!='\n'&&ch!=EOF)putchar(' '); ungetc(ch,stdin); }else if(putchar('/'),ch=='*'){ putchar('*'); putchar(c=get()); putchar(ch=get()); while(c!='*' || ch!='/')c=ch,putchar(ch=get()); }else ungetc(ch,stdin); }
sedか。でも文字列リテラルにマッチする正規表現て難しくないか? "(.*?\\.)*.*?" これでいけるかな。
655 :
641 :2006/02/11(土) 16:58:20
なるほど・・・ようやく読み終わりました 手で最適化してますね・・・俺には難しいです 俺のは状態遷移表書いて、状態ごとに関数書いて、 switchで入力/アクション/次の状態って書いてるからでっかいんでしょうね・・・ 勉強になりました。ありがとうございました
>>651 "\"" や '\'' の類は大丈夫ですか?
>>654 失礼。そのレベルなら=文字列リテラルに対応しないなら、のつもりで書いた。
対応してるつもりなら…
658 :
651 :2006/02/11(土) 17:05:05
>>656 当然、対応してます。
\が来たら次の一文字は必ず終端でないのを利用して、1文字強制的に吐き出してます
>658 "表"
661 :
651 :2006/02/11(土) 17:20:17
>>659 ぬうぉっ!
マルチバイト文字があったか。
しかし、各種文字コードに対応するのは頭が痛くなりそう
>>659 我々のコードにはそんな破廉恥なコードはない。
ましてやCのコメントに//を(ry
宿題を頼みに来るレベルの人間がこの流れを読むと禅問答にしか見えないんだろうな……
665 :
デフォルトの名無しさん :2006/02/11(土) 19:43:00
667 :
デフォルトの名無しさん :2006/02/11(土) 19:50:10
構造体をつかうのだ わかったか
struct hoge{ hoge* piyo;}
669 :
デフォルトの名無しさん :2006/02/11(土) 20:04:43
ってかさ プログラム見たけど、エラーだらけっしょ どうやってうごいたん?
e2は定義されてないしこれで動く方が不思議で仕方がない
671 :
デフォルトの名無しさん :2006/02/11(土) 22:57:10
[1] 授業単元: C言語 [2] 問題文(含コード&リンク): 2次元平面上の3つの座標p1、p2、p3を頂点とする 3角形を考え、構造体triangleを以下のように定義する。 struct triangle { double p1[2]; double p2[2]; double p3[2]; }; 構造体triangleに対して、以下の関数を作成せよ。簡単な解説も書くこと。 int congruence (structure triangle *a, structure triangle *b) 三角形aと三角形bが合同かどうかを判定する、 合同なら1を合同でないなら0を返す。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: borland [3.3] 言語: C [4] 期限: 2月14日まで [5] その他の制限: 出来ましたら解説コメント付きでどうかお願いします。
672 :
デフォルトの名無しさん :2006/02/11(土) 23:24:19
>622さま。アドバイスありがとうございます。 アドバイスの中にあった >argument 構造体に A1, A2, A3 配列の要素数を保持するメンバを追加しましょう というくだりなのですが、配列の要素数を保持するメンバというのはどのように つくるのでしょうか? 構造体に格納されるメンバというのは、ポインタだけではないということなのでしょうか? ちょっと意味不明なことをいってしまっていると思うのですが、もう一度ご助言いただけますでしょうか?
>>671 初心者に酷な問題だな。
double同士の比較は避けるべきであることに注意。
>>672 単純に・・・
/*引数構造体の型宣言*/
struct argument{
/*入力用データテーブルのポインタ*/
int *pa1;
int a1_elems; /* 配列A1の要素数 */
(以下省略)
これで、奇数と偶数を振り分ける関数内で、配列A1~A3の
要素数がわかるでしょ。
もう少し頭の中で整理してからプログラミングした方がいいかもね。
なんか、パッと見でバグがあるし・・・頑張って。
>>675 さんどうもです。
前スレ読んでみましたがどれも動かないです。
678 :
デフォルトの名無しさん :2006/02/12(日) 00:30:05
>676さま。アドバイスありがとうございます!!
>> 671 前スレであったのは知ってるけど、書いてみた。 #include <stdio.h> #include <math.h> #define EPS 1.0e-7 // 辺の長さの差がEPS以下なら等しいと認めるキャパ。 struct triangle { double p1[2], p2[2], p3[2]; }; int congruence( struct triangle *a, struct triangle *b ) { double al[3], bl[3]; // それぞれの3角形の3辺の長さを求める。 al[0]=sqrt((a->p1[0]-a->p2[0])*(a->p1[0]-a->p2[0])+(a->p1[1]-a->p2[1])*(a->p1[1]-a->p2[1])); al[1]=sqrt((a->p2[0]-a->p3[0])*(a->p2[0]-a->p3[0])+(a->p2[1]-a->p3[1])*(a->p2[1]-a->p3[1])); al[2]=sqrt((a->p3[0]-a->p1[0])*(a->p3[0]-a->p1[0])+(a->p3[1]-a->p1[1])*(a->p3[1]-a->p1[1])); bl[0]=sqrt((b->p1[0]-b->p2[0])*(b->p1[0]-b->p2[0])+(b->p1[1]-b->p2[1])*(b->p1[1]-b->p2[1])); bl[1]=sqrt((b->p2[0]-b->p3[0])*(b->p2[0]-b->p3[0])+(b->p2[1]-b->p3[1])*(b->p2[1]-b->p3[1])); bl[2]=sqrt((b->p3[0]-b->p1[0])*(b->p3[0]-b->p1[0])+(b->p3[1]-b->p1[1])*(b->p3[1]-b->p1[1])); if(al[0]>al[1]){al[1]-=al[0]; al[0]-=al[1]; al[1]-=al[0];} // 全体ではal[0]<=al[1]<=al[2]となるように if(al[1]>al[2]){al[2]-=al[1]; al[1]-=al[2]; al[2]-=al[1];} // している。各行は3辺についてバブルソート。 if(al[0]>al[1]){al[1]-=al[0]; al[0]-=al[1]; al[1]-=al[0];} // {} の中では入れ替え作業。分かりにくいけど。 if(bl[0]>bl[1]){bl[1]-=bl[0]; bl[0]-=bl[1]; bl[1]-=bl[0];} if(bl[1]>bl[2]){bl[2]-=bl[1]; bl[1]-=bl[2]; bl[2]-=bl[1];} if(bl[0]>bl[1]){bl[1]-=bl[0]; bl[0]-=bl[1]; bl[1]-=bl[0];} // 3辺等しいなら合同と判断。等しいという判定を==で行うと危険 if(fabs(al[0]-bl[0])<EPS && fabs(al[1]-bl[1])<EPS && fabs(al[2]-bl[2]))return 1; return 0; // 合同ではなかった。 } int main(void) { ……… } // ここは自分で適当に書いてくれ。
うーん、夢見が…
681 :
679 :2006/02/12(日) 01:17:31
>>671 再
バグを発見したので一部訂正。
まぁこの変更を加える前も後もコンパイラ通してないから他のバグがあるかもしれんけど。
if(fabs(al[0]-bl[0])<EPS && fabs(al[1]-bl[1])<EPS && fabs(al[2]-bl[2])<EPS)return 1; // 3つ目の判定に<EPSが無かった
マクロ関数使った方がバグが減る予感のする良い事例ですね
頭がクラクラするな
>>671 #include <math.h>
#include <float.h>
int dequal(double a, double b) {
/* aとbの差がDBL_EPSILONより小さければ等しいとみなす */
if (fabs(a - b) < DBL_EPSILON) return 1;
else return 0;
}
double length(double a[2], double b[2]) {
/* 2点間の距離の公式 */
return sqrt(pow(a[0] - b[0], 2) + pow(a[1] - b[1], 2));
}
int congruence (struct triangle *a, struct triangle *b) {
double t1[3], t2[3];
t1[0] = length(a->p1, a->p2); t1[1] = length(a->p2, a->p3); t1[2] = length(a->p3, a->p1);
t2[0] = length(b->p1, b->p2); t2[1] = length(b->p2, b->p3); t2[2] = length(b->p3, b->p1);
/* 3辺が等しければ合同 */
if (dequal(t1[0], t2[0]) && (dequal(t1[1], t2[1]) && dequal(t1[2], t2[2]) || dequal(t1[1], t2[2]) && dequal(t1[2], t2[1])) ||
dequal(t1[0], t2[1]) && (dequal(t1[1], t2[0]) && dequal(t1[2], t2[2]) || dequal(t1[1], t2[2]) && dequal(t1[2], t2[0])) ||
dequal(t1[0], t2[2]) && (dequal(t1[1], t2[0]) && dequal(t1[2], t2[1]) || dequal(t1[1], t2[1]) && dequal(t1[2], t2[0])))
return 1;
else
return 0;
}
>>679 浮動小数点の比較って
if ((fabs(a - b) <= EPS * abs(a)) || (fabs(a - b) <= EPS * abs(b)))
{
// 等しい
}
を使ってた・・・しかも業務で・・・
確か「||」を「&&」で、厳しい等価評価になったような?
686 :
679 :2006/02/12(日) 01:45:03
>>685 あなたの使ってるのは相対誤差評価。効果は高い。私が使ったのは絶対誤差。簡易版。
わかんねーけど、入力の幅によるんじゃねぇのか? 判断の仕方って。
それよりも
>>679 のバブルソート部分が気になる濡れ
丸められて値が変わる場合ってないかと余計な心配してみる
swapと、sortと、distanceは別関数にしたほうがよろしかろう。
>>679 そのスワップの方法を見るの何年ぶりだろ・・・
昔PC98でゲーム開発してたとき、スタックが足りなくなって使ってたな。
でも、微妙に間違ってね?
if(al[0]>al[1]){al[1]-=al[0]; al[0]-=al[1]; al[1]-=al[0];}
↓
if(al[0]>al[1]){al[1]-=al[0]; al[0]+=al[1]; al[1] = al[0] - al[1];}
あと
>>686 が言うように、誤差が発生するから
>>684 のようにした方がいいかもね。
3個から2個を選んで比較するパターンは6通りなんだし。
691 :
690 :2006/02/12(日) 03:11:53
ごめん。
「3個から2個を選んで」じゃなくて「3個の順列」でした。
あと
>>684 なんだけど
if (dequal(t1[0], t2[0]) && (dequal(t1[1], t2[1]) && dequal(t1[2], t2[2])
|| dequal(t1[1], t2[2]) && dequal(t1[2], t2[1]))
は
if (dequal(t1[0], t2[0]) && (dequal(t1[1], t2[1]) && dequal(t1[2], t2[2])
|| dequal(t1[0], t2[0]) && dequal(t1[1], t2[2]) && dequal(t1[2], t2[1]))
としなくてもいいの?
t1[3] = { a, x, y }
t2[3] = { b, y, x }
の場合に、偽なのに真になっちゃうよね。
>>691 括弧の対応が分かりにくいけど(位置合わせの関係上、意図的に全角スペース入れてます)
if (dequal(t1[0], t2[0]) && ( dequal(t1[1], t2[1]) && dequal(t1[2], t2[2])
|| dequal(t1[1], t2[2]) && dequal(t1[2], t2[1]) )
という事なのでOKなのでは?
693 :
690 :2006/02/12(日) 09:49:34
スレ違いかどうか微妙なんですが、 c:\mydocument\上のファイルのファイル名を全て(サブフォルダ含) 配列char ch[]に格納させ、fopenするる関数fを作成せよ。ただしOSはWindowsXPとする は、どのようにすれば良いでしょうか。誰かお願いしますorz
>>694 Win32APIの出番だな
APIだけ分かればその後自力でできるんならAPIスレ
全部やって欲しいならここ
>>694 まだAPIやり始めたばっかでよく分からないが勉強かねて調べてみた
FindFirstFile()
おそらくこれがおまいさんの意にかなうAPI関数だ
699 :
694 :2006/02/12(日) 18:37:14
>>697 struct LPWIN32_FIND_DATA hoge;
bool hogehoge
:
hogehoge = FindFirstFile(c:\mydocumet\*.*, hoge);
:
こんな感じでよろしいでしょうか。
聞く前に試せよ、重い通りに動かなければ違ってる。
MSDNにサンプルなかったっけか?
思いっきりサンプル付いてるな
>>699 ついでだから言っておいてやると、パス名の\は\\
何故かは自分で考えろ
それにLPWIN32_FIND_DATAにstructは不要だし
LPの意味が分かってない。ハンガリアン記法が無駄
最後のワイルドカードは*.*じゃなくて*で可
703 :
694 :2006/02/12(日) 18:52:21
あ、あれ?いつの間にかWIN SDKの宿題になってる 珍しいこともあるもんだ やっぱりあれかな、system("dir /b >> hoge.txt");とかやって、 hoge.txtからファイル名読み取ったりしたらだめなのかな
>>704 ファイルとディレクトリの区別はどうやるよ?
>705 dir /B /S あたりで。
確実にfindfirstfile()とfindnextfile()とfindclose()使った方が 普通
というかfindfirstfile()すらネタです
710 :
デフォルトの名無しさん :2006/02/13(月) 01:15:54
[1] 授業単元:プログラミング [2] 問題文: N個の英単語の要素からなる配列を,文字列の頭文字を読み取って, a~z順に並べ替え表示するプログラムを作りなさい (ただし、2文字目以降は気にしなくてよい) [3] 環境 [3.1] OS: Linux [3.2] gcc [3.3] 言語: C [4] 期限: 2006年2月14日まで [5] その他の制限: 文字列を読み込むのに、fgets(), sscanf(); を用いること。 なにとぞお手柔らかにお願いします
自分のやれる所までやって、依頼する奴。 手も付けずに、最初から丸投げする奴。
>>710 その制限は制限になってないとおもうんだが・・
元のファイルとか存在しないんだろ?
>>712 文字列の読み込みに全然知らないコマンドを使われると困るので・・・
勝手に付けた条件か? 自分で宿題すらできないレベルなのに?
>>710 のもっとも愚かなところは
>なにとぞお手柔らかにお願いします
などと書いてしまったことだな
叩いてくれと言わんばかりだ
718 :
710 :2006/02/13(月) 01:39:39
ゴメン、カスは相手にしてないからwwwww
>>719 ごめんなさい、日本語も読めないならもういいです
[1] 授業単元:プログラミング [2] 問題文: N個の英単語の要素からなる配列を,文字列の頭文字を読み取って, a~z順に並べ替え表示するプログラムを作りなさい (ただし、2文字目以降は気にしなくてよい) [3] 環境 [3.1] OS: Linux [3.2] gcc [3.3] 言語: C [4] 期限: 2006年2月14日まで
[1] 授業単元:プログラミング [2] 問題文: N個の英単語の要素からなる配列を,文字列の頭文字を読み取って, a~z順に並べ替え表示するプログラムを作りなさい (ただし、2文字目以降は気にしなくてよい) [3] 環境 [3.1] OS: Linux [3.2] gcc [3.3] 言語: C
[5] その他の制限: 文字列を読み込むのに、fgets(), sscanf(); を用いること。
馬鹿にするならもういいです!他のスレで聞きます。
たぶん、
>>710 は解こうともしなかったのでは?
問題の内容が不十分だったり理解できないと、こちらとしては
答えることができない。
人に質問するときは何がわからないかをハッキリさせてから聞くべき。
これができないと社会人になってから苦労するよ。
ちなみに、問題としてその情報しか無いのならば
俺は出題者に「入力データ」はどういった形式なのかと
fgets()、sscanf()を用いなければならない意図を聞くけどね。
>>726 う~ん・・・問題文は元々これだけですので、
この問題文の意味を理解できないというのならばあなたの脳が腐ってるんでしょうね
あと、fgets()、sscanf() を用いなければ「ならない」というところが私には理解できませんね~
>>1 に「どこまで習っているか」と書いてあるので、私はそれを用いて「欲しい」と言ってるんですよ
あなたのもうひとつの質問に答えるとすれば、入力データは個々の自由です
>「どこまで習っているか」と書いてあるので、私はそれを用いて「欲しい」と言ってるんですよ ワロタ
なにをどう言おうとこんなクソ質問をするヤツがちんかす野郎であることはもはや周知の事実
別にいいんです。屑になんと言われようと気にしませんから 解ける人ならそんなこと書いてる暇あれば答え出せますからw
[1] 授業単元:プログラミング [2] 問題文: N個の英単語の要素からなる配列を,文字列の頭文字を読み取って, a~z順に並べ替え表示するプログラムを作りなさい (ただし、2文字目以降は気にしなくてよい) 〈 実行例 〉N = 3 のとき, Word? trash Word? dust Word? fool dust fool trash [3] 環境 [3.1] OS: Linux [3.2] gcc [3.3] 言語: C [4] 期限: 2006年2月14日まで
ネタを提供してくれるなら、トリップつけれ、 偽者なのか、真性なのかわからん。
>>728 お前が出題者なら帰れ
そうでないなら出題者に謝れもう誰もやらない
┏┓┏━━┓ ! i レ1.,' / .i ./ i / ,..<__ .il i ! ! ', ┏━┓ ┏┛┗┫┏┓┃ .i l ! レi フー-.、 レ ' _,.ィ/⌒i;;;;;',ヽil | |- 、 ',.....┃ ┃ ┗┓┏┫┗┛┃┏ .| i li/ //i⌒i;;ヽ ヘr';;;;;;;;;;l } | | i .} .i . ┃ ┃ ┏┛┗..,. -‐‐ 、__┃ .| l |ヽ i| 'r';;;;;;;! ',;::::::::ノ_ .! ! | ./ .! ┃ ┃ ┗┓┏,' ´ ,,,... ヽ_ .! | ! ヽ ヽ:::::!  ̄ ̄´ l l iノ |i l. .┗━┛ ┃ ,' - ヽ l l ゝ,ヽ ` ̄´ 、 .ノ ! .! i ', .| .┏━┓ ┗ ,' ,..、 | | | `.\ _,,..- ' ,ィ' i l ! i,.--<`ヽ、┃ ,' ,ヘ__ノ .i | _,. -- ,` 、 ,. ' !l / ,'i /´~`` ` , ヽ | / i ! l / ヽ i `>- '" .|i,'. ,'-‐/´`` ` i .l l ノ | li | / /入<j ィi' ./ .t_ー, | ', レ^ヽ .レ' ヽ ! l ,' , ' ' ` ``ー-‐ '"// , ' , `} ! ', / /r‐if´.l .〉、ヽi,'/ ,. -- ..,,_ _//, ' l / , ' l i
________ ノ`-、_,-一ー- ,_ _____________ _) r'´ ,____ `★、 ___ /^'~/フ´,r--、`、``'ヽ、`、 l i /, ______ ━━━━/ .}i {;;;;;;;;;;} .}:::u::r´`}、i|州|i/ム'__,,━━━━ ┏┓ ┏━━┓ / U ,!{ ゝ;__ノ ,ノ:::::::{ r^ヽ}` "=三__ ┏━┓ ┏┛┗┓┃┏┓┃ / i::::゙ミ、___,,ノ::::u::::! !;;;;} !, 、ミミ、、 ┃ ┃ ┗┓┏┛┃┗┛┃┏━,/ ,!i_j:::::::::::::::::::::::::::::::`、`´ノ`、'ミミ、,━━━━┓┃ ┃ ┏┛┗┓┃┏┓┃┃ / ,!:::::::u::::U:::::__:::::::::::::`´! i` `' ┃┃ ┃ ┗┓┏┛┗┛┃┃┗・{ メ-一ー-ー'T´ `>、:::::;ノ |━━━━━━┛┗━┛ ┃┃ ┃┃ _`、 ノ `>、, `ー--'´ _,,>. v. .|_______ ┏━┓ ┗┛ ──┗┛ ── '`-''´,r' ̄;r'/`ー-、__,,-'´ _ノ _,ノ───── ┗━┛ ────────────/::::::/ / __ノヽ_`ト=ニ-一''´──────
// /_,. -;=''" _, // '-'"`" -‐ニ‐"___=__--- :/レ ____-__-_ /`''-w´ヽ ,√"´\ /`''-w´ヽ ,√"´\ O /`''-w´ヽ , .,/′ /⌒ヽ : ̄ ̄0 ̄/ ̄ ̄ ̄ ̄oヾ  ̄ ̄ ̄`゛ ̄ ̄ ̄/ ̄○ ̄ ̄ ヾ  ̄ ̄`゛ ̄ ̄ ̄/ ̄ ; i:::″⊂二(^ω^ )二二二⊃; それじゃ、逝ってくるブーン .....................0..〈................................〉...。........... .!::^: 丶、 | _ _................/...............................\............................./................................\......................./......... .!::^: ヽノ ) _ _ ,/´O ゚ ○ ゙`'i、 ,/´ o O ゙`'i、 ,/´ 0 i:: :: : ヽ くヽ _-__ o ヾ _ , O / ヾ _ ○/ ヾ _ , ヽ ヾ ヽ`JJ 三__ ̄ ̄ ̄`ヽ、_,/ ̄ ̄ヾ_/ ̄ ̄ ヾ '' ゚̄  ̄ ̄`ヽ/ ̄ ̄ ̄ ̄ ̄ ̄ ヾ ''  ̄ ヾ\\: \,. -;=''" _,.-;-\ \ ̄ノ . \ |\ :: |i''-'"`" -_ヾ______\_ソ′‘ ・. ’、
==、,-、 、ヽ、 \> ,, '''\ _ メ゙ヽ、\ ̄""" ̄--‐ 、 \ /ゝ、\ =─‐\\‐ /─'''''ニ二\''' |レレゝゝ、\  ̄く<<く >, ゙、/<三三二\ ̄\ゝゝゝゝゝゞ''ヽ、 / ̄ ̄ ̄ ̄ ̄ <<<<〈__入 ゙、く彡三三三二ヽくゝ\メメメゝ、_ゝ、\ | さあ質問を言え くく<<<<<< ゙、 ゙、ミ三三二ニ─ゝゝゝゝゝ,,,,,,,、 '( ゙''ヽ、ヽ、 < どんな質問も何度でも くくくくくく彡‐ヽ ゙、ミ三三二ニ'''くくゝゝ_ゝゝ、\\_,>」ノ, | スルーしてやろう・・・ く く く く く 彡゙、゙、三三二ニ‐くゝ、/ ,,,,,,,,メメゝヽ''''"ゝゞ丶、 \_____ 二─二二彡彡、゙、三三二==くメゝ/ ゙'ヽ、メゝゝゝゝゝゝゞ''ヽ-、,,,,,,_ ‐'''" ̄ \彡彡ミ、゙、三二=''"く<メ/:: \''-、メメゝゝゝ_ゝ 、 ,,、ヽヽ 、 ,,,,- ゙彡//ヾ、三二= くゝ/:::.... \>∠レ-,-‐ニ二メヽ''ヽ ノ ゙ヽ、,,,-‐//_///,,、゙、三二= ゙、 ""''' ヽ>//レレヽ,,___ / -,,,,,,-‐'''"""/////,,ヽ ゙、三二─ ゙ヽ. //-ヘヘ,、 レレレレノ ''" ,l|"////ノ,、\彡'''''‐-ニ,、 ::::::::::,,,,,,,,// ゙ヽフ/|/| レ' /ゝ、/ヽ|ヽレ,,゙ヽ、゙''ヽ、,,,,,,_ヽ''ニ='',,-'"、─-,,,,,_  ̄"'ノ /メ / レ/,''"へへべ''─---- ̄-メヽ"ゝゞゝヽ、 >---''" /ヘヘ、|//ヘヘヘヘヘヘヘヘ,,-イ ̄ | ̄"'''-ニニニ二-''" /ヘヘ∧/./フヘヘヘヘヘヘヘ,/イ / / / ゙ノ\、\ /ゝゝ| / /メヘヘヘヘヘヘ/'" | / / / / \\ /ゝ /|‐/ /フヘへヘヘヘ/∧ /-'"-'''"__,,-''" / /、\ //|_| /./へへへヘヘ、// |/ \_,,,,-‐'" / ゙、.゙、 '"/ヽ"/'"へへヘヘヘヘ// ノ \ ,,,,-‐'" ゙、゙、 .ノ //へへヘヘヘヘ//ヽ ./ ゙、''"" ,,/、゙、 /-"へへヘヘヘヘヘ// |‐" \_,,,,,,,,-‐'''" | | へへへへヘヘヘヘ//ヽ ノ ゙, | |
>>739 PROMISEっておもしろいんですか?
==、,-、 、ヽ、 \> ,, '''\ _ メ゙ヽ、\ ̄""" ̄--‐ 、 \ /ゝ、\ =─‐\\‐ /─'''''ニ二\''' |レレゝゝ、\  ̄く<<く >, ゙、/<三三二\ ̄\ゝゝゝゝゝゞ''ヽ、 / ̄ ̄ ̄ ̄ ̄ <<<<〈__入 ゙、く彡三三三二ヽくゝ\メメメゝ、_ゝ、\ | くく<<<<<< ゙、 ゙、ミ三三二ニ─ゝゝゝゝゝ,,,,,,,、 '( ゙''ヽ、ヽ、 ス ル ー くくくくくく彡‐ヽ ゙、ミ三三二ニ'''くくゝゝ_ゝゝ、\\_,>」ノ, | く く く く く 彡゙、゙、三三二ニ‐くゝ、/ ,,,,,,,,メメゝヽ''''"ゝゞ丶、 \_____ 二─二二彡彡、゙、三三二==くメゝ/ ゙'ヽ、メゝゝゝゝゝゝゞ''ヽ-、,,,,,,_ ‐'''" ̄ \彡彡ミ、゙、三二=''"く<メ/:: \''-、メメゝゝゝ_ゝ 、 ,,、ヽヽ 、 ,,,,- ゙彡//ヾ、三二= くゝ/:::.... \>∠レ-,-‐ニ二メヽ''ヽ ノ ゙ヽ、,,,-‐//_///,,、゙、三二= ゙、 ""''' ヽ>//レレヽ,,___ / -,,,,,,-‐'''"""/////,,ヽ ゙、三二─ ゙ヽ. //-ヘヘ,、 レレレレノ ''" ,l|"////ノ,、\彡'''''‐-ニ,、 ::::::::::,,,,,,,,// ゙ヽフ/|/| レ' /ゝ、/ヽ|ヽレ,,゙ヽ、゙''ヽ、,,,,,,_ヽ''ニ='',,-'"、─-,,,,,_  ̄"'ノ /メ / レ/,''"へへべ''─---- ̄-メヽ"ゝゞゝヽ、 >---''" /ヘヘ、|//ヘヘヘヘヘヘヘヘ,,-イ ̄ | ̄"'''-ニニニ二-''" /ヘヘ∧/./フヘヘヘヘヘヘヘ,/イ / / / ゙ノ\、\ /ゝゝ| / /メヘヘヘヘヘヘ/'" | / / / / \\ /ゝ /|‐/ /フヘへヘヘヘ/∧ /-'"-'''"__,,-''" / /、\ //|_| /./へへへヘヘ、// |/ \_,,,,-‐'" / ゙、.゙、 '"/ヽ"/'"へへヘヘヘヘ// ノ \ ,,,,-‐'" ゙、゙、 .ノ //へへヘヘヘヘ//ヽ ./ ゙、''"" ,,/、゙、 /-"へへヘヘヘヘヘ// |‐" \_,,,,,,,,-‐'''" | | へへへへヘヘヘヘ//ヽ ノ ゙, | |
==、,-、 、ヽ、 \> ,, '''\ _ メ゙ヽ、\ ̄""" ̄--‐ 、 \ /ゝ、\ =─‐\\‐ /─'''''ニ二\''' |レレゝゝ、\  ̄く<<く >, ゙、/<三三二\ ̄\ゝゝゝゝゝゞ''ヽ、 / ̄ ̄ ̄ ̄ ̄ <<<<〈__入 ゙、く彡三三三二ヽくゝ\メメメゝ、_ゝ、\ | くく<<<<<< ゙、 ゙、ミ三三二ニ─ゝゝゝゝゝ,,,,,,,、 '( ゙''ヽ、ヽ、 < ス ル ー くくくくくく彡‐ヽ ゙、ミ三三二ニ'''くくゝゝ_ゝゝ、\\_,>」ノ, | く く く く く 彡゙、゙、三三二ニ‐くゝ、/ ,,,,,,,,メメゝヽ''''"ゝゞ丶、 \_____ 二─二二彡彡、゙、三三二==くメゝ/ ゙'ヽ、メゝゝゝゝゝゝゞ''ヽ-、,,,,,,_ ‐'''" ̄ \彡彡ミ、゙、三二=''"く<メ/:: \''-、メメゝゝゝ_ゝ 、 ,,、ヽヽ 、 ,,,,- ゙彡//ヾ、三二= くゝ/:::.... \>∠レ-,-‐ニ二メヽ''ヽ ノ ゙ヽ、,,,-‐//_///,,、゙、三二= ゙、 ""''' ヽ>//レレヽ,,___ / -,,,,,,-‐'''"""/////,,ヽ ゙、三二─ ゙ヽ. //-ヘヘ,、 レレレレノ ''" ,l|"////ノ,、\彡'''''‐-ニ,、 ::::::::::,,,,,,,,// ゙ヽフ/|/| レ' /ゝ、/ヽ|ヽレ,,゙ヽ、゙''ヽ、,,,,,,_ヽ''ニ='',,-'"、─-,,,,,_  ̄"'ノ /メ / レ/,''"へへべ''─---- ̄-メヽ"ゝゞゝヽ、 >---''" /ヘヘ、|//ヘヘヘヘヘヘヘヘ,,-イ ̄ | ̄"'''-ニニニ二-''" /ヘヘ∧/./フヘヘヘヘヘヘヘ,/イ / / / ゙ノ\、\ /ゝゝ| / /メヘヘヘヘヘヘ/'" | / / / / \\ /ゝ /|‐/ /フヘへヘヘヘ/∧ /-'"-'''"__,,-''" / /、\ //|_| /./へへへヘヘ、// |/ \_,,,,-‐'" / ゙、.゙、 '"/ヽ"/'"へへヘヘヘヘ// ノ \ ,,,,-‐'" ゙、゙、 .ノ //へへヘヘヘヘ//ヽ ./ ゙、''"" ,,/、゙、 /-"へへヘヘヘヘヘ// |‐" \_,,,,,,,,-‐'''" | | へへへへヘヘヘヘ//ヽ ノ ゙, | |
==、,-、 、ヽ、 \> ,, '''\ _ メ゙ヽ、\ ̄""" ̄--‐ 、 \ /ゝ、\ =─‐\\‐ /─'''''ニ二\''' |レレゝゝ、\  ̄く<<く >, ゙、/<三三二\ ̄\ゝゝゝゝゝゞ''ヽ、 / ̄ ̄ ̄ ̄ ̄ <<<<〈__入 ゙、く彡三三三二ヽくゝ\メメメゝ、_ゝ、\ | くく<<<<<< ゙、 ゙、ミ三三二ニ─ゝゝゝゝゝ,,,,,,,、 '( ゙''ヽ、ヽ、 < 早稲田マンセー くくくくくく彡‐ヽ ゙、ミ三三二ニ'''くくゝゝ_ゝゝ、\\_,>」ノ, | く く く く く 彡゙、゙、三三二ニ‐くゝ、/ ,,,,,,,,メメゝヽ''''"ゝゞ丶、 \_____ 二─二二彡彡、゙、三三二==くメゝ/ ゙'ヽ、メゝゝゝゝゝゝゞ''ヽ-、,,,,,,_ ‐'''" ̄ \彡彡ミ、゙、三二=''"く<メ/:: \''-、メメゝゝゝ_ゝ 、 ,,、ヽヽ 、 ,,,,- ゙彡//ヾ、三二= くゝ/:::.... \>∠レ-,-‐ニ二メヽ''ヽ ノ ゙ヽ、,,,-‐//_///,,、゙、三二= ゙、 ""''' ヽ>//レレヽ,,___ / -,,,,,,-‐'''"""/////,,ヽ ゙、三二─ ゙ヽ. //-ヘヘ,、 レレレレノ ''" ,l|"////ノ,、\彡'''''‐-ニ,、 ::::::::::,,,,,,,,// ゙ヽフ/|/| レ' /ゝ、/ヽ|ヽレ,,゙ヽ、゙''ヽ、,,,,,,_ヽ''ニ='',,-'"、─-,,,,,_  ̄"'ノ /メ / レ/,''"へへべ''─---- ̄-メヽ"ゝゞゝヽ、 >---''" /ヘヘ、|//ヘヘヘヘヘヘヘヘ,,-イ ̄ | ̄"'''-ニニニ二-''" /ヘヘ∧/./フヘヘヘヘヘヘヘ,/イ / / / ゙ノ\、\ /ゝゝ| / /メヘヘヘヘヘヘ/'" | / / / / \\ /ゝ /|‐/ /フヘへヘヘヘ/∧ /-'"-'''"__,,-''" / /、\ //|_| /./へへへヘヘ、// |/ \_,,,,-‐'" / ゙、.゙、 '"/ヽ"/'"へへヘヘヘヘ// ノ \ ,,,,-‐'" ゙、゙、 .ノ //へへヘヘヘヘ//ヽ ./ ゙、''"" ,,/、゙、 /-"へへヘヘヘヘヘ// |‐" \_,,,,,,,,-‐'''" | | へへへへヘヘヘヘ//ヽ ノ ゙, | |
[1] 授業単元:プログラミング演習 [2] 問題文: 正の整数 1~3999 のいずれかを入力して、ローマ数字による表記で出力するプログラムを作成せよ。 ただし、 I(1) V(5) X(10) L(50) C (100) D(500) M(1000) を使って表すものとする。 ( 例 ) 45...XLV 3999...MMMCMXCIX [3] 環境 [3.1] OS: Linux [3.2] gcc [3.3] 言語: C [4] 期限: 2006年2月16日まで
またか
それ前にやっただろ 神龍の如くスルー
[1] 授業単元:プログラミングB [2] 問題文: 30人の生徒の身長データを読み込み, 5cm刻みの頻度数と, それを棒グラフ(横向き)に表したものを表示するプログラムを作りなさい。 ( 例 ) 150..155 6 :****** 155..160 13 :************* 160..165 11 :*********** [3] 環境 [3.1] OS: Linux [3.2] gcc [3.3] 言語: C [4] 期限: 2006年2月15日まで
==、,-、 、ヽ、 \> ,, '''\ _ メ゙ヽ、\ ̄""" ̄--‐ 、 \ /ゝ、\ =─‐\\‐ /─'''''ニ二\''' |レレゝゝ、\  ̄く<<く >, ゙、/<三三二\ ̄\ゝゝゝゝゝゞ''ヽ、 / ̄ ̄ ̄ ̄ ̄ <<<<〈__入 ゙、く彡三三三二ヽくゝ\メメメゝ、_ゝ、\ | くく<<<<<< ゙、 ゙、ミ三三二ニ─ゝゝゝゝゝ,,,,,,,、 '( ゙''ヽ、ヽ、 < ス ル ー くくくくくく彡‐ヽ ゙、ミ三三二ニ'''くくゝゝ_ゝゝ、\\_,>」ノ, | く く く く く 彡゙、゙、三三二ニ‐くゝ、/ ,,,,,,,,メメゝヽ''''"ゝゞ丶、 \_____ 二─二二彡彡、゙、三三二==くメゝ/ ゙'ヽ、メゝゝゝゝゝゝゞ''ヽ-、,,,,,,_ ‐'''" ̄ \彡彡ミ、゙、三二=''"く<メ/:: \''-、メメゝゝゝ_ゝ 、 ,,、ヽヽ 、 ,,,,- ゙彡//ヾ、三二= くゝ/:::.... \>∠レ-,-‐ニ二メヽ''ヽ ノ ゙ヽ、,,,-‐//_///,,、゙、三二= ゙、 ""''' ヽ>//レレヽ,,___ / -,,,,,,-‐'''"""/////,,ヽ ゙、三二─ ゙ヽ. //-ヘヘ,、 レレレレノ ''" ,l|"////ノ,、\彡'''''‐-ニ,、 ::::::::::,,,,,,,,// ゙ヽフ/|/| レ' /ゝ、/ヽ|ヽレ,,゙ヽ、゙''ヽ、,,,,,,_ヽ''ニ='',,-'"、─-,,,,,_  ̄"'ノ /メ / レ/,''"へへべ''─---- ̄-メヽ"ゝゞゝヽ、 >---''" /ヘヘ、|//ヘヘヘヘヘヘヘヘ,,-イ ̄ | ̄"'''-ニニニ二-''" /ヘヘ∧/./フヘヘヘヘヘヘヘ,/イ / / / ゙ノ\、\ /ゝゝ| / /メヘヘヘヘヘヘ/'" | / / / / \\ /ゝ /|‐/ /フヘへヘヘヘ/∧ /-'"-'''"__,,-''" / /、\ //|_| /./へへへヘヘ、// |/ \_,,,,-‐'" / ゙、.゙、 '"/ヽ"/'"へへヘヘヘヘ// ノ \ ,,,,-‐'" ゙、゙、 .ノ //へへヘヘヘヘ//ヽ ./ ゙、''"" ,,/、゙、 /-"へへヘヘヘヘヘ// |‐" \_,,,,,,,,-‐'''" | | へへへへヘヘヘヘ//ヽ ノ ゙, | |
==、,-、 、ヽ、 \> ,, '''\ _ メ゙ヽ、\ ̄""" ̄--‐ 、 \ /ゝ、\ =─‐\\‐ /─'''''ニ二\''' |レレゝゝ、\  ̄く<<く >, ゙、/<三三二\ ̄\ゝゝゝゝゝゞ''ヽ、 / ̄ ̄ ̄ ̄ ̄ <<<<〈__入 ゙、く彡三三三二ヽくゝ\メメメゝ、_ゝ、\ | くく<<<<<< ゙、 ゙、ミ三三二ニ─ゝゝゝゝゝ,,,,,,,、 '( ゙''ヽ、ヽ、 < ス ル ー くくくくくく彡‐ヽ ゙、ミ三三二ニ'''くくゝゝ_ゝゝ、\\_,>」ノ, | く く く く く 彡゙、゙、三三二ニ‐くゝ、/ ,,,,,,,,メメゝヽ''''"ゝゞ丶、 \_____ 二─二二彡彡、゙、三三二==くメゝ/ ゙'ヽ、メゝゝゝゝゝゝゞ''ヽ-、,,,,,,_ ‐'''" ̄ \彡彡ミ、゙、三二=''"く<メ/:: \''-、メメゝゝゝ_ゝ 、 ,,、ヽヽ 、 ,,,,- ゙彡//ヾ、三二= くゝ/:::.... \>∠レ-,-‐ニ二メヽ''ヽ ノ ゙ヽ、,,,-‐//_///,,、゙、三二= ゙、 ""''' ヽ>//レレヽ,,___ / -,,,,,,-‐'''"""/////,,ヽ ゙、三二─ ゙ヽ. //-ヘヘ,、 レレレレノ ''" ,l|"////ノ,、\彡'''''‐-ニ,、 ::::::::::,,,,,,,,// ゙ヽフ/|/| レ' /ゝ、/ヽ|ヽレ,,゙ヽ、゙''ヽ、,,,,,,_ヽ''ニ='',,-'"、─-,,,,,_  ̄"'ノ /メ / レ/,''"へへべ''─---- ̄-メヽ"ゝゞゝヽ、 >---''" /ヘヘ、|//ヘヘヘヘヘヘヘヘ,,-イ ̄ | ̄"'''-ニニニ二-''" /ヘヘ∧/./フヘヘヘヘヘヘヘ,/イ / / / ゙ノ\、\ /ゝゝ| / /メヘヘヘヘヘヘ/'" | / / / / \\ /ゝ /|‐/ /フヘへヘヘヘ/∧ /-'"-'''"__,,-''" / /、\ //|_| /./へへへヘヘ、// |/ \_,,,,-‐'" / ゙、.゙、 '"/ヽ"/'"へへヘヘヘヘ// ノ \ ,,,,-‐'" ゙、゙、 .ノ //へへヘヘヘヘ//ヽ ./ ゙、''"" ,,/、゙、 /-"へへヘヘヘヘヘ// |‐" \_,,,,,,,,-‐'''" | | へへへへヘヘヘヘ//ヽ ノ ゙, | |
>>747 stdioをinclude
int num, i = 0;
int M, D, C, L, X, V, I;
char chg[30] = {0};
printf("num:"); scanf("%d", &num);
M = num/1000;
num %= 1000;
D = num/500;
num %= 500;
(C,L,X,V,Iについて同様)
while(M--)
chg[i++] = 'M';
if(D==1 && C==4) {
chg[i++] = 'C'; chg[i++] = 'M';
}
else if(D==0 && C==4) {
chg[i++] = 'C'; chg[i++] = 'D';
}
else {
while(D--) chg[i++] = 'D';
while(C--) chg[i++] = 'C';
}
(L==1&&X==4なら''X' 'C'、L==0&&X==4なら'X' 'L'、Lの数だけ'L'、Cの数だけ'C'
以下同様)
どっかにアラビア数字→ローマ数字の公式あんのかな?
>>710 ? Nは固定でやっておいた。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 3
int main(void)
{
char* str[N], tmp[1024];
int i, j, length;
for( i = 0 ; i < N ; i++ ) {
printf("Word? "); /* まずは入力 */
fgets(tmp, 1023, stdin);
length = strlen(tmp);
if( tmp[length - 1] == '\n' ) tmp[--length] = '\0';
str[i] = (char*)malloc(length + 1);
strcpy(str[i], tmp);
/* 並べ替え。挿入ソート風バブルソート? */
for( j = i ; j > 0 && str[j][0] < str[j - 1][0] ; j-- ) {
char* t = str[j]; str[j] = str[j - 1]; str[j - 1] = t;
}
}
for( i = 0 ; i < N ; i++ ) { /* 出力 */
if( i ) printf(" %s", str[i]); /* 先頭以外は前にスペースを入れる */
else printf("%s", str[i]); /* 先頭の場合はスペースを入れない */
free(str[i]);
}
puts("");
return 0;
}
ヘゝ__\_Y \\,.-、 ___ 彡\、/ニ二ニゝレヘ\__ | 巛巛ヽ彡三三く\メXy,=ミ:、 < 小さいの置いときますね 巛巛ヾヽミ三三ゝゝゝ ゞ-'゙ヽ | ニ‐ニ彡ヾ三三く>/⌒ヾミゝゝゝ`ー--、 ̄ ̄ -_,.彡ヘヘ三=ヾf;:,, \ ,-=〒'__ヾ} _ -'´~77∧ゝミ-_ゝ ...._〃'^^<klXN /Xレ公ゞー三=三彡ヘー--、_ソ /ヘ//へへヘヘィ'了`7ー-< /ヘ//ヘヘヘ/'"レ_ノ_ノ ノ ゙ヾ:、 /ソ//ヘヘヘ//レ´  ̄`ー、-''´ _,.ノヾ':, //ヘヘヘ/|/ ヾ''´ __,,.ノヘ ヘヘヘヘヘ/Y `}´ || \\_ :三ニ=:::::::ヽ :ヽ.ニ=::て.>廴_ スルー… 三.ヽ= (⌒ヽ;:;:;,.二) ニ=-ヽ:ヽ、,∠.^^ぅ 〃,べ= ̄ニ二 ̄ /;:ィリ ノノ ,.へヽ ;:ヘ/ ̄ ̄ ̄Vヽヽ ソ ├┤|
300ms以内に各キーを離すと、
w→wwに
s→ssに
a→aaに
d→ddと入力されて、
300ms以上だと
w→w
s→s
a→a
d→d
となる、ツールをC++でお願い致します。
尚、keybd_eventでは無くて、SendMessageでお願いします。
尚、サンプルですが、keybd_eventで作られたのは以下の感じです。
http://www.uploda.org/uporg311914.lzh.html pass:aiueo
それでは、宜しくお願いします。
お礼は手元にある、半端で500wmで良ければorz
期限はとくにありません。
スルー _,.。r' ゙てb cソ
竜の落とし子じゃねーかwwwwwwwwww
_,..-‐‐-..,,_ _,,.-‐‐-..,,, ,r':::::::::::::::::::::ヽ ,r':::::::::::::::::::::::ヽ /:::::::::::::::::::::::::::::ヽ ./::_;;;::;;;_::::::::::::::::;;l//-‐-‐;l;;::::::::::::::;;:-‐‐--:;;l l/~ ~ヽ::::::::::::::::::::::::::::::::::::::::::::;r'彡 l l ヾ/ :::::::::::::::::::::::::::::::::ヽ / ゝ /=-x、.,_ .;' : _,,.、=:''"ヽー _,,-'' ~'‐.,,,,,_l r'""゙゙゙゙~~Y_,,....,,i'"゙゙~~ ̄`゙l l ____________ l !, _,!.| ''!、 _j! ! / .l ゙゙"""~~ | ゙゙"~ ̄-─ト_ l l_,,,,,,_ (__人__ノ __,,,,,r':::::::l l ひざまつきたまえ、  ̄l_,,,. ヽ:::::::l ,r'~ ゝ;ノ < 君はラピュタ王の前にいるのだ -''ゝ、 ,,, ゝノ / l ''r':::ヽ / l ゝ;;ノ ヽ \ / 'l  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ l l ゝ ./ /^'‐-t''''^~ ̄ ̄~^''''t-‐^ヽ ~‐‐'~ ~'‐‐~
_,..-‐‐-..,,_ _,,.-‐‐-..,,, ,r':::::::::::::::::::::ヽ ,r':::::::::::::::::::::::ヽ /:::::::::::::::::::::::::::::ヽ ./::_;;;::;;;_::::::::::::::::;;l//-‐-‐;l;;::::::::::::::;;:-‐‐--:;;l l/~ ~ヽ::::::::::::::::::::::::::::::::::::::::::::;r'彡 l l ヾ/ :::::::::::::::::::::::::::::::::ヽ / ゝ /=-x、.,_ .;' : _,,.、=:''"ヽー _,,-'' ~'‐.,,,,,_l r'""゙゙゙゙~~Y_,,....,,i'"゙゙~~ ̄`゙l l ____________ l !, _,!.| ''!、 _j! ! / .l ゙゙"""~~ | ゙゙"~ ̄-─ト_ l l_,,,,,,_ (__人__ノ __,,,,,r':::::::l l ひざまつきたまえ、  ̄l_,,,. ヽ:::::::l ,r'~ ゝ;ノ < 君は( ピー )の前にいるのだ -''ゝ、 ,,, ゝノ / l ''r':::ヽ / l ゝ;;ノ ヽ \ / 'l  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ l l ゝ ω ./ /^'‐-t''''^~ ̄ ̄~^''''t-‐^ヽ
\\_ :三ニ=:::::::ヽ :ヽ.ニ=::て.>廴_ スルー… 三.ヽ= (⌒ヽ;:;:;,.二) ニ=-ヽ:ヽ、,∠.^^ぅ 〃,べ= ̄ニ二 ̄ /;:ィリ ノノ ,.へヽ ;:ヘ/ ̄ ̄ ̄Vヽヽ ソ ├┤|
>>762 #include<stdlib.h>
#include<stdio.h>
struct cell{int car;struct cell*cdr;};
void insert(struct cell**ls,int n){
struct cell*p;
if(*ls&&ls[0]->car < n)insert(&ls[0]->cdr,n);
else p=malloc(sizeof(struct cell)),p->car = n,p->cdr = *ls,*ls = p;
}
void show(struct cell*ls){if(ls)printf("%d\n",ls->car),show(ls->cdr);}
int main(){
int c,n;struct cell*ls=NULL;
for(;printf("イ可をする 0:終了 1:見る 2:追カロ ・・・"),scanf(" %d",&c),c;)
if(c==1)if(ls)show(ls),puts("データ終了");else puts("データなし\n");
else if(c==2)printf("追カロするイ直を人力 ・・・"),scanf("%d",&n),insert(&ls,n);
}
765 :
デフォルトの名無しさん :2006/02/13(月) 21:27:13
∧_∧ ミ ギャーッハッハッハッ! o/⌒(. ;´∀`)つ と_)__つノ ☆ バンバン
766 :
764 :2006/02/13(月) 21:28:24
思いっきりCで書いてたな俺w
>>762 #include<iostream>
using namespace std;
struct cell{int car;cell*cdr;};
void insert(cell**ls,int n){
if(*ls&&ls[0]->car < n)return insert(&ls[0]->cdr,n);
cell*p=new cell;p->car = n,p->cdr = *ls,*ls = p;
}
void show(struct cell*ls){if(ls)cout<<ls->car<<endl,show(ls->cdr);}
int main(){
int c,n;cell*ls=0;
for(;cout<<"イ可をする 0:終了 1:見る 2:追カロ ・・・",cin>>c && c;)
if(c==1)if(ls)show(ls),cout<<"データ終了\n";else cout<<"データなし\n";
else if(c==2)cout<<"追カロするイ直を人力 ・・・",cin>>n,insert(&ls,n);
}
C++なのに構造体指定とは、変わった授業だな。
>>766 carにcdrって・・・もしや・・・
このスレでエスパーはたまに見かけるが、リスパーは久しぶりだ。 セルを表す構造体はconsが多い気もするが。
単に今はBetter Cをやっているだけでそのうちクラスなんかもやるだろうと好意的に解釈してみる。
C++でクラスと構造体が違うものだと思っている人が今時いるんだぁ~
クラスと構造体を同じものだと思ってる奴は信用できない。 というか、クラスというものを正確に理解していないんだと思う。 確かに、文法的には同じかもしれないけど オブジェクト指向開発をする上では別物。
>>766 おれが書いてみたのと比べるとすごいスマートだ
すごいなー
構造体使わなくてもclassで同じ事できるってだけで classは構造体ではないのでは?
>>777 classはstructじゃないな
単語の表記が全然違う
そもそも全てpublicなんてオブジェクト指向の精神に反する。
んなわけあるか
>>780 あるよ
カプセル化出来なければ、OOP依然のCみたいなモノリシックなものになってしまう
お前ら、カタカナとかAlphabetでしゃべるな。イメージがつかめん。
>>782 あるよ
保護する物と公開する物を切り分けられなければ、
オブジェクト指向プログラミング以前のCみたいな一枚岩なものになってしまう
わかりやすいです、ありがとう。 さすがに、オブジェクト指向プログラミングはカタカナのままのほうが分かりやすいです。
うーん・・・ カプセル化っていうけど、それはあくまでもクラスのメンバの話。 C++でも、構造体の使いどころがあるということを言いたかったんだけど。 クラスはプログラムの中での、あるひとつの役割を定義するもの。 構造体は、バイナリデータを測る物差しのようなもので 一時的なデータの入れ物として扱う。 だから、扱いやすさから構造体のメンバは公開したほうがよい。 ・・・って、かなり話が脱線してしまった。
>>764 ,
>>766 さん
ありがとうございました!
自分でやってみたものが、イマイチ上手く出来なかったので、
とても助かりました。
>>753-754 神様ありがとうございます。
>>754 の方なんですが,char * を使わないものも書いていただきたいのですが・・・
このスレではよく見るのですが,なにぶん授業で習っていないので
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
>>788 君は日本語を理解してからコピーをするようにしようねw
(・∀・)ニヤニヤ
hiroもアホだよなぁwww 松本が女と付き合うのはやるためだけって自分で言ってるのに・・・ やった後にすぐシャワー浴びるし、寝るときに腕枕はしない お塩と並んでカス男なのにかわいそう
792 :
学生 :2006/02/14(火) 11:36:33
物理の問題を数値で解いてみよう。 今、枝にぶら下がっているサルを人が鉄砲で狙っているとする。 時刻t=0で鉄砲の引き金を引くとその音を聞いたサルがその瞬間驚いて枝から手を離し下に落ちる。 このとき空気抵抗がないとすれば、弾丸とサルは同じように重力に引かれて落ちていくので必ず命中する。 鉄砲の弾丸の位置は初速度と重力加速度と時刻を元にその位置を計算することができる。 サルの位置も元の枝の高さと重力加速度と時刻を元に計算することができる。 また、命中する時刻とその位置(高さ)を求めることができる。 これはモンキーハンティングという例題である。 プログラム作成 位置の原点は弾丸の発射される位置とする。サルの最初の高さをh[m],サルまでの最初の水平距離をL[m]、弾丸の初速度をv0[m/s]として値を入れておき、時刻t[s]における弾丸とサルの位置をそれぞれ表示するプログラムを作成せよ。 重力加速度は g=9.8 ; としてよい。 命中する時刻はt=0から、水平距離Lを弾丸の水平速度で割った時間だけ進んだときである。 ↑のプログラムを作って下さい!お願いします。
しかもマルチ。以後スルーで
>>787 この程度自分でやれよ。やれないなら単位もらおうとするなよ。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 3
#define M 20 /* 1単語の文字数限界+1 */
int main(void)
{
char str[N][M], tmp[M];
int i, j, length;
for( i = 0 ; i < N ; i++ ) {
printf("Word? "); /* まずは入力 */
fgets(i, M-1, stdin); length = strlen(str[i]);
if( str[i][length - 1] == '\n' ) str[i][--length] = '\0';
/* 並べ替え。挿入ソート風バブルソート? */
for( j = i ; j > 0 && str[j][0] < str[j - 1][0] ; j-- ) {
strcpy(tmp, str[j]); strcpy(str[j], str[j - 1]); strcpy(str[j - 1], tmp);
}
}
for( i = 0 ; i < N ; i++ ) { /* 出力 */
if( i ) printf(" %s", str[i]); /* 先頭以外は前にスペースを入れる */
else printf("%s", str[i]); /* 先頭の場合はスペースを入れない */
free(str[i]);
}
puts("");
return 0;
}
797 :
デフォルトの名無しさん :2006/02/14(火) 13:54:47
('A`)マンドクセ
798 :
マンコクセ :2006/02/14(火) 15:05:03
>>795 普通にエラーがデバスター
p4.c:12: 警告: 引数 1 個の `fgets' を渡しますにより、キャストなしで整数からポインタを作りました
>>795 free(str[i]);
?
とりあえず自分のうんこも寝て食えないような奴は寝てろ
んで食え
ネタにマジレス・・
for文のことでわからない事があるので教えて下さい。 僕の読んだ本によると、 例えば↓ int i; for(i=0;i<5;i++){ printf("%d",i);} はまずi=0を実行しi<5を判定し真なら条件式に当てはまっている為 ブロックの中身printf("%d",i);を実行すると書いてありました。 でもこのジャンケンゲーム↓ #include <stdio.h> #include <stdlib.h> #include <time.h> main(){ int computer,x,player = 0,p_win = 0,p_lose = 0,draw = 0,c_win = 0; printf("【ジャンケンゲーム!!】\n"); srand(time(NULL)); for(x = 0; x<5; x++){ printf("ジャンケン…(プレイヤーは「1:ぐー、2:チョキ、3:パー」を入力)>"); scanf("%d",&player); while(getchar() != '\n'); if(player == 1){printf("プレイヤーはグー!!\n");} else if(player == 2){printf("プレイヤーはチョキ!!\n");} else if(player == 3){printf("プレイヤーはパー!!\n");} else{printf("※プレイヤーは不正な手を入力しました\n");}
computer = rand()%3+1; printf("コンピュータは"); if(computer == 1){printf("グー!\n");} else if(computer == 2){printf("チョキ!\n");} else if(computer == 3){printf("パー!\n");} if(player == 1 && computer == 2){printf("プレイヤーの勝ち!!\n"); p_win++;} else if(player == 2 && computer == 3){printf("プレイヤーの勝ち!!\n"); p_win++;} else if(player == 3 && computer == 1){printf("プレイヤーの勝ち!!\n"); p_win++;} else if(player == computer){printf("あいこ!!\n"); draw++;} else{printf("コンピュータの勝ち!!\n"); c_win++;} }
printf("%d勝 %d負 %d分",p_win,c_win,draw); if(p_win>c_win){printf("プレイヤーの勝ち☆\n");} else if(p_win<c_win){printf("プレイヤーの負け★\n");} else{printf("引き分け☆★\n");} return 0; } は先ほどの int i; for(i=0;i<5;i++){ printf("%d",i);} のように for(x = 0; x<5; x++)以降に変数xが一度も使われていないのに ちゃんと5回繰り返しました…。 何度考えてもわかりません。 分かる方教えて下さいませ。
804 :
デフォルトの名無しさん :2006/02/14(火) 15:20:16
スレ違い
>>803 for構文について甘い認識しかしていないからそうなります
for(Init_exression;Cond_expression;Loop_expression) K_expression;
(*_expressionは式)
この様に与えられたfor構文に対して、コンパイラは次の意味の実行形式を与えます。
Init_expression;
loop:
if(Cond_expression) goto exit;
K_expression;
Loop_expression;
goto loop;
exit:
for構文はこれ以上でもこれ以下でもないです。
.oO Monkey hunting @高校物理か。何もかも懐しい。でも解かないよ。
>>795 ネタにしてもクオリティが…。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 3
#define M 20
char str[N][M];
int s(void *a,void *b){return *(char*)a-*(char*)b;}
main()
{
int i=N,j,l;
while(--i>=0){
fputs("Word? ",stdout);
fgets(str[i],M,stdin);
l=strlen(str[i]);
if(str[i][l--]-'\n')str[i][l]='\0';
};
qsort(str,N,M,s);
while(i++<N)printf(i?" %s":"%s",str[i]);
putchar('\n');
return;
}
こんな所か。
808 :
デフォルトの名無しさん :2006/02/14(火) 16:20:05
>>806 なんだって~!
char * を使わないでくださいませ と言ったのに・・・orz
810 :
デフォルトの名無しさん :2006/02/14(火) 16:27:16
世の中には 整数型は全て64ビット, char = unsigned charの処理系が実在するという噂もあるから char同士の引き算を判定に使うのはまずい 負数が返らなくなる
>>810 そんなもんあったとしても宿題じゃ出てこねぇ
DSPなら、そーゆーのがあっても仕方ないな。
>>810 そういう問題でなく、引き算を判定に使うにはその変数を表現できるビット数だけでは足りないことが問題。
例えば、(char) 0x7f - (char) -0x7f はcharのビット数ではどっち道正しい結果が得られない。
従って、(>810の指摘をするくらいなら)>806はreturn (int)*(char*)a-(int)*(char*)b;とすべき。
但しこの場合、問題が英文字限定だからどうでもいい。
intの方が表現範囲が広いなら、char型同士の加算はintに型変換されてから計算されるんで、無問題。>813 規格にある。んだが、どこに書いてあるかわすれた。
>>814 と言うことは、unsigned char同士の引き算もintに格上げされる?
だとしたら
>>810 も見当違いか。
つーかcharってunsigned限定だと思ってたヾ(o゚ω゚o)ノ゙
>>817 ( ´Д`) えーい引っ張ってくれる!!
"<( o ゚ ω ゚ o )>" ムニゥ
>>814 手元のJIS X 3010:2003規格票を読んでみたんだが
これのことか?
5.1.2.3 プログラムの実行
この規格における意味規則の規定では、最適化の問題を無視して
抽象計算機の動作として記述する。
(色々書いてあるけど略)
規格合致処理系は少なくとも次の要求を満たさなければならない。
(略)
ープログラム終了の時点で、ファイルに書き込まれた全てのデータは
プログラムの抽象意味規則に従った実行が生成する結果と一致する
(略)
例2. 次のプログラム片を実行する場合
char c1,c2; c1 = c1 + c2;
”整数拡張”の規則に従って、抽象計算機はまずそれぞれお変数の値を
int型の大きさに拡張し、次に二つのintの加算を行い、結果の切り捨て
を行う。実際の実行では同一の結果を得ることだけが必要であり、
オーバーフローを起こさずに、二つのcharの加算を実行できるのであれば
またはオーバーフローが起こっても、例外に成らずに正しい結果を生成
できるのであれば拡張を省くことが出来る。
>>817 それは完全に処理系定義。確か型の規定がされてる辺りに書いてあった
つーかお前ら、一回規格票嫁
>>814 -----
6.3.1.1
これらのものの元の型のすべての値をint型で表現可能な場合、その値をint型に変換する。
-----
この部分ですな。
規格票とやらがどこにあるのかkwsk
>>818 strlen()が返すのはsignedだと信じて疑いません<( o ゚ ω ゚ o )>
>>824 読まないなら他人様が触るプログラムは作るなよ
>>810 の「整数型は全て64ビット」というのにはなんか意味があるの?
確か char だけは 1byte を仕様で定義してなかったっけ…?
829 :
デフォルトの名無しさん :2006/02/14(火) 21:09:24
N×Nの二次元空間でx[i][j][1]の値が変化します。この値を変化させるところまでは うまくいったのですが、x[i][j][1]の総和を表示させることが出来ず悩んでいます。 x[i][j][1]は他の関数で計算するようにしています。 void process() { int t, sum=0; for(t=0;t<=STEP_MAX;t++){ for(i=0;i<N;i++){ for(j=0;j<N;j++){ sum=sum+x[i][j][1]; } } } printf("%d \n", sum); write(sum); } 使用OSはMac XでProject Builderを使ってC言語でプログラムを作っています。 これを使ってレポートを書くので早ければ早い程ありがたいのですが、お知恵をお貸し 下さい。
>>829 つ、つっこまなぞ!
俺はスルー出来る人間なんだ!!
うをwwwwww
でもiとj宣言して無いし、tとか使ってないのは何故なんだ?
831 :
デフォルトの名無しさん :2006/02/14(火) 21:12:55
i、jはグローバル変数として他の部分で宣言しています。
配列の中身はどっからどうやって受け取ってるのよ
>>829 プログラミングしてて思ったとおりに動かないのは当たり前
それは設計が甘いか、コーディング時に間違ってるかのせい
今回は設計とコーディング両方だと思われ
void process(){
int sum=0;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
sum+=x[i][j][1];
printf("%d\n",sum);
}
こんなん?
834 :
デフォルトの名無しさん :2006/02/14(火) 21:22:37
さっき質問するときに省いたのですが、こうなっています。 void process() { int t, sum=0; for(t=0;t<=1000;t++){ solve();//具体的なx[i][j][1]の計算 for(i=0;i<N;i++){ for(j=0;j<N;j++){ sum=sum+x[i][j][1]; } } } printf("%d \n", sum); write(sum); } 同じ関数の中でsolve()関数を呼び出しているからいいかなと思ったんですが・・ それがいけないのでしょうか?
>>828 確かにchar = 1byteは規定されてる
しかしながらcharが何ビットか(CHAR_BITS)については
規格合致処理系においては最低8であることを除いて
規定されていない
836 :
デフォルトの名無しさん :2006/02/14(火) 21:26:26
>>833 さん
本当にありがとうございました!!
値が出力されました。
ポインタapで示される文字列Aの中から、ポインタbpで示される文字列B を探し、その文字列をポインタcpで示される文字列Cに置き換える関数。 #include<stdio.h> #include<string.h> int replace(char *ap, char *bp, char *cp) { int as, bs, cs, df, rc, i, j, k; rc=0; as=srelen(ap); bs=srelen(bp); cs=srelen(cp); df=cs-bs; for(i=0; i<=as-bs; i++){ if(strncmp(ap+i, bp, bs)==0){ if(df>0){ for( [1] ; j>=i+bs; j--) *(ap+j+df)=*(ap+j);
838 :
837 :2006/02/14(火) 22:05:44
} else if(df<0){ for( [2] ; j<=as; j++) *(ap+j+df)=*(ap+j); } for(k=0; k>cs; k++) *(ap+i+k)=*(cp+k); rc++; as=strlen(ap); i+=(cs-1); } } return rc; } 上記の問題の[1]、[2]が分かりません。 他は何とかやってみたんですけど、変な所があったらよろしくお願いします。 [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:分かりません・・・ [3.3] 言語: C言語 [4] 期限: 2006年2月15日 [5] その他の制限: ないです 長々とすみません・・・ 今さらアップローダー==ラウンジに書いとけば良かったと後悔・・・
\\_ :三ニ=:::::::ヽ :ヽ.ニ=::て.>廴_ スルー… 三.ヽ= (⌒ヽ;:;:;,.二) ニ=-ヽ:ヽ、,∠.^^ぅ 〃,べ= ̄ニ二 ̄ /;:ィリ ノノ ,.へヽ ;:ヘ/ ̄ ̄ ̄Vヽヽ ソ ├┤|
char *pp=strstr(ap,bp); strcpy(pp,cp); たった2行の関数をくどくど書くなと言って終了
違うよ>840
void replace(char*ap,char*bp,char*cp) { char*tp=strstr(ap,bp); if(tp){ sprintf(tp,"%s%s",cp,tp+strlen(bp)); } }
>>842 JISX3010 7.19.6.6
領域の重なり合うオブジェクト間のコピーが行われるとき、その動作は未定義
この場合tpとtp+strlen(bp)が重なっているから未定義
>>842 ワロス。
ある意味天才。
>>838 [1] j = as - 1
[2] j = i + bs
図を書いてやってごらん。
ちなみに、俺は図を書いてないから間違ってるかも。
まー、ポインタとアルゴリズムの基礎を鍛えるなら
文字列操作関数を自分で実装するのが一番。
あと
> as=srelen(ap);
は as = strlen(ap) でいいんだよね?
846 :
838 :2006/02/14(火) 23:02:29
助かりました!ありがとうございます。
読みにくかったですよね・・・みなさんすいません。
>>845 あ、すいません、打ち間違いです・・・
845さんの言うとおり as = strlen(ap)です。
847 :
845 :2006/02/14(火) 23:09:38
>>846 ゴメン。
実行してみたら動かんかった。
・俺の間違い
× [1] j = as - 1
○ [1] j = as
・既存ソースの間違い
×for(k=0; k>cs; k++)
○for(k=0; k<cs; k++)
明日が締め切りのようだが、もう寝てて知らないまま提出しても
責任とりません。
848 :
846 :2006/02/14(火) 23:20:31
>>847 わっ・・丁寧にすみません!
ほんと間違いだらけの文で・・恥ずかしいです・・
とりあえず実行なったので、コメント書いて終わりにしようと思います。
ありがとうございました。
>>840 memmove(pp,cp,strlen(cp));
でも駄目?
ポインタでシコシコするしかないのか
850 :
デフォルトの名無しさん :2006/02/15(水) 01:22:33
あっタケシちょっと待って バイト イッテクル 今日バレンタインだったでしょ ┌──┐ はい!チョコ │ | ('A`) J('∀`)し │ 。 | ( )ヾ ■ノ) │ │ 〈 | 〈〈  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ カーチャン モレ モ イイトシナンダカラ バレンタイン ニ チョコ ナンカ イラナイッテ ┌──┐ │ | ( 'A`) (A` )し │ 。 | ( )ヾ ■ノ) │ │ 〈 | 〈〈  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
851 :
デフォルトの名無しさん :2006/02/15(水) 01:23:06
おっ?おまえもチョコ オツカレサマデシタ もらったか ┬─┬─┬─┐ ,,,,,,, ,,,,,,, │ │ │ │( 'A`) ( `ー´) (∀´ ) │ ]│ ]│ ]│( ) (ロノ ) (ロノ ) │ │ │ │ || 〈〈 〈└  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ あれ?なんだおまえ まだここで働いてたの? はやく辞めればいいのに ┬─┬─┬─┐ ,,,,,, ,,,,,,, │ │ │ │( 'A`) (`A´ ) (ー ´ ) │ ]│ ]│ ]│( ) (ロノ ) (ロノ ) │ │ │ │ || 〈〈 〈└  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
852 :
デフォルトの名無しさん :2006/02/15(水) 01:23:42
/ ゲラゲラ ゲラ \ ┬─┬─┬─┐ ・・・・・・・・ │ │ │ │(A` ) │ ]│ ]│ ]│( ) │ │ │ │ ||  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ┬─┬─┬─┐ │ │ │ │ ( 'A`) │ ]│ ]│ ]│ ( ) │ │ │ │ ((( ノ 〉  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
853 :
デフォルトの名無しさん :2006/02/15(水) 01:24:15
┬─┬─┬─┐ │ │ │ │ ( 'A`) │ ]│ ]│ ]│ ( ) │ │ │ │ ((( ノ 〉  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ン?ナンダロウ? ( 'A`) ( ) _ ノ 〉 { }  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
854 :
デフォルトの名無しさん :2006/02/15(水) 01:24:59
更衣室の入り口に紙袋がありチョコが何個か入っていた。 バイトの女の子が用意して置いていったのだろう。 漏れは一個だけもらおうと中をのぞいたら紙が入っていた。 ┌──────────────────────┐ │ ハッピーバレンタインデー♪ │ │ 知恵と香奈からです!! │ 忙しくてチョコを渡す暇がなかったので │ ここに置いておきます。お好きなのを │ 持ってってね♪ │ あっ、でも~、タケシ君の分は無いので、 │ タケシ君は持って帰らないで下さい!! │ └───────────────────────
855 :
デフォルトの名無しさん :2006/02/15(水) 01:25:32
漏れはチョコを紙袋に戻した・・・・ ( 'A`) ( )ヾ _ || { }  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ タダイマー お帰りタケシ ┌──┐ │ | ( 'A`) J('∀`)し │ 。 | ( ) ( ) │ │ ノ 〉 ||  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ┌──┐ アッ ソウダ カーチャン │ | J( '∀)し ('A` ) ナンカ アマイ モノナイ? │ 。 | ( ) ん? ( ) │ │ || ノ 〉  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
856 :
デフォルトの名無しさん :2006/02/15(水) 01:27:27
今朝のチョコならあるよほら ┌──┐ アッ、ソレデイイヤ・・・ │ | J( '∀)し ('A` ) │ 。 | ( ヽ■ ヾ( ) │ │ || 〈 |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ┌──┐ カーチャン・・・アリガト・・・・ │ | J( '∀)し ( 'A) モレ モウスコシ ガンバッテ ミルヨ │ 。 | ( ) (ヽ■ │ │ || ノ 〉  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( がんばれ・・・・タケシ ) ┌──┐ 。o O │ | J( 'ー`)し ( 'A) │ 。 | ( ) (ヽ■ │ │ || ノ 〉  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
やめてくれよ・・・ タケシ永眠させるぞ
誰だよ。 俺の一日を観察してた奴。
全米が泣いた!
全世界が泣いた!
生きとし往ける者よ! 漏れにチョコを分けてくれ!  ̄ ̄ ̄Y ̄ ̄ ̄ ̄ ヽ('A`)/ ( ) || ・・・・・・  ̄ ̄ ̄Y ̄ ̄ ̄ ̄ ヽ('A`)/ ( ) || うんこでもするか・・・  ̄ ̄ ̄Y ̄ ̄ ̄ ̄ ヽ('A`)/ ( ) ||
862 :
デフォルトの名無しさん :2006/02/15(水) 03:15:27
[1] 授業単元:プログラミング演習 [2] 問題文: 文字列を入力し、ポインタを使用して、"a"を"b"に、"b"を"a"に置き換えるプログラムを作成せよ [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: BCpad [3.3] 言語: C [4] 期限:2006年2月15日午前10時まで [5] その他の制限: "abcd"と文字列を入力したら"bacd"と出力させるプログラムを作成せよということです。 よろしくお願いします。
\\_ :三ニ=:::::::ヽ :ヽ.ニ=::て.>廴_ スルー… 三.ヽ= (⌒ヽ;:;:;,.二) ニ=-ヽ:ヽ、,∠.^^ぅ 〃,べ= ̄ニ二 ̄ /;:ィリ ノノ ,.へヽ ;:ヘ/ ̄ ̄ ̄Vヽヽ ソ ├┤|
864 :
デフォルトの名無しさん :2006/02/15(水) 03:28:24
[1] 授業単元:プログラミング
[2] 問題文 テーブル「A1」「A2」「A3」に登録されているデータを奇数・偶数に分けて、昇順・降順にソートし、
奇数は昇順の配列で「B」テーブルに、偶数は降順の配列で「C」テーブルに格納する。
ただし、main関数より下位関数にパラメータを渡す場合は、共通の構造体に格納し、その構造体のポインタを渡すようにする。
下位関数よりさらに下位の関数にパラメータを渡す場合はこの限りではない。
[3] 環境
[3.1] OS:winXP
[3.2] コンパイラ名とバージョン: BCC
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限:2006/02/16(再提出しろという事になりました_| ̄|○)
[5] その他の制限:使用可能なのはstdio.hくらいです。
[6]疑問
問題のあるポインタの変換と移植性のないポインタ変換というエラーがよくでてしまうのですが、このコンパイルエラーの意味がわかりません。
今分らないところは、構造体のメンバにある、入力用データ配列の要素数を保持するポインタの値とはどのようにして記述するべきなのかがわかりません。
ソースはこちらにアップさせていただきました。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1637.txt
>>862 もうちょっといいやり方も思いついてるが面倒なのでこれで
void reptwo(char *achSrc, char (*pachTbl)[2], size_t cSrc, cTbl)
/*
* achSrcの文字列をpachTblで指定された規則で置換する
* cSrcは文字列長、cTblは変換規則数を受け取る
*/
{
char chTgt;
int i, j;
int *abReplaced = malloc(sizeof(int)*cSrc);
/* エラー処理が必要 */
memset(abReplaced, 0, cSrc);
for (i=0;i<cTbl;++i) {
chTgt = pachTbl[i][0];
for (j=0;j<achSrc;++j) {
if ((abReplaced[j]) || (achSrc[j] != chTgt)) continue;
achSrc[j] = pachTbl[i][1];
abReplaced[j] = 1;
}
}
free(abReplaced);
}
>>865 に追記
書いてるとおり、エラー処理してない
勝手に追記してくれ
それと変換テーブルは要素2の配列で、a→bなら
tbl[0] = 'a'; tbl[1] = 'b';
それを好きなだけ渡せ
>>864 プロトタイプと構造体定義の順番入れ替えれば
gcc -Wall -ansiで問題なくコンパイル通るが
unused variableと文字エンコードのwarnは出てるがな
868 :
862 :2006/02/15(水) 03:40:27
>>862 .863
早い返答ありがとうございます。
答えていただいてなんなんですが
できればC言語でおねがいします。
869 :
デフォルトの名無しさん :2006/02/15(水) 03:48:37
867様>プロトタイプと構造体定義の順番を入れ替えてみたのですが・・・やはり 実行時に落ちてしまいます
>>869 実行時エラーまでは見てないから知らん
読む気もないのでパス
>>865 だが色々間違ってた
void reptwo(char *achSrc, char (*pachTbl)[2], size_t cSrc, size_t cTbl)
/*
* achSrcの文字列をpachTblで指定された規則で置換する
* cSrcは文字列長、cTblは変換規則数を受け取る
*/
{
char chTgt;
int i, j;
int *abReplaced = malloc(sizeof(int)*cSrc);
/* エラー処理が必要 */
memset(abReplaced, 0, cSrc);
for (i=0;i<cTbl;++i) {
chTgt = pachTbl[i][0];
for (j=0;j<cSrc;++j) {
if ((abReplaced[j]) || (achSrc[j] != chTgt)) continue;
achSrc[j] = pachTbl[i][1];
abReplaced[j] = 1;
}
}
free(abReplaced);
}
黙れ小僧
>>864 そもそもこのソースどこまで弄っていいんだ?
テンプレかなんかあるならそれもあげてくれねーと
弄りようがない・・・
そもそもおまいさん、パラメータ渡す構造体に0(NULL?)入れたっきり
そのまんまだよっと
\\_ :三ニ=:::::::ヽ :ヽ.ニ=::て.>廴_ スルー… 三.ヽ= (⌒ヽ;:;:;,.二) ニ=-ヽ:ヽ、,∠.^^ぅ 〃,べ= ̄ニ二 ̄ /;:ィリ ノノ ,.へヽ ;:ヘ/ ̄ ̄ ̄Vヽヽ ソ ├┤|
875 :
デフォルトの名無しさん :2006/02/15(水) 07:09:25
[1] 授業単元:プログラミング演習 [2] 問題文: テキスト形式のデータファイル(Vinos.dat)の各行には以下の書式でワインに関する情報がまとめてある. 「名前」(半角英数字のみ) 「読み方(フリガナ)」(全角カタガナのみ) 「種類(赤,白)」("rouge"か"blanc") 「ヴィンテージ(ブドウの収穫年)」(半角整数4桁) 「値段(単位¥)」(半角整数) (1) このデータを扱う構造体を定義しなさい. (2) (1)で定義した構造体を用いてデータをファイルから読み込み,値段の安い順に並び替えた結果を新しいファイル「NewVinos.dat」に書き出すプログラムを作りなさい. [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: borland Cバージョン不明 [3.3] 言語: C [4] 期限:2006年2月15日正午
876 :
875 :2006/02/15(水) 07:10:03
875の続き [5] その他の制限: vinos.datの内容: --------始まり(この行はファイルの内容に含まない)--------- 「名前」a 「読み方(フリガナ)」エイ 「種類(rougeかblanc)」rouge 「ヴィンテージ(ブドウの収穫年)」1994 「値段(¥)」1000 「名前」b 「読み方(フリガナ)」ビー 「種類(rougeかblanc)」blanc 「ヴィンテージ(ブドウの収穫年)」1984 「値段(¥)」999 「名前」c 「読み方(フリガナ)」シー 「種類(rougeかblanc)」blanc 「ヴィンテージ(ブドウの収穫年)」2000 「値段(¥)」100 「名前」d 「読み方(フリガナ)」ディー 「種類(rougeかblanc)」blanc 「ヴィンテージ(ブドウの収穫年)」1974 「値段(¥)」100000 --------終わり(この行はファイルの内容に含まない)---------- 初心者です。よろしくお願いします。
877 :
875 :2006/02/15(水) 07:13:34
876の続き ファイルの中の"」"という区切りの文字は全角なので、 どう処理すればいいのか分かりません、誰か教えてください、お願いします。
>>875 初心者だからって何?そもそも講義受けてたんだろ
それなのにこの時期でそれが分からんのなら
もう一回講義受け直せ
879 :
デフォルトの名無しさん :2006/02/15(水) 10:19:32
[1] 授業単元: プログラム設計実習 [2] 問題文(含コード&リンク): @が入力されるまで文字を読み込み、入力された文字の中に数値が 何個あったかを表示するプログラムを作成しなさい。 [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: VisualC++.NET [3.3] 言語: (C/C++/どちらでも可 のいずれか) c言語 [4] 期限: 2006/02/15 12:00まで [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
>>879 #include <stdio.h>
#include <ctype.h>
int main(void)
{
char ch;
int cDigit = 0;
while ((ch = getchar()) != '@')
if (isdigit(ch)) ++cDigit;
printf("%d個ありますた", cDigit);
return 0;
}
>>879 #include <stdio.h>
int main(void)
{
char ch;
int count;=0
while(getchar(stdin)=='@') {
if(ch >= '0' && ch <= '9') //文字0から9のアドレスが連続と仮定
count++;
}
printf("入力された内、数字は%d個", count);
return 0;
}
実行できんかったらスマン。
882 :
881 :2006/02/15(水) 10:29:45
>>881 >int count;=0
int count = 0
>getchar(stdin)=='@'
getchar(stdin)!='@'
>>880 を参考にしてくれ・・・
883 :
879 :2006/02/15(水) 10:30:56
>>881 chに代入されてないようだが
それとgetchar(void)
885 :
881 :2006/02/15(水) 10:37:30
正直スマンかった
886 :
デフォルトの名無しさん :2006/02/15(水) 10:45:53
[1] 授業単元: プログラミング基礎Ⅰ [2] 問題文(含コード&リンク): 次のようなデータを若い年齢順に並び替えるプログラムを作成 しなさい。 ただし、データは構造体に配列に格納しておくこと 名前 身長 体重 年齢 Mike 170 65 18 Tani 175 60 38 Dora 129 129 99 Neko 80 10 10 Inu 120 40 15 [3] 環境 [3.1] OS: Windows98 [3.2] コンパイラ名とバージョン: VisualC++4.0 [3.3] 言語:c [4] 期限: 2006/02/16 [5] その他の制限:とくになし
C習ってソートもできんのかと小一時間(ry
俺はやればできる子なんだ! でも忙しいからこんな面倒な事いちいちやってられん、 くだらない事は2chのバカどもにやらせておけばいい。
r''"´ 〈::::::::::`丶、__,,,.. -ォ 、 \
l /´ヾl「 ̄ ̄`Τ´ ,' \ ヽ
ノ ノ::.r'7^゙、 l: ,'\ l:....:. ヽ:.....:./
. / ゙y´ :{ ヽ /ヽ ∟...}イ |:::::λ:l::::::j
. 〈 {l N-‐''゙ 〈 〉 ヽl::::/リノ::: ( また
>>864 か!
ヽ!: リ、| ,.-‐-、. `Y:| ィ'" ̄ヽリノ /:::::::: i 本当にやっかいな奴だよ!キミは!!!
|l: / ヽ_イ......._ノ |:l ヾー┬''゙ /:::::::::: |
|l ∧ ``T´ |! _,」 〈:::::::::::: ',
. }!. { l', ゙r──‐┬'"´ レ''"`7!::::: :: ヽ
ノ::. l ドf ̄`ヽl ,_,. ===-、, 。 ,'::|!:: \
(:.:::::} ト-゙、 {l::r'"`:i:'"`lリ ゚ ノ::::'、: ',
. ヽ::l: !:::::::ヽ ヾ、__,〃 ,イ:::::::::\ ト、i
/:::|:: | l:::::::r=辷_、 `二二´ /_」`!::::::::〈` | リ
./::::::::|:: |{ |::::::::ト----:\ ,ィ'゙二..イ::::::::::::ヽ ,'
.{_|:::::::l:::. ヾ`ー':::l:.:.:.:.:.:.:.:.:.、`''''''''i゙| 「:/| :.:.!:::::::::::::_ノ /
`>::ヽト、 `ー、::|:.:.:.:.:.:.:.:.:.:ヽ\:.|.| |(_」:.:.|::::::::::f´:::::::'- 、
(:::::::::::::`ヽ l{く:.:.:.:.:.:.:.:.:rへノ:.|.| |:.:| /:.: ̄`ー!、_:::::::::、_)
`ヽ;:;: -''"|ノ`ー.:.:.:.:.:.:.:.\「:.:.:|.| |:.l/:.:.:.:.:.:.:.:.:.:.:.:`'':: 、|
,. -''":.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:|_|」:.:.::.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:``''::..、
>>1 がセンス無いというだけで
今回の宿題スレ最後まで駄目ダメだったというわけですか?
891 :
886 :2006/02/15(水) 11:22:32
自己解決しました。
892 :
& ◆i.twkzJbf. :2006/02/15(水) 11:44:24
あ
893 :
デフォルトの名無しさん :2006/02/15(水) 12:06:42
[1] computer network [2] ソケットを使ったネットワークプログラムを実行せよ。 telnetを使用せずにコマンドをUNIX上で実行できなければならない。 このプログラムはクライアント・サーバモデルを使用する。 PCからUNIXへのコマンド実行を必要とする。 使用するコマンドは rexec (IP address | host name) port_num command (parameter) たとえば電算室のPCで、コマンド "recec IP address port_num date" を実行すると、"Sun Jan 22 23:58:59 PST 2006" のような日時がPCの モニタに表示される。 [3] 環境 [3.1] OS:WindowsXp, solaris [3.2] gcc 3.4, VC++, bolamd bcc33 [3.3] 言語:C++かC両方OK [4] 期限: ([2006年2月15日20:00まで] [5] その他の制限: なし ネットワークプログラミングが初めてで、 どう手を付ければいいのかもわからない状態です。 windowsの場合はwinsockというのを使うと聞いたのですが イマイチ使い方もわかりません。 よろしくお願いいたします。
\\_ :三ニ=:::::::ヽ :ヽ.ニ=::て.>廴_ スルー… 三.ヽ= (⌒ヽ;:;:;,.二) ニ=-ヽ:ヽ、,∠.^^ぅ 〃,べ= ̄ニ二 ̄ /;:ィリ ノノ ,.へヽ ;:ヘ/ ̄ ̄ ̄Vヽヽ ソ ├┤|
>>893 UNIX上(Solarisか?)で実行できないといけないと書いてある割りに
Winsockが出てきたり、そもそも課題内容自体が曖昧すぎて意味不明
課題全文を子細漏らさず書け
それが全文なら、出題者ぶっ殺せ
>>895 授業なり講義なりを聞いてなかっただけだろ
897 :
893 :2006/02/15(水) 12:31:01
解りにくくてすいません。 問題は英語なので約したのが悪かったかもしれません 一応原文は Please implement a remote command execut ion network program using sockets. Your program should be able to execute any command on a given remote computer without using telnet . This program can be implemented using the client-server model. To make your life easier, you only need to implement from PC to remote execution commands on Unix. The syntax of the remote command execution is: rexec (IP address | host name) port_num command {parameter} For example, when you on a PC at design center, you can issue the command “ rexec ***.***.***.*** 10001 date” , and the command returns the current date and t ime as “Sun Jan 22 23:59:59 PST 2006” and display on the PC’s monitor Winsockの話は、PCからsolarisにリモートでアクセスするので クライアント側のプログラムにはwinsockがいるのかと思ったんですが サーバ側がUNIXの場合はいらないんでしょうか? ホントに初心者で一応本などは読んでみたんですが イマイチ要領を得ないので質問させていただきました。 わかりにくくて申し訳ありませんが よろしくお願いします。
>>897 クライアントがWinならそう書けよ
単にrexecを処理しろってだけだろ
899 :
893 :2006/02/15(水) 12:52:49
>898 レスありがとうございます。 クライアントがwinということは書き忘れていました、すいません。 教授の話では なにかサーバクライアントモデルのプログラム(チャットのような)を作って それをrexecを使って実行するということだと思います。 しかし、rexexを使ってサーバ側のプログラムを実行するのはわかるんですが ではクライアント側のプログラムはどうするのか、 そのへんがイマイチよくわからないのです。 プログラムは本などにある見本のプログラムを自分のPC上で打ち直して サーバ側はtelnetでsolaris上でgccによりこんぱいるを試したんですが なぜかコンパイルできません implicit declaration of function '***' などど出てどう解決していいのかもわからない状態です。 まだ全然ソケットプログラミングの概念的なものも掴めていない状態なので 今はネットや本で調べながら質問させて頂いています。 よろしくお願いします。
>>864 なんか、必死っぽくて華麗にスルーされすぎているような気がするので・・・参考程度に。
もう少し、頭の中で整理した方がいいかもね。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1640.txt コーディングした後に気づいたんだけど、「共通の構造体」の解釈は
↓のような気がしてきた。
struct Array {
int *pnData; /* 配列の先頭アドレス */
int nSize; /* 配列サイズ */
int nUsed; /* 配列の使用数 */
};
これを配列A1~A3, B, Cの分だけ用意するとかね。
ちなみに、俺の1640.txtでは共通パラメータ構造体メンバ nSize は初期化はしているが
参照しておりません。
本来なら、抽出処理時に配列範囲超えのために参照した方がいいんだけどね。
[1] 授業単元:自作の問題
[2] 問題文(含コード&リンク):
2次元平面上の3つの座標p1,p2,p3を頂点とする。
三角形を考え、構造体triangleを以下のように定義する。
struct triangle{
double p1[2]; double p2[2]; double p3[2];
};
構造体triangleに対して、以下の関数を作成せよ。簡単な解説も書くこと。
int congruence(structure triangle *a, structure triangle *b)
三角形aと三角形bが合同かどうかを判定する、
合同なら1を、合同でないなら0を返す
という問題で、
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1641.txt というプログラムを作ったのですが、コンパイルできません。
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:Borland C
[3.3] 言語: C
[4] 期限: 2006年02月15日まで
[5] その他の制限:できれば解説も付けていただけるとありがたいです。
\\_ :三ニ=:::::::ヽ :ヽ.ニ=::て.>廴_ スルー… 三.ヽ= (⌒ヽ;:;:;,.二) ニ=-ヽ:ヽ、,∠.^^ぅ 〃,べ= ̄ニ二 ̄ /;:ィリ ノノ ,.へヽ ;:ヘ/ ̄ ̄ ̄Vヽヽ ソ ├┤|
環境はVC++ 6.0O WindowsXP ですができるだけC言語を使ってやらないといけない状況なので Cのやり方をお願いします。 struct menb { char name[20]; int age; } struct menb DATA[50]; という50人分の構造体データをバイナリファイルに全部を書き込むのと 一度に全部書き込んだ内容をファイルから読み込み,DATA[1], DATA[2],へと 構造体に入れていくのはどうしたらよいのかわかりません。 教えてもらえませんかお願いします。
fwrite()/fread()あたりを調べてくんろ。
>>901 #include<stdio.h>
int main(void){ printf("過去ログ検索すらしない香具師は逝ってよし!!\n");
return 0;}
906 :
903 :2006/02/15(水) 17:51:21
fwrite(&DATA, sizeof(struct menb), 1, fp); ではじめやってみたんですができなくて 次に struct AAA allDATA { struct menb DATA[50]; } にして fwrite(&allDATA, sizeof(struct AAA), 1, fp); でやってみてもできなかったんですよ・・・ このfwriteの使い方間違ってるんでしょうか??
リファレンス嫁
[1] 授業単元:プログラム言語 [2] 問題文:文字列として入力された整数を整数値に変換して表示するプログラム [3] 環境 [3.1] OS:Windows/UNIX [3.2] コンパイラ名とバージョン: (gcc VS.NET) [3.3] 言語:C [4] 期限:2006年2月20日 [5] その他の制限: atoi関数は使用しない. 入力できる数値は符号も含めて最大9桁とする. 整数を文字列として入力する際にはfgetsを用いる. 入力した文字列は配列に記憶させる. 変換した結果をint型の変数に代入し,表示する. お願いします。
atolで行こう。
>>909 strtolかsscanfで行くほうが変化球かかって良い感じ
>>903 テンプレ使え。うまくいかない時は、どういう状態か書け。
みんなエスパーじゃないぞ。他が原因かもしれないのに一部だけ書いて
わかるわけないだろ。
ファイルを開いた時に、ちゃんとバイナリ書き込みで開いているか?
>>909-910 ウワァァァァァァヽ(`Д´)ノァァァァァァン!
てめーらの所為でネタ回答のネタがなくなったじゃねーか
もういい真面目?に書いてやる。
>>908 #include<stdio.h>
#include<ctype.h>
int toint3(const char*p,int v){return isdigit(*p)?toint3(p+1,v*10+*p-'0'):v;}
int toint2(const char*p){return *p=='-'?-toint3(p+1,0):toint3(p+(*p=='+'),0);}
int toint(const char*p){return isspace(*p)?toint(p+1):toint2(p);}
int main2(void){/*規格でmainの再帰は認められていないので回避策*/
int value;
char tmp[11];
if(!fgets(tmp,sizeof(tmp),stdin))return 0;
value = toint(tmp);
printf("%d\n",value);
return main2();
}
int main(void){
return main2();
}
914 :
903 :2006/02/15(水) 19:47:30
すいません。
[2] 問題文:構造体のファイルへの読み書き
[3] 環境
[3.1] OS: Windows XP [3.2] VC++ 6.0 [3.3] C
[4] 期限:2006年 2月18日まで
[5] その他の制限: VC++だができる限りC言語を使う
>>912 はい、一応バイナリファイルやら、fwriteあたりは調べたんですが
わかりませんでした・・・
struct menb {
char name[20];
int age;
};
struct AAA allDATA {
struct menb DATA[50];
};
void file_input()
{
FILE *fp;
fp = fopen("TEST.dat", "wb");
if(fp == NULL){
AfxMessageBox("ファイルが開けてません(write)");
exit(1);
}
fread(&allDATA, sizeof(struct AAA), 1, fp);
fclose(fp);
}
とやったんですが巧く書き込めてないみたいなんで
どうかよろしくお願いします。
915 :
903 :2006/02/15(水) 19:49:18
連投すいません 上のfwrite と fread書き間違えてます;;
>>913 ありがとうございます。
しかしポインタを習っていないのでもっとローテクなコードをお願いしたいのですが・・・。
またかよ・・
これもスレタイが悪いからだ
Cで文字列をポインタを使わずに扱うことは不可能。
>>914 あ~なんで、できるだけコピペするなどして正確に書かないの?
struct AAA allDATA {
struct menb DATA[50];
};
これ、おかしくないか?といっても、これも書き間違えだったら
全く意味のないことになってしまうが。
あとMFC使っているみたいだが、窓プログラムなの?
>>914 おまいさんは構造体の定義と変数の宣言の理解がくっちゃくちゃになってると桃割れますな
struct menb {
char name[20];
int age;
};
int main()
{
struct menb menb_data[50];
・・・
とか
あるいは
struct menb {
struct menb {
char name[20];
int age;
};
struct AAA {
struct menb DATA[50];
};
int main()
{
struct AAA allDATA;
・・・
構造体の定義と変数の宣言一度にやりたいなら
struct hoge{
・・・
}hage;
とかな
こうやって、考える頭がどんどんと奪われていくのです。
そして最後には・・・
924 :
913 :2006/02/15(水) 20:54:26
>>916 ウワァァァァァァヽ(`Д´)ノァァァァァァン!
問題文の付け足しすんなボケー
次は知らん。
#include<stdio.h>
#include<ctype.h>
int toint3(const char p[],int i,int v){
if(isdigit(p[i]))return toint3(p,i+1,v*10+p[i]-'0');
else return v;
}
int toint2(const char p[],int i){
if(p[i]=='-')return -toint3(p,i+1,0);
else if(p[i]=='+')return toint3(p,i+1,0);
else return toint3(p,i,0);
}
int toint(const char p[],int i){
if(isspace(p[i]))return toint(p,i+1);
else return toint2(p,i);
}
int main(void){
int value;
char tmp[11];
fgets(tmp,sizeof(tmp),stdin);
value = toint(tmp,0);
printf("%d\n",value);
return 0;
}
ようやく、普段のクオリティーに戻ってきて安心したぞ。うん。
センセー! ひょっとして、
>>914 は業務プログラムですか?
分からない事は脊椎反射で聞き返す癖が付いてるから。
1要素のバイト数と要素数の引数の順番をすぐ忘れる。 いつもマニュアル見る関数の一つ。 fread()/fwrite()より、read()/write()のほうが俺は楽。
>>926 流れを見るとありうる話だな・・・できるだけ表に
ソースが出ないようにしてるし、宿題とは思えない内容だ。
構造体の変数名までわからないようにしてるもんな。
構造体を間違えている、VC++なのにできるだけC指定とは
派遣かなにかでVC++で作るために、にわかにCをやりだしたとも
見える。怪しい・・・
931 :
デフォルトの名無しさん :2006/02/15(水) 23:04:24
[1] 授業単元:C++によるOO(オブジェクト指向)設計 [2] 問題文 CDancerクラス、CSongerクラス、CIdoleクラスが以下のように定義されている。 3つのクラスには共通するメンバとメソッドがあるので、 汎化や特化を利用してこれを改善しなさい。 ただし多重継承は禁止する。 class CDancer{ //ダンスが得意なダンサークラス int DanceSkill; public: void Action(); //DanceSkillが関与している void Tour(); }; class CSonger{ //歌が得意な歌手クラス int SongSkill; public: void Shout(); //SongSkillが関与している void Tour(); }; class CIdole{ //歌って踊れるアイドルクラス int DanceSkill; int SongSkill; public: void Action(); //DanceSkillが関与している void Shout(); //SongSkillが関与している void Tour(); }; [3] 環境 [3.1] OS:WindowsXP [3.2] VC++6.0 [3.3] C++ [4] 期限:2006年2月20日 [5] その他の制限:なし
abstract class Talent { abstract void Tour(); } interface Shoutable { void Shout(); } class CDancer extends Talent { ... }; class CSonger extends Talent implements Shoutable { ... }; class CIdle extends Talent implements Shoutable { ... };
どんなC++やねん!
漏れもダイヤモンド型の継承しか思い浮かばず・・・純粋仮装関数だけ持ったクラスを・・・・ やっぱ多重継承だよなぁ・・・ってことでパスした。
935 :
931 :2006/02/15(水) 23:21:25
あらら、半角インデントが消えちゃった・・・ごめんなさい。 3つのクラスを汎化して class CHuman{ public: void Tour(); }; というのを作ればイイ!って思ってたんですが、それだと Tour()以外の全てのメソッドを2回定義しなきゃいけないんですね。 かといってCHumanクラスでActionメソッドとShoutメソッドを定義すると CDancerクラスが使いもしないShoutメソッドを持つことになり美しくない そんな感じでスッキリした継承ができなくて困ってます。お願いします。
1)Toure()だけスーパークラスに持たせ、残りは各クラスで定義する(題意を満たす) 2)javaネタでかかれているように、インタフェースクラスを使う(題意は満たさないが、作法としては問題ない) 3)題意を無視し、多重継承をする ・・・ダイヤモンド型の多重継承なんだけどねー。俺は詳しくないんでわかんないや。 C++の実務者はどうすんのかなぁ?
>>931 mixinなら多重継承を回避できる。
デコレータパターンの一種ですな。
class Talent{
void Tour();
};
template<typename BASE>
class TDancer : public BASE{
int DanceSkill;
public:
void Action(); //DanceSkillが関与している
};
template<typename BASE>
class TSonger : public BASE{
int SongSkill;
public:
void Shout(); //SongSkillが関与している
};
typedef TSonger<Talent> CSonger;
typedef TDancer<Talent> CDancer;
typedef TSonger<CDancer>CIdle;
わかんねー(爆)
・・・勉強させてもらいます。
>>937
Talentのコンストラクタはprotected非仮想じゃなくていいのか もしくはpublic仮想か
というよりこれデコレータパターンなんて名前ついてんのね 知らなかった
941 :
937 :2006/02/15(水) 23:40:05
継承ではなくて、内部で参照を持つ+メソッドを加工するのが, 本来のパターンだから、ちょっと違うんだけどね。 まぁ細かいことは気にせずに
うーみゅ。テンプレートを脳内展開したが、多重継承に見える。酒呑んでるせいか・・・ そもそもtemplateを理解してないか・・・。はふぅ。
943 :
931 :2006/02/16(木) 00:10:32
>>937 さん
テンプレートにこんな使い方があったなんて驚きです。
多重継承が2つのクラスを並列的に継承しているのに対して
このmixinというのは線形的に2つのクラスを継承していくようですね。
これでやっと気持ちよく眠れます。ありがとうございました。
その場合IdleはDancerではあるがSongerではないことになるな
その前に誰もSongerにつっこまないところにこのスレの懐の深さを感じる
Idleじゃ単なるなまけものだしな
アイドルはやめられない=ニートはやめられない キョンキョン辛辣だw
だからC++が最強なんだよ。 JavaとC#のGeneric? あんなの子供のオモチャだね。
>>948 C++は最凶
こんな実装寄りのOOPなんて見たこと無いぜ
たしかにC++は最凶
いいじゃん。 C++は今流行りのツンデレってことでしょ。
C++ってオブジェクト指向アセンブラ言語なんだって? ツンデレどころかツンツン突き刺さるよな全く うんこは寝て食え うんこは寝て食え うんこは寝て食え うんこは寝て食え
952 :
デフォルトの名無しさん :2006/02/16(木) 01:24:14
最強はやはりBASIC 話題のガベコレももれなくついてくる
953 :
◆KxeUK/HCiI :2006/02/16(木) 02:38:22
[1] コンピュータープログラミング
[2] パズルを考える。このパズルでは,9×9 のマスに,次の条件に従って 1~9 の数字を入れていく。
同じ列・同じ行に同じ数字を入れてはならない。
9×9 のマスは,大きな 3×3 のブロック 9 つに仕切られており,この中でも同じ数字は複数入れてはならない。
という問題です。
ttp://www.iba.k.u-tokyo.ac.jp/~iba/C/report3/report3.htm [3] 環境
[3.1] Linux
[3.2] gcc 3.4 VC 6.0
[3.3] どちらでも可
[4] 2006年3月10日
[5] 特に制限はありません
よろしくお願いいたします
>>953 明日はお偉いさんから呼び出しだな
覚悟きめておいたほうがいい
[1] 授業単元:プログラミング [2] 問題文(含コード&リンク): コードの入力ミスをチェックするためにチェックディジットを付けたコードを利用することがある。 チェックディジットの算出方法について考える。, コードの形式は基本コードの後に、チェックディジットを一桁つける。 コード XXX・・・Xx(X コード、x チェックディジット) 例えば、基本コードが"3869214"のとき 基本コードの各桁にウェイト付けを行う。ウェイトは桁の先頭から 7,6,5,4,3,2,7,6,5・・・,2の順で繰り返す基本コードを数値に変換し、ウェイトは桁の先頭から。 各桁の総和を求める。このとき各桁の値が2桁の場合は、10位と1の位を、それぞれ1桁の数値として加算する。 基本コード '3' '8' '6' 9' '2' '1' '4' 数値変換 3 8 6 9 2 1 4 x x x x x x x ウェイト 7 6 5 4 3 2 7 21 48 30 36 6 2 28 分割 2+1 + 4+8 + 3+0 + 3+6 + 0+6 + 0+2 + 2+8 =45 加算した結果45を11で割った余りをを求める。さらに、求めた余りを11から引いた値がチェックディジットになる。 なお値が2桁のときは、1の位の数字がチェックディジットとなる。 45 % 11 = 4 余り 1 11 - 1 = 10 (0 チェックディジット) よってチェックディジットは0となり、これを文字に変換して、文字列の末尾に付加する。 付加した結果、コードは、"38692140"となる。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン VC 6.0 [3.3] 言語: C [4] 期限: 明日まで [5] その他の制限: 穴埋めです①~⑤までに入る文を教えてください
/* チェックディジット */ #include <stdio.h> int chkdigit(char *code) { int wait[] = {7,6,5,4,3,2}; int i =0, kei = 0, work; int chk_d; while(*code != '\0'){ if(①) return -1; ②; kei += (work / 10) * (work % 10); ③; code++; } ④; if(chk_d >=10) chk_d = chk_d % 10; *code = chk_d + '0'; ⑤; return 0; } void main(void) { char code[100]; gets(code); if(chkdigit(code)) printf("エラー\n"); else printf("%s\n",code); }
よろしくお願いします連投すいません
>>955 例題の通りだとすると、一部問題に間違いがあると思う。修正して出した。
/* チェックディジット */
#include <stdio.h>
int chkdigit(char *code)
{
int wait[] = {7,6,5,4,3,2};
int i =0, kei = 0, work;
int chk_d;
while(*code != '\0')
{
if( (*code - '0' < 0 ) || (9 < *code - '0') ) return -1;
work = (*code - '0') * wait[i % 6];
kei += (work / 10) + (work % 10);//ここは間違い?題意では*ではなく+では?
i++;
code++;
}
chk_d = 11 - (kei % 11);
if(chk_d >=10) chk_d = chk_d % 10;
*code = chk_d + '0';
*(code+1) = '\0';
return 0;
}
[1] 授業単元:プログラミング演習 [2] 問題文: 1~3999 のいずれかを入力して、ローマ数字による表記で出力するプログラムを作りなさい。 ただし、 I(1) V(5) X(10) L(50) C (100) D(500) M(1000) を使って表すものとし、とする。 ( 例 ) 45...XLV 3999...MMMCMXCIX [3] 環境 [3.1] OS: Linux [3.2] gcc [3.3] 言語: C [4] 期限: 2006年2月17日まで
960 :
959 :2006/02/16(木) 05:39:39
できれば switch文を用いる感じで・・・
次スレはいらないね
>959 int a; /* 入力は略 */ switch (a) { case 1: printf("I\n"); break; case 2: printf("II\n"); break; /* 略 */ }
>>963 あとはそのcase文を自動生成するプログラムを書けばいいね!
>>953 level1 の方針
(1)1~9の数字がそれぞれ置ける状態どうかを記録する領域をマスの数だけ準備
(2)数字が入っているマスがあった場合、そのマスの縦、横、3*3のマスにはその数字が置けないとして記録
(3)1~9の数字のうち、1種類の数字しか置きようがないマスが出てくるのでそこに数字いれる
(4)数字をマスに入れたら、そのマスの縦、横、3*3のマスにはその数字が置けないとして記録
(5)進展がなくなるまで(3)~(4)の繰り返し
(6)全部マスが埋まってたら答え、埋まってないマスがあればlevel1じゃとけねーよっと
(*)どの数字も入れようがないマスが発生したら解けない問題です
日本語分かりにくくてすまないな・・('A`)
昔作ったソースがあったがひどいもんだったのでupとかは多分しない
がんばれよ東大生
967 :
デフォルトの名無しさん :2006/02/16(木) 07:40:40
[1] 授業単元:C言語 [2] 問題文(含コード&リンク):半角カタカナから全角カタカナに変換する関数 [3] 環境 [3.1] OS:Windows XP Pro [3.2] コンパイラ名とバージョン:VC++ 6.0 [3.3] 言語: C [4] 期限:無期限 [5] その他の制限:なし よろしく、お願いします。
969 :
デフォルトの名無しさん :2006/02/16(木) 07:46:32
期限が無期限の宿題ってなんぞやもし?
センセー! ひょっとして、
>>967 は業務プログラムですか?
972 :
111 :2006/02/16(木) 08:01:15
前のスレに同じ質問があったのですが、 [1] 授業単元:生産工学 [2] 問題文(含コード&リンク): 次の4点 (0,0),(1,0),(1,1),(0,1) を順に通る3次のSPLINE曲線とそのグラフを描くプログラムを作成せよ。 始点と終点の接線の方向はそれぞれ(1,1)と(-1,0)とする。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラは何でもいいっていわれました [3.3] 言語: C [4] 期限: できるだけ早くお願いします。 [5] その他の制限: プログラムリストとそれによってできたグラフを印刷して提出といわれますた。 グラフのソフト等も特に制限はないそうです。 をもう一度お願いします。卒業かかっているので、宜しくお願いします。
半角から全角は濁点とかが付いたりするから面倒くさいんだよな VCだと_mbbtombcがあるからすこしはマシになるけど
>>972 グラフィック関係のやる人いないと思うぞ…
数学 魔方陣 でググればおいしいことが見つかるかも
978 :
976 :2006/02/16(木) 12:44:40
>>976 39行目 answer_check って行はデバッグ用だったので,消してください.
>>914 =967で、業務用プログラムだな。
大方名簿か在庫管理のコードで、最初書き出しに困って、
次に半角の名前に困ったってことだろ
>>980 濁音半濁音の処理はしてくれないのかな?
>>967 iconvでiso2022に変換してから元の漢字コードに戻すといいよ。
#nkfでもいいけどw
>>980 「ガ」は「ガ」にしてください。
詳細設計で書いてあるので絶対そうしてください。
詳細設計ってなんだろ・・・
そんな突っ込みはいいから早く 急いでます 今日、合コンだから残業できないんだよ!
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。 >絶対そうしてください。 市ね
あ~、もうムカツク。
お前が氏ね
>>988 お前ら役に立たないので向こうで質問してきます。
釣り放題でつね ニヨニヨ( ・∀・ )ニヨニヨ
991 :
967 :2006/02/16(木) 14:19:43
というか、なぜトリップをつけないのかと・・・
つけました
次スレまだー?
嫌気がするような連続書き込みをしてライバルを減らし 楽してズルして1000は頂く
ほげ
hage
すいませんちょっと質問していいですか? 長くなるので次スレに書きます・・・
教えてクン(`皿´)ウゼー
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。