宿題手伝いますYO!!
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
NGNG宿題とか手伝いますけど、以下の事項は守ってほしいです。
・マルチポストは厳禁です。
・キーワードが分かっているなら、http://www.google.co.jp を活用すること
・質問内容がちゃんと日本語になっていること
・言語名を入れること。
・自分の力で頑張ってみたことを伝えられる人。
・どこまでわかったのかを書くこと。
以上です。
前スレ http://pc3.2ch.net/test/read.cgi/tech/1027756023/
新
↑
│ http://pc3.2ch.net/test/read.cgi/tech/1026138039/
│ http://pc.2ch.net/test/read.cgi/tech/1024592344/
│ http://pc.2ch.net/test/read.cgi/tech/1007902384/l50
│ http://pc.2ch.net/tech/kako/1003/10038/1003838158.html
│ http://pc.2ch.net/tech/kako/982/982853418.html
│ http://piza.2ch.net/tech/kako/972/972032579.html
↓
古
0002デフォルトの名無しさん
NGNG乙〜
0003デフォルトの名無しさん
NGNGリーナス ジョブス
/⌒◆ ◆⌒\
/ 冫、) ( ヘ´ ヽ
_/ ` ∠_ ヽ´ 人
イ ゝイノ | ヽ 冫y彳 (;⌒ヽ
|| ヘ 。 | /| / 。 | /|ヽ
|| | 。 / | | ゲイツ | | 。 /.| | |
| | 。 / | | | | 。 / .| | |
|⌒| 。 | | /⌒◆ | | 。 _| イ| |
\|` ヽ ヽ/ / 冫、) ゞ |`ヽ | | |
/|\人/\| ―/ ` ∠_ \|\人ヽ /|冫
|| || | | | | /| ゝイノ | \ ヽ|| | |/ |
||/|| | | | | / '|| 。 || \ || | || /
|| | | | | / /| 。 / |\ ) || | ||/ |
ヽ| | | |. ┌|⌒|_| 。 / |/⌒/ | || | | | |
ヽ| | | || | | | 。 / _/ | | ヽ| | | |
| | | || |⌒|\人ヽノ|⌒| | | ヽ| | |
| く__く >>  ̄\__ | ̄ヾ.くく >_ > )
\ >. /ヽ.__/  ̄\./ ̄/ < /
`ー' .  ̄ ̄  ̄ ̄ `ー'
0004デフォルトの名無しさん
NGNG>>3
微妙にウケタw
0005デフォルトの名無しさん
NGNG>・キーワードが分かっているなら、http://www.google.co.jp を活用すること
>・質問内容がちゃんと日本語になっていること
>・自分の力で頑張ってみたことを伝えられる人。
>・どこまでわかったのかを書くこと。
こんなくだらないことを書くなボケ
1にかまわずどんどん質問しろよ
0006モナ吉
NGNG0007デフォルトの名無しさん
NGNGあ、それ前スレからのコピペだよ.
ちなみに前スレのRinaたんは前前スレからコピペしてますた.
一応, 張った方がいいと思ったんだ…すまん.
0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG>>7
まあまあ、大したことじゃない。気にするこたない。
0010デフォルトの名無しさん
NGNGあ, 仕事しろよとか言うなよ.
0011デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433
0012デフォルトの名無しさん
NGNGフォローthx. 今度から>>1に入れたほうがいいね.
0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNGそうかもしれん….
0015デフォルトの名無しさん
NGNG(;´Д`)ハァハァ
0016デフォルトの名無しさん
NGNG一番暇なんだろうね….
0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNG0020デフォルトの名無しさん
NGNG#include <iostream>
using namespace std;
int main(int argc, char **argv) {
cout << "シャイン!! >> 25" << endl;
return 0; // exit successful.
}
0021デフォルトの名無しさん
NGNGでその時に、いくらなんでもどんな馬鹿でもこんなことはやるまい、と思われる選択は除去して練ってたわけ。
そしたら、その相手がやるまいと思われた作戦を取ってきて、マキャベリは見事に敗北。
そのときの言葉が「真の馬鹿には勝てん」。
なにがいいたいかというと、こんなところで聞いてくるようなヤツの宿題は予想できねぇってコト。
0022デフォルトの名無しさん
NGNG良いこと言った!
0023デフォルトの名無しさん
NGNG昔の将棋ゲームとかで、コンピュータ相手にセオリー無視なことをしたら勝手に降参してきた経験があるが、
それに近い?
0024デフォルトの名無しさん
NGNGしかし、それを狙ってやったらその敵将は名称だな。
ということは、誰にも予想できないような宿題を作れれば・・・
0025デフォルトの名無しさん
NGNG「夏休みの宿題をやらないこと」
0026デフォルトの名無しさん
NGNGたしかにここにいる誰もが手伝えないな…。
0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNG最近でもそんな将棋マンガがあったなあ。
ところで
こ こ の 1 の 家 族 構 成 と か は ど う な っ て ま す か
0029デフォルトの名無しさん
NGNG0030デフォルトの名無しさん
NGNGそこのいた、かちゅ〜しゃに対応してないから嫌い。
できるだけ回線つなぐ時間を短くしないとばれるんだよー。
0031デフォルトの名無しさん
NGNGスペースで字下げしても大丈夫なのか。
だったらいいかも。
0032デフォルトの名無しさん
NGNGC++の宿題こないかな〜
0033デフォルトの名無しさん
NGNG家族構成はどうなっていらっしゃるのですか?
0034KB
NGNGgifo 7 ってなんですか?
ヘルプにないです
0035デフォルトの名無しさん
NGNGその7作目ということだ。
0036デフォルトの名無しさん
NGNG仕組みだったことを忘れてた。
おい!>>1
彼氏のほどはいらっしゃるのですか?
0037デフォルトの名無しさん
NGNG「スタート」→「プログラム」
から、VisualCというものを使っていたんですが、
家のパソコンには入っていないようです。
どうすればいいでしょうか?
0038デフォルトの名無しさん
NGNG具体的にはHDDをぶっこ抜くと、、
0040KB (HSP)
NGNG何をききたいかといいますと。
input で代入された複数の文字を上それぞれが、かぶさらないように、
複数にランダムに横に並べるには?ということです、はい。お願いします。
HSPDA.dll は#include が難しかったので、標準命令で。
座標を乱数で出しても、文字の長さで変わってしまうので…
0041デフォルトの名無しさん
NGNGVisualStudioのパッケージ盗んだほうがいいんじゃない?
どうせ学校の研究室なんてパッケージが
その辺にゴロゴロ置いてあるだろうし。
0042デフォルトの名無しさん
NGNG> ・マルチポストは厳禁です。
>・キーワードが分かっているなら、http://www.google.co.jp を活用すること
つか、一発で出たぞ。心が狭いから教えてやらんけど。
0044デフォルトの名無しさん
NGNG0045asdf ◆ZlQYR1MY
NGNGhttp://www.google.co.jp/advanced_search?as_occt=any&as_dt=i&as_qdr=all&lr=lang_ja&num=100&hl=ja
0046デフォルトの名無しさん
NGNG0047KB (HSP)
NGNGマニュアルにも ginfo 6 までしかないし。
マルチポストを指摘してくださったのなら分かると思いますが。
00481
NGNG一人暮らしだ、残念ながら。
>>36
男だ、俺は。彼女ならいるぞ…いつ別れてもおかしくないような雰囲気なのが1人な。
>>47
>マルチポストを指摘してくださったのなら分かると思いますが。
おぃおぃ、なんて図太い奴なんだよ…。
>HSPの質問です。
>gifo 7 ってなんですか?
>ヘルプにないです
っていうか宿題じゃねーじゃん。マニュアルに載ってないんだったら試しに自分で
使ってみれ。
0049KB (HSP)
NGNGチーチャーに見つかる やも知れない。
夏休みの宿題ですYOこれ。自由課題ですからね。
つかいましたよ>>48 んでもわけわからねぇっす。
エラーにならないのが不思議。
0050デフォルトの名無しさん
NGNG>チーチャーに見つかる やも知れない。
>夏休みの宿題ですYOこれ。自由課題ですからね。
これ、相反してませんか?自由課題なら別に見付かってもいいじゃないですか。
考えて分からないところを聞いてるんだから。
>つかいましたよ>>48 んでもわけわからねぇっす。
だったら使わなければいいでしょう。自由課題なら自分でできる範囲でいいんだから
調べても分からないなら諦めたらどうですか?
0051Kate@1
NGNG恭祐さんのオタクにHomestayしています。
ProgrammingのHomeworkにadviseできますから、
ココで日本語おぼえれたらうれしいです。
それでは、ヨロシクオナガイシマス!
0052デフォルトの名無しさん
NGNG0053コギャルとHな出会い
NGNG朝までから騒ぎ!
ヌキヌキ部屋へGO
女子高生とH
0054デフォルトの名無しさん
NGNG0055デフォルトの名無しさん
NGNG祭り板に広告アッタクスレがあったね。
いま読んでるところ…。
0056デフォルトの名無しさん
NGNG認証チェック機能の1部分 『小文字チェック』を作らなくてはいけないのですが、
どこから手をつければいいのか分かりません。
VBなんてこの課題が与えられて初めて知りました。
EXCELのVBAで作った認証フォームに6文字のIDを入力します。
その入力したIDの中に英語の小文字が含まれていたらfalseを返す、
{VisualBasicで作成せよ}
というのが課題なのですが本やVB紹介のサイトを見ても載ってありませんでした。
文字列をどうにかすればいいのだとは思うのですが、
どなたか優しい方お教えくださいませんか?
0058デフォルトの名無しさん
NGNG厨すぎる質問ですいません。本当に分からないんです。おまけにバカです。
005956です
NGNG0060デフォルトの名無しさん
NGNGhttp://ime.nu/kado7.ug.to/net/
↑こっちが404になってて、潰れたのかと思ったら、
単に移転しただけだったのか。
F5攻撃とかやるんなら、俄然参加するけどな…
006256です
NGNG>たとえば'A'は16進数で41。
>>61 世界一のうんこさん
なんとなく(自分のこの曖昧さがいつもいけないと思うのですが)
小文字を数字として扱っていって
小文字だけを弾く(排除する)方向で考え方は合っていますでしょうか?
006309052905722
NGNG0064たけちん
NGNG演算子は次のものを使用すること。
1.または "|"
2.連結は省略してよい
3.0個以上の繰り返しは"*"
4.1個以上の繰り返しは"+"
任意の文字は<文字>であらわす。
また、「c1,...,cn以外の文字」は
<c1,...,cn以外の文字>とする。
プログラムの問題ではありませんが解ける人いますか?
コメント内に"*/"が入らないようにすることができません。
コンパイラを造ったことがある人とかいませんか?
お願いします。
0065デフォルトの名無しさん
NGNGコレじゃダメか
perlの正規表現で書け、とかなら簡単なんだけど、
こんな擬似正規表現定義されてもなぁ…
0066たけちん
NGNGそれだと
/* * */というコメントが掛けませんよ。
とりあえず、どんな定義でもいいので正規表現
で書いてくれたらいいです。
あとはこちらで形を直してみますので。
よろしくお願いします。
0067コギャルとHな出会い
NGNGヌキヌキ部屋へ
女子高生とHな出会い
0068デフォルトの名無しさん
NGNGhttp://live.2ch.net/test/read.cgi/festival/1029512150/l50
0069デフォルトの名無しさん
NGNGこうじゃないんだから
/* * */
これは書けるんじゃないの?
0070デフォルトの名無しさん
NGNG処理が少し面倒だな
ついでに
char *string = "文字列 /* コメントか */ ちんこ";
↑
こういうのはどうするんだろうか…
007166
NGNGえーと<ab以外の文字>はaとb以外の文字であり
「abの文字列以外の文字列」といった意味ではありません。
>>70
perlでなくてもなんでも良いですよ。
分かる範囲で独自に正規表現を定義してもらってもかまいません。
後、最初に述べた表現では0個以上や1個以上がわかりに
くいようですのでtexのように{/}^*とかで表してもらった
方が良いかもしれません。
/\*\([^*]\|\*[^/*]\)*\*+/
007472
NGNG/\*([^*]|\*[^/*])*\*+/
0075Kate
NGNGoperatorがそれだけしかないのですか。unbelievable!!!
もし'/'や'*'をescapeしなくてよいならば、
/*<文字>**/
ですむでしょ?minimam-matchingならばね。どうかしら。
0076デフォルトの名無しさん
NGNG屁理屈レベル。
括弧()はありなのか
0077デフォルトの名無しさん
NGNG未テスト
0078たけちん
NGNG([^*] | \*[^/*])*
ここの意味がいまいちわからないんですが、
\*は"*"の意味ですね?
[^*]はどういう意味でしょうか?
>>75
/*<文字>**/
これだと”/* */ */”がいけてしまうことになりますよ。
>>76
括弧はありです。
> /*(<*以外の文字></以外の文字>)**/
これだとコメント内が2文字づつしか書けないですよ。
たぶん、このようにしようとしたんだと思いますけど、
> /*(<*以外の文字> | </以外の文字>)**/
これだと ”/* */ */”このような文字列が可能になってしまいます。
0079デフォルトの名無しさん
NGNG括弧の後ろに一つ * があるじゃんよ
この * は()にかからないのか
0080デフォルトの名無しさん
NGNG状態のあるのを正規表現にするのはむつかしくない?
0082たけちん
NGNG> /*(<*以外の文字></以外の文字>)**/
まず最初の2文字は”/*”の意味ですね。
そして、次に
> (<*以外の文字></以外の文字>)*
は「0個以上の”*”以外の文字と”/”以外の文字」という意味ですよね?
ということはa=*以外,b=/以外とすると
ab,abab,ababab...となります。
これでは”/* a */”といった表現が入りません。
それだと /* * */ や /* / */ にマッチしないよ。
0084デフォルトの名無しさん
NGNGなるほど
0085デフォルトの名無しさん
NGNG>/*<文字>**/
>これだと”/* */ */”がいけてしまうことになりますよ。
つまり欲張りマッチというわけか…
0087デフォルトの名無しさん
NGNG0088たけちん
NGNG説明が悪かったようなのでもう一度簡単に説明します。
まず最初は”/*”で始まり、終わりは”*/”で終わります。
その間には任意の0個以上の長さの文字列が入ります。
要するに、何もなしでもいいわけです。(ex. /**/ )
ただし、文字列の中に”*/”が含まれてはいけません。
”*”や”/”が入るのはいいです。(ex. ×/**/*/ ○ /*/*/)
008974
NGNGなるほど。それじゃ、これでどうだ?
/\*([^*]|\*[^/*]|\*\*[^/*])*\*+/
</><*>(<*以外>|<*></*以外>|<*><*></*以外>)*<*>+</>
0090たけちん
NGNGそれが表すことができるようです。
僕も考えていたんですがどうしても”*/”が
文字列の中に入るのを避ける方法が思いつきませんでした。
この問題には続きがあり、これをオートマトンで表します。
オートマトンの方は解ったんですけど、正規表現は解りませんでした。
0091たけちん
NGNG> </><*>(<*以外>|<*></*以外>|<*><*></*以外>)*<*>+</>
うーん、これだと”/* ***a */”が無理ですね。
</><*>(<*以外>|<*>+</*以外>)*<*>+</>
これならどうでしょうか?
0094デフォルトの名無しさん
NGNG0095デフォルトの名無しさん
NGNG> </><*>(<*以外>|<*>+</*以外>)*<*>+</>
</*以外>に*はいらんのでないか?
0097たけちん
NGNG最大マッチ=パターンマッチがもっとも長い文字列とマッチする
最小マッチ=パターンマッチがもっとも短い文字列とマッチする
てことですね。
なんて言うか、ソースからコメント文にマッチするのを探すのではなく、
コメントの構造を正規表現で表すとどうなるかという問題でした。
問題文の説明が足りなかったと思います。
すいません。
0099デフォルトの名無しさん
NGNG0101デフォルトの名無しさん
NGNGだってlhasaやsusieの作者がたけちんだから。
0103デフォルトの名無しさん
NGNG0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNG0106デフォルトの名無しさん
NGNGすわ、異常気象か?
0107デフォルトの名無しさん
NGNG分かる方いらっしゃいますか?
0108デフォルトの名無しさん
NGNG0109デフォルトの名無しさん
NGNGBASICにも色々あるしねー。
とにかくいきなり具体的に全部出してみるしか
0110107
NGNGよろしくお願いします。
0111デフォルトの名無しさん
NGNG0112107です
NGNGものでここではB/Cの代わりにBとCを並べて出力している。
100 INPUT A
110 B=0
120 C-1
130 B=B+1
140 IF B*B<A THEN GOTO 130
150 PRINT B;",";C
160 FOR D=1 TO 4
170 C=2*C
180 B=2*B-1
190 IF B*B<A*C*C THEN B=B+1
200 PRINT B;","C
210 NEXT D
220 END
0113107です
NGNG( )、1
( )、2
( )、4
( )、8
( )、16 と出力される。
5を入力したとき
( )、1
( )、2
( )、4
( )、8
( )、16 と出力させる。
0114デフォルトの名無しさん
NGNG0115107
NGNGAsin(a) + Bcos(a)
でAとBは変えられるようにして画面表示させます。
わかる方いますか。
0116107です
NGNG中から選ぶと( )である。
�@ Aの2乗がn以上となる最大の整数n
�A nの2乗がA以上となる最小の整数n
�B Aの2乗がnより大きくなる最大の整数n
�C nの2乗がAより大きくなる最小の整数n
0117デフォルトの名無しさん
NGNG0118デフォルトの名無しさん
NGNG> 120 C-1
> 2を出力したとき
どうにかしろ
>113
2を
2,1
3,2
6,4
12,8
23,16
5を
3,1
5,2
9,4
18,8
36,16
>116
2
0119だすと
NGNGアドレスを教えて頂けないでしょうか。
0120デフォルトの名無しさん
NGNGアドレスを教えて頂けないでしょうか。
0121だすと
NGNG図解で載ってるようなHPは無いでしょうか、あったら紹介して
頂けませんでしょうか。プログラミングの問題ではないんですが
本とかに載ってないんです。
0122デフォルトの名無しさん
NGNGアドレスを教えて頂けないでしょうか。
0123デフォルトの名無しさん
NGNG無関係とは言わないが、そういう言葉の使い方はしません。
0124Java厨
NGNG0125デフォルトの名無しさん
NGNG構造化されたプログラムのフローの図法なら
PAD(Problem Analysis Diagram)とか
0126デフォルトの名無しさん
NGNGお前みたいな馬鹿がいるから(そして重いから)Javaが叩かれるんだよ. 失せろ.
>>125
PADかぁ…懐かしいですな. あれってまだ使ってるとこあんの?
0127デフォルトの名無しさん
NGNG構造体の視覚化ならUMLのクラス図とかオブジェクト図とか
>>126
どうなんでしょ?
0128デフォルトの名無しさん
NGNGJava厨にも成り切れてない奴ハケーン
半端にC++かじったの丸出し
0129デフォルトの名無しさん
NGNGいまだにフローチャート書き出す奴がいて欝…。
ずっと俺様図で書いてたわけだから、それを標準化したUMLは偉大だと思う。
>>128
アフォーは放っておきましょうや。
0130デフォルトの名無しさん
NGNGやっぱUMLの、それに代わる図(あるのか知らないけど)を使いますか?
俺(他人のための資料としての)図は描かないんで、良く分からんのですが…
0131デフォルトの名無しさん
NGNG0132>>118
NGNG0133107です
NGNG最小値と最大値を求めるものである。( )に適当な行番号を入れて
プログラムを完成せよ。
100 INPUT " a=";A
110 INPUT " b=";B
120 INPUT " c=";C
130 U=C
140 V=C
150 FOR X=0 TO 9
160 Y=A*X*X+B*X+C
170 IF Y>=U THEN GOTO ( )
180 U=Y
190 IF Y<=V THEN GOTO ( )
200 V=Y
210 NEXT X
220 PRINT "最小値";U
230 PRINT "最大値";V
240 END
0134107です
NGNGを入力すると、180行は( )回 、200行は( )回実行され
最小値=( )
最大値=( )
が表示される。また、170行の不等号>=を>に、190行の不等号<=を
<に変更したのち、同じデータを入力すると、180行は( )回
200行は( )回実行され
最小値=( )
最大値=( )
が表示される。
0135107です
NGNG冒頭のプログラムの170行と180行を削除して、170行を
170( )
と書き直しても同じ結果を得る。同様に190行と200行を削除し
190( )
と書き直すこともできる。ただし、上記の( )については、下記より
もっとも ふさわしいものを一つずつ選んで書きなさい。
IF Y>U THEN U=Y IF Y<U THEN U=Y
IF Y=U THEN U=Y IF Y>V THEN V=Y
IF Y<V THEN V=Y IF Y=V THEN V=Y
0136デフォルトの名無しさん
NGNG190, 210
>>135
IF Y<U THEN U=Y, IF Y>V THEN V=Y
>>134
てめーで計算すれ。
0137デフォルトの名無しさん
NGNG3, 2, 40, 10
4, 3, 40, 10
か?
ってか、このスレってこういう工房の宿題を求めてるのか?
0138デフォルトの名無しさん
NGNG丸投げするヤシを甘やかすスレではないと思われ。
というわけで>>107は氏ね。
0139107です
NGNG0140
NGNG暇だから。
0141デフォルトの名無しさん
NGNG他スレで丸投げされると嫌だからこのスレがあるんだろ。
0142デフォルトの名無しさん
NGNG0143せめて >>1 を読んでほしい
NGNG・どこまでわかったのかを書くこと。
丸投げする人は、せめて
・自分の力ではまったく頑張っていないこと
・まったく分からないこと
この2つぐらいは書こうよ。
0144デフォルトの名無しさん
NGNG宿題をそのまま書き写したほうが、まだましではないかと、思う次第であります。
0145▽・w・▽
NGNG0146デフォルトの名無しさん
NGNG同意。独自の言葉を使われても困ってしまう。
0147デフォルトの名無しさん
NGNGお、わんちゃん久しぶり。
0148デフォルトの名無しさん
NGNG▼・w・▼
じゃなかったっけ?
▽・w・▽
だとザリガニみたいでヤ
0149デフォルトの名無しさん
NGNG0150デフォルトの名無しさん
NGNG大体いつもどんな宿題来んの?
大学で出されたと思われる宿題が結構多い気がしたんだけど
0151デフォルトの名無しさん
NGNG極まれに新人君への宿題とかあるかも。
0152デフォルトの名無しさん
NGNG0153デフォルトの名無しさん
NGNG0154デフォルトの名無しさん
NGNGふーん、なるほど。
気軽にネットできる環境にいて、なおかつ2ch利用者で、
そのうえこのスレの住人で…、っていう条件で間引きされていくと
宿題の種類は限定されてくるのかもね
…いや、投稿者の種類が限定されるだけか…
0155デフォルトの名無しさん
NGNGネットで丸投げできる人 (=ねたも気にしない) で
2chねら (=学校で「逝ってよし」と優越感たっぷりに逝っているヤシ=初心者=厨房で…
0156デフォルトの名無しさん
NGNGチ○○立ちます他。
0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNGman(namihei,mail)
man(fune,femail)
man(sazae,femail)
man(masuo,mail)
man(katuo,mail)
man(wakame,femail)
man(tarao,mail)
を用いて
parent(sazae,X) → tarao
marriage(namihei,fune) → true
とか、なるべく沢山家族関係を判断できるようにしろといわれました。
当方文系で理系音痴なため、何がなんだかさっぱりです。
教官をギャフンと言わせたいので力をお貸しください。
0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNGや、足りないものは勝手に補ってよいそうなので。
とりあえずこちら(教官)側からの条件はこれだけ、らすぃです。
0162デフォルトの名無しさん
NGNG問題文の不備を指摘したレポートでも書いたほうが良いと思われ。
0163デフォルトの名無しさん
NGNGつくる宿題とみていいだろう。イソノ家を例につかっていることから、
そんなにパフォーマンスは問題にしなくてもいいだろうと推測できる。
まず、各人につき 妻/夫、子、父、母 が記されていれば、
家族関係はその連鎖で表現できる。(祖父:父の父/母の父など)
(嫌がらせがしたいなら、妻/夫を複数もてるようにしたり、同性の結婚、
継母、養子、近親婚などの要素を盛り込むこともできよう)
あとは、すべての人にIDを付け、自分からみた家族関係を
IDで表現させる。人名->ID、ID -> 人(家族関係)の巨大なハッシュに
全てを放り込み、家族チェーンをたどるごとに、テーブルを見にいく。
実際には、AddChild(p,c)とか、Marriage(p,p)とかを使い、関係を構築
するのがよいとおもわれる。
#近親婚による、無限ループには注意せよ。
0164デフォルトの名無しさん
NGNGや、できないならできないでそう言ってあげればいいじゃん。
かく言う漏れもできません。
>>158
ttp://www.geocities.co.jp/SiliconValley-Oakland/1680/prolog/
この辺じゃだめなのけ?
0165デフォルトの名無しさん
NGNG0166デフォルトの名無しさん
NGNG0167158
NGNG>>158さんのリンク先見て勉強してきます。
>>163さん、ありがとうございます。
おっしゃってる方向でやってみようと思います。
なんとかなったら、成果を貼るべきなんでしょうか?
0168デフォルトの名無しさん
NGNG目的、プログラムからWINDOSのアクティブデスクトップにhtmlを登録する。
関連するunit ShlObj,comobj, WinInet;
現在の進捗
IActiveDesktop <WINDOWSのコンポーネントを使って実現する(多分)
このコンポーネントを使って壁紙の変更はできている。(コンポーネントの呼び出しは間違っていない)
質問
1)このコンポーネントでそもそもアクティブデスクトップにHTMLを登録できるのか?
2)もし可能ならどのメソッドを使うのか?
msdnURL
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/ifaces/iactivedesktop/iactivedesktop.asp
3)いくつか該当しそうなメソッドがあるので、
ADDDesktopItem()
ADDUrl()
を試したのだが...パラメーターエラーを返してくる。
何処がエラーだか分からない。(続きます)
0169デフォルトの名無しさん
NGNGhObj := CreateComObject(StringToGUID('{75048700-EF1F-11D0-9888-006097DEACF9}'));
ADesktop := hObj as IActiveDesktop;
with Cop do begin
dwSize:= sizeof(Cop);
iLeft:=0;
iTop:=0;
dwWidth:=300;
dwHeight:=300;
izIndex:=0;
fCanResize:=true;
fCanResizeX:=true;
fCanResizeY:=true;
iPreferredLeftPercent:=100;
iPreferredTopPercent:=100;
end;
With Co do begin
dwSize:=sizeof(Co);
dwID:=0;
iComponentType:=COMP_TYPE_HTMLDOC;
fChecked:=true;
fDirty:=true;
fNoScroll:=true;
cpPos:=Cop;
StringToWideChar('hoge',wszFriendlyName, MAX_PATH);
StringToWideChar(OpenDialog1.FileName,wszSource,INTERNET_MAX_URL_LENGTH);
StringToWideChar(OpenDialog1.FileName,wszSubscribedURL,INTERNET_MAX_URL_LENGTH);
end;
// Ecode:=ADesktop.ADDUrl(hwnd,wstr,Co,ADDURL_SILENT);
Ecode:=ADesktop.AddDesktopItem(Co,0);
実行するとパラメーターが不正とエラーが帰ってくる。
---------------------------------------------------------------
かなりお手上げ状態です。
パラメーターが不正は、おそらくconponent 構造体が間違っていると推測されるが
どこが間違っているか不明。
さらに続きます
0170デフォルトの名無しさん
NGNGtype
{$EXTERNALSYM _tagCOMPONENT}
_tagCOMPONENT = packed record
dwSize: DWORD; // Size of this structure
dwID: DWORD; // Reserved: Set it always to zero.
iComponentType: Integer; // One of COMP_TYPE_*
fChecked: BOOL; // Is this component enabled?
fDirty: BOOL; // Had the component been modified and not yet saved to disk?
fNoScroll: BOOL; // Is the component scrollable?
cpPos: TCompPos; // Width, height etc.,
wszFriendlyName: array[0..MAX_PATH - 1] of WideChar; // Friendly name of component.
wszSource: array[0..INTERNET_MAX_URL_LENGTH - 1] of WideChar; //URL of the component.
wszSubscribedURL: array[0..INTERNET_MAX_URL_LENGTH - 1] of WideChar; //Subscrined URL
end;
msdnのそれと見比べると微妙に違う部分がある
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/structures/component.asp
------------------------
どなたか解かる方、ご教授ください。
0171デフォルトの名無しさん
NGNG問題:
まずランダムな2つの数を決定する。(例:12と39)
セル間の最短距離を求めるアルゴリズムを考えよ。(上の場合:5)
上の問題なんですけど、どなたか、お助けください。
ひとつに着目して、その回りを考えて求める気がするんですが…
よろしくお願いします。できれば、Cでお答えいただくとうれしいです
0172デフォルトの名無しさん
NGNGそれに一番ちかいhexを新たなsrcとして、dstに到着するまでに
経由したhexの数を数える、というあたりか。
0173デフォルトの名無しさん
NGNGダイクストラ法を使うべき。で、それを見越すなら、
この問題も、hexを接点とし、まわりのhex接点へ
コスト1の枝がのびているような感じで解くべし。
0174デフォルトの名無しさん
NGNG座標があるなら、連立方程式を解くだけだぞ。
0175デフォルトの名無しさん
NGNG小数点以下切り上げで済むんかな、、、微妙に不安デス
えと、連立方程式ッテ?
0176デフォルトの名無しさん
NGNG最短距離は縦セル数+斜めセル数になる。
0177171
NGNGありがとうございます。
ところでどのように、連立方程式を立てるのですか?
それに、これを座標に変換した場合、
任意のセルはどのように表されるのでしょうか?
1を第一層として、周りを順に2・3…層と考えてランダムな定数(一つ目を)
の層数(3n(n-1)+2<=N<=3n(n+1)+1 (n=1,2,3...))を求めましたが、
後が続きません。
もう少し、お付き合い願えたらうれしいです。。。
0178176
NGNG座標の単位を横ax 縦ay
座標上での 2セルの差を横x 縦y
斜めセル数 m 縦セル数 n とすると
x = ax * m
y = ay / 2 * m + ay * n
という方程式が立てられる。
0179デフォルトの名無しさん
NGNGint型の変数、aとbを用意し、それぞれ3と7で初期化する。
そのふたつの変数の値を足したものをディスプレイに表示せよ。
誰かわかりませんか?
0180デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void){int a=3,b=7;printf("%d",a+b);return 0;}
じゃだめなのか?
もっと深い意味があるのか??
0181デフォルトの名無しさん
NGNG動きました! ありがとうございます!
もうintとかprintfとかさっぱり分からないんです。というか授業出ていませんので。
0182デフォルトの名無しさん
NGNG0183デフォルトの名無しさん
NGNG( ・ω・)ノ――――@" クルクル ( ・ω・)ノ@ パシッ
0184デフォルトの名無しさん
NGNG在る意味驚愕
0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNGでもたまに思わず
int func(void)
を
int func()
としてしまう罠。
0188デフォルトの名無しさん
NGNGs2に入れる関数expand(s1,s2)を作れ。
っていう問題。
プログラミング言語Cの演算3-3なんですけども。
0189デフォルトの名無しさん
NGNG0190デフォルトの名無しさん
NGNGという文字列が見付かったら、
abcdefghijklmnopqrstuvwxyz
という文字列に置き換えればいいの?
それとも
c-h → cdefgh
とかも対応するのか
0191デフォルトの名無しさん
NGNG後者にも対応します。
問題ではさらに、
a-b-cや0-9などの対応もせよ、とあります。
0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNG手元にその本がないから何ともいえんのだが、
[a-]とか[-z]とか[a-2]とか[z-a]とか[-]とかが与えられたときどーすんだ?
そのプロトタイプだとa2があふれる可能性が考えられるが、それは別にいいのか?
問題は省略せずに全部書いておくれ。
0194デフォルトの名無しさん
NGNGvoid expand( char *s1, char *s2 )
{
char *pt;
char ch;
int isnotfirst = 0;
pt = NULL;
while( '\0' != *s1 ) {
if( isnotfirst && '-' == *s1 && *s2 < *(s1+1) ) {
for( ch = *s2+1; ch < *(s1+1); ch++ ) {
s2 ++;
*s2 = ch;
}
}
else {
if( isnotfirst ) {
s2 ++;
}
else {
isnotfirst = 1;
}
*s2 = *s1;
}
s1++;
}
*(s2+1) = '\0';
}
0195デフォルトの名無しさん
NGNG問題に与えられていない条件については
鼻から悪魔が出てもかまわないということで
まったく考えない、とか。
0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNG0198171
NGNG0199デフォルトの名無しさん
NGNG問題文は以下のとおりです。
--
文字列s1中のa-zのような省略記法をそれと等価な完全リストabc
・・・・・xyzにしてs2中に展開する関数expand(s1,s2)を書け。大文字、小文字、数字
を許し、a-b-cやa-z0-9や-a-zのような場合も処理できるようにせよ。先
頭および最後の-は文字とみなすことにする。
--
>>194ありがとうございます。参考にさせてもらいます。
0200デフォルトの名無しさん
NGNG今、ファイルを検索してコマンドライン引数で指定した文字列が
ファイルの中にあれば、
その文字列を取り出して出力させる。といったプログラムを作っているのですが、
findfirst,findnextなどを使って同じディレクトリのファイルを検索することは
できるのですが、
サブディレクトリの検索の仕方が分かりません。
どなたか教えていただけないでしょ
うか。
初歩的な質問かもしれませんがよろしくお願いします。
0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNGOSはWindowsか?
unixあるいはgccならopendirなんだが・・・Windowsは知らん。
0203デフォルトの名無しさん
NGNGなんていわなくてもわかってる(w
0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNGffblk->attrib|FA_DIREC
0206デフォルトの名無しさん
NGNGgrep?
0207デフォルトの名無しさん
NGNG0208デフォルトの名無しさん
NGNG0209デフォルトの名無しさん
NGNGconnect()の返り値が0のときでも、proxyじゃない場合があります。
proxyかどうか調べるには、どうすればいいでしょうか?
0210デフォルトの名無しさん
NGNGちゃんとしたブツを転送してもらえるか
確認するしかねーだろ。
自分とこの鯖に検証用のファイルをおいて、
プログラム内蔵のと比較するとかが楽だな。
0211▽・w・▽
NGNG0212デフォルトの名無しさん
NGNG∧_∧
(;´Д`)
/ \
__| | | |__
\  ̄ ̄ ̄ ̄ ̄ \
||\ \
||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
|| || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
.|| ||
0213デフォルトの名無しさん
NGNGまさか、居残り??
0214x
NGNG分かり易く説明できる方いませんか?
0215デフォルトの名無しさん
NGNG迷路で行き止まりにぶちあたったときに、前の分岐点まで戻って、
他の道を進もうというのがバックトラック
0216デフォルトの名無しさん
NGNG0217デフォルトの名無しさん
NGNGコルーチンは擬似マルチタスク。
途中で処理を中断し、他のコルーチンに制御を移したりでき、
中断した場所から再開できたりする。
0219デフォルトの名無しさん
NGNG0220デフォルトの名無しさん
NGNGあれ、ラスプーチンじゃなかったっけ?
とマジレスしてみるテスト
0221x
NGNG0222デフォルトの名無しさん
NGNG【子ルーチン】
”サブルーチン”の埼玉地方の方言
0223デフォルトの名無しさん
NGNGどういうものか説明できる人いませんか?
日本語だと、コピー割り当てと共有割り当てになるんだろうか?
0224デフォルトの名無しさん
NGNGassignmentは「代入」という訳をあてたほうがいい。
0225デフォルトの名無しさん
NGNGなんかボケてる?
0226デフォルトの名無しさん
NGNGint& i = j; // share
0227デフォルトの名無しさん
NGNGassignment-by-sharing
参照型の代入で参照の値(アドレス)はコピーされるけど、
参照している実体の方はコピーせず共有する。
assignment-by-copy
参照型の代入で参照の値(アドレス)はコピーされ、
参照している実体の方もコピーする。
それか
値型の代入で値(実体)がコピーされる。
のどちらかだとおもう。
0228デフォルトの名無しさん
NGNGなんかへんだぞ。そのままでいいだろ
assignment-by-copy:代入した結果オブジェクトの複製が作られる
assignment-by-sharing:代入した結果オブジェクトを共有する
0229C初心者
NGNGテキトーに関数を書いてみました。
…が、どーみてもメモリ食いまくる、極悪ソースにしか見えないんです。
アルゴリズムを勘違いしまくってるんだと思うんですが、
わかんないです。
----<ここから>----
void qSort(int *ps, int num) {
int lbuf[MAX], rbuf[MAX], i, l = 0, r = 0, n, base;
n = num / 2;
base = *(ps + n);
for(i = 0;i < num;++i) {
if(i != n) {
if(*(ps + i) < base)
lbuf[l++] = *(ps + i);
else
rbuf[r++] = *(ps + i);
}
}
for(i = 0;i < l;++i)
*(ps + i) = lbuf[i];
*(ps + i) = base;
for(i = 0;i < r;++i)
*(ps + l + i + 1) = rbuf[i];
if(l > 1)
qSort(ps, l);
if(r > 1)
qSort(ps + l + 1, r);
return;
}
----<ここまで>----
記述言語はみてのとーり、Cです
MAXはソート対象の最大配列数です
関数の引数は、
ひとつめ、整列させたい配列の始点
ふたつめ、整列させたい配列の件数
です(対象配列はint型、ソートは昇順で固定)
間違ってるとこ、変なとこ、どしどし指摘お願いします。
0230デフォルトの名無しさん
NGNGディレクトリ見つけたらSetCurrentDirectoryでそのディレクトリに移動して
またFindFirstすれ。
0231デフォルトの名無しさん
NGNG言語は日本語で楽しい思い出という題で400字詰原稿用紙5枚です。
期限は9月2日なのでそれまでにできるようによろしくお願いします。
0232デフォルトの名無しさん
NGNGstruct BitMapfileHeader{
unsigned short bfType;
unsigned long bfSize;
unsigned short bfReserved1;
unsigned short bfReserved2;
unsigned long bfOffBits;
};
という構造体を作って、
BitMapfileHeader header;
ifstream in("hogehoge.bmp", ios::in | ios::binary );
in.read((char *) &header, sizeof header);
としてみたのですがうまくいきません。こういった構造体にファイルから入力するいい方法ありませんか?
0233デフォルトの名無しさん
NGNG0234デフォルトの名無しさん
NGNG0235デフォルトの名無しさん
NGNGねえよ
餓鬼をだまして遊ぶなよ
0236デフォルトの名無しさん
NGNGtypedef struct tagBITMAPFILEHEADER {
WORD bfType;
DWORD bfSize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;
} BITMAPFILEHEADER;
0237デフォルトの名無しさん
NGNG餓鬼をだまして遊ぶなよ
0238デフォルトの名無しさん
NGNGどこにあるんだよ・・・
0239デフォルトの名無しさん
NGNG彼の頭のなかさ
妄想とも言うが
0240233
NGNGC++ではboostも日常的だからそれはないと思うが
0241デフォルトの名無しさん
NGNGそれも妄想
0242デフォルトの名無しさん
NGNGスペルが違うかと思ってMSDN探しちまったよ。
0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNG0245232
NGNG0246デフォルトの名無しさん
NGNGその環境にはBITMAPFILEHEADERないぞ.
0247232
NGNGということは自分で定義してて正解ですよね?
BitMapfileHeader header;
ifstream in("hogehoge.bmp", ios::in | ios::binary );
in.read((char *) &header.bfType, 2);
........
とかやってみたんですが結果は変わらず。
0248デフォルトの名無しさん
NGNG問題を切り分けできないか?
・そもそもファイルから読み込みできているのか?
・構造体への読み込みができないのか?
char head[20];
in.read(head, 20);
でheadにちゃんとファイルの先頭20バイトが読まれてる?
0249デフォルトの名無しさん
NGNG0250デフォルトの名無しさん
NGNGうちのCygwin+gcc(x86)でやってみましたが、
まず、sizeof BitMapfileHeader が16になりました
249さんが指摘してるように、bfTypeメンバの後ろに2byteの詰め物が入ってると思います
ですから
in.read((char *) &header, sizeof header);
とやるのはさすがに強引
あと
in.read((char *) &header.bfType, 2);
の方はうちではちゃんと'B'と'M'が読みとれてましたが、ダメだったですか?
0251デフォルトの名無しさん
NGNG普通は直交化専用の関数なりクラスなりを作成して、
そこで読み書きするんだろうね。
無理に一発で構造体に読み込まなくてもいいんでないかい?
0252デフォルトの名無しさん
NGNGさよなら夏厨
0253デフォルトの名無しさん
NGNGMyClass m = new MyClass();
m = null;
ってやると、m の中に入っている参照は、gc の対象になりますか?
(すぐ gc されるかどうかは別として)
0254デフォルトの名無しさん
NGNG0255デフォルトの名無しさん
NGNGどっかに自分自身のインスタンスを渡してたりすると…ま、そんなひっかけなしね。
0256デフォルトの名無しさん
NGNG$ grep BITMAPFILEHEADER /usr/include/wine/wingdi.h
} BITMAPFILEHEADER, *PBITMAPFILEHEADER, *LPBITMAPFILEHEADER;
0257デフォルトの名無しさん
NGNG大学生の夏休みはまだまだ続くがな。
0258
NGNG学力が身につくのかね、、、
0259253
NGNG>>254
>>255
> どっかに自分自身のインスタンスを渡してたりすると…ま、そんなひっかけなしね
なるほどー。
ありがとうございます。
本当に聞きたかった事をちゃんとかいてみます。
class MyClass extends Thread {
public void run() {}
}
public class Test {
public static void main(String[] args) {
MyClass m = new MyClass();
// m.start();
m = null;
}
}
MyClass の実装が、上のようにスレッドオブジェクトだとしても、おなじでしょうか?
まだ start() されてないスレッドオブジェクトは gc されますか?
run() を実行中の場合は、gc されないんだろうな、ということは実験でわかりました。
run() が終了してしまったら、gc の対象になるってことでしょうか。
http://www.y-adagio.com/public/standards/tr_javalang/index.htm
このへんは一生懸命調べたのですが、わかりませんでした。
# 決まっていない、のかな。
0260デフォルトの名無しさん
NGNG0261232
NGNGchar ch[2];
in.read(ch, 2);
//or
in.read((char *) &header.bfType, 2);
でBMきちんと読み込まれていることを確認しました。
>>251
一旦線形リスト(やそのほかの方法?)に読み込んで、それから構造体に
読み込むっていうことですか?
0262デフォルトの名無しさん
NGNG度数分布で表示するプログラムをつくってるんだけど、
文章が長いと、グラフも長くなり、何行にもなって見づらい。
そこで、グラフを#の数で表示しているのだけど、
#一つあたりの示す文字数を文章の長さによって変えようかと思う。
どうすればいい?
考えたのは、一番数が多かった文字を#50個ほどで表して、
そこから#一つあたりの量を出し、他の文字のグラフも表示する。
ただ、プログラムは書けない・・・
誰かお願いします。
あとgoogleで見つけたのは
ttp://www.ced.is.utsunomiya-u.ac.jp/~mie/renshuu3.cpp
でも、これだとファイル名が固定されてしまう。
0263デフォルトの名無しさん
NGNG何をつくっていいかわからん。
ヒントくれーー!
0264デフォルトの名無しさん
NGNG0265デフォルトの名無しさん
NGNGまた皆に聞いた方が良い案が
浮かびそーなので書いてみた。
0266デフォルトの名無しさん
NGNGネトゲー
0267デフォルトの名無しさん
NGNGセンスがないのでちょいキツイな。
0268manko_chinko ◆c2rpKRNM
NGNGいい店教えましょうか?
0269デフォルトの名無しさん
NGNG自分の研究室で取り扱ってるテーマとかないの?
画像処理、自然言語処理、データベースとか、そんなの。
道を外れると、卒業が怪しくなるぞ
0270デフォルトの名無しさん
NGNGint table[SIZE];
max = 0;
for (i = 0; i < SIZE; i++)
if (table[i] > max) max = table[i];
0271デフォルトの名無しさん
NGNGありがと。参考にしてみます。
0272デフォルトの名無しさん
NGNGテーマないんですよ。。
自分で決めろってかんじです。
自由なことができる反面、
選択肢が広すぎるため
テーマが決められないって感じです。
0273
NGNGじゃ、漏れの仕事半分くらいまわしてもいい?(w
0274デフォルトの名無しさん
NGNGあとで10倍くらいになって跳ね返ってくる罠。
0275デフォルトの名無しさん
NGNG馬鹿っぽい担当でも聞いておくのが正しい処世術です。
聞かずに自分で決めちゃうと、協力や助言をもらえないどころか、
嫌がらせや妨害をうけることもあります(まあめったにないけどな)。
0276デフォルトの名無しさん
NGNG俺もあまり使えないから、
結局自分でやるハメになるかもよ?(藁
>275
今度学校に行った時に教授の隠された
才能を探してきます!
0277デフォルトの名無しさん
NGNGこの問題の解を教えてください。
自分では三つ目のループをsqrtにするぐらいしか思い浮かびませんでした。
0278デフォルトの名無しさん
NGNGウェブ版には答えないのね。
http://club.pep.ne.jp/~asuzui/page9.html
0279デフォルトの名無しさん
NGNGランダムで一回ずつ出すには
どうしたらいい?
0280デフォルトの名無しさん
NGNG0281デフォルトの名無しさん
NGNGBasicだろうと何だろうと。。。
最適なアルゴリズムは、たぶんこうだろ↓
さいしょ:配列A(10)に、1〜10の値を重複なく入れておく
A={1,2,3,4,5,6,7,8,9,10}
1回目:1〜10の乱数をとる・・・例えば 3 が出れば、A(1)とA(3)を交換。
A={3|2,1,4,5,6,7,8,9,10}
2回目:2〜10の乱数をとる・・・例えば 9 が出れば、A(2)とA(9)を交換。
A={3,9|1,4,5,6,7,8,2,10}
:
K回目:K〜10の乱数をとる・・・例えば R が出れば、A(K)とA(R)を交換。
:
最終的に、「10回の反復で配列A(10)をシャッフルできた」ことになる。
0282279
NGNGポケコンのベーシックです
0283デフォルトの名無しさん
NGNG0284279
NGNGそれをどうやって書けばいいのやら
0285デフォルトの名無しさん
NGNGK〜10の乱数をとる・・・例えば R が出れば、A(K)とA(R)を交換。
これを書けないと、やばいとおもうぞ。それ以前に、乱数の出し方わかるのか?
0286279
NGNG『乱数を意味する語』10←1からその数まで
これしか知りません
0287デフォルトの名無しさん
NGNG0288デフォルトの名無しさん
NGNGふつう、直接出せるのは「0〜Nの乱数」とかだと思う。
んで、↓こういうふうに足し算や引き算でずらしたりする。
「K〜10の乱数」=「0〜(10-K)の乱数」+K
0289279
NGNGRND 式
と書いてあります
ちなみにポケコンの種類は
SHARPのPC−G850Vです
0290デフォルトの名無しさん
NGNGでいいのかな。0からじゃなくて、1からって書いてある?
0291279
NGNGちなみに一回ずつ出す方法ですよ
0292デフォルトの名無しさん
NGNG「K〜10の乱数」=「1〜(1+10-K)の乱数」+K-1=「(RND (11-K))+K-1」
うそかもしれん
>>291
なんかわかってないっぽいな。
>>281は何をやってるかっていうと、
既に選んだ数字を配列の左側に寄せておいて、
重複して選ばないようにしてるんだよ。
0293279
NGNG281みたいなのはベーシックでも出来るんですか?
0294デフォルトの名無しさん
NGNG(1) A(1)〜A(10)に、1〜10の値を入れておく
(2) 以下を K=1〜10について繰り返す:
(2-1) K〜10の乱数をとり、Rに入れる。
※ここでA(R)の値が、重複のない乱数
(2-2) A(K)とA(R)を交換。
結果:A(1)〜A(10)に、ランダムな順番で1〜10が並んでいる。
0295279
NGNG皆さんありがとうございました
がんばってみます
提出は今日じゃなくて最初の授業だし
0296デフォルトの名無しさん
NGNGtime渡して〜〜
randomize()とかあった?
綴り違うかも・・・
0297デフォルトの名無しさん
NGNG「リンケージ情報」ってどういうことじゃろうか?
0298デフォルトの名無しさん
NGNG想像=「linkerがどこをどう結合したらいいかってのを決められるように、
compilerがobject programの中に付け加える情報」?
コンパイルの過程に出てくる話でしょ。linkerの役割をちゃんと調べれば
わかるんじゃない?
0299デフォルトの名無しさん
NGNG1020 FOR I=1 TO 10
1030 A(I)=I
1040 NEXT I
1050 FOR I=1 TO 10
1060 K=RND 10
1070 B=A(K)
1080 A(K)=A(I)
1090 A(I)=B
1100 NEXT I
1110 FOR I=1 TO 10
1120 PRINT A(I);
1130 NEXT I
0300277
NGNG>>278で教えて頂いたページをみて考えたら、こんなのになりました。
24284ms → 20ms と速くはなったんで、これで一応正解と考えても良いのでしょうか?
#include <iostream>
#include <time.h>
#include <list>
using namespace std;
typedef struct DATA {
long a;
long b;
long c;
} DATA;
long gcm( long a, long b )
{
long c;
if ( a < b )
return gcm( b, a );
c = a % b;
if ( c == 0 )
return b;
return gcm( b, c );
}
bool comp( DATA a, DATA b )
{
return ( a.c < b.c ) ? true : false;
}
続きます。
0301277
NGNG{
clock_t begin; double end;
begin = clock();
list< DATA > l;
DATA d;
long a, b, x, y, z, time; time = 0;
for ( a = 1; a < 100; ++a ) {
for ( b = 1; b < a; ++b ) {
z = a*a + b*b;
if ( z > 10000 )
break;
x = a*a - b*b; y = 2*a*b;
if( gcm( y, x ) != 1 )
continue;
if ( x*x + y*y == z*z ) {
d.a = ( x < y ) ? x : y;
d.b = ( x > y ) ? x : y;
d.c = z;
l.push_back( d );
}
}
}
l.sort( comp );
list< DATA >::const_iterator it;
for ( it = l.begin(); it != l.end(); ++it ) {
d = *it;
cout << ++time << "\t" << d.a << "\t" << d.b << "\t" << d.c << endl;
}
end = clock() - begin; printf( "%.3f\n", end );
return 0;
}
0303デフォルトの名無しさん
NGNG0304デフォルトの名無しさん
NGNGまぁそれでもいいけどね。ちょっと雑だけど
0305デフォルトの名無しさん
NGNG(2) 以下を K=10〜1について繰り返す:
(2-1) 0〜K-1の乱数をとり、Rに入れる。
※ここでA(R+1)の値が、重複のない乱数
(2-2) A(K)とA(R+1)を交換。
結果:A(1)〜A(10)に、ランダムな順番で1〜10が並んでいる。
↑こうすれば乱数が簡単にならない?亀レススマソ。
0306デフォルトの名無しさん
NGNG0307デフォルトの名無しさん
NGNGあっBASICだったけか!?PascalではDowntoを使うんだね。
BASICはSTEP -1 とすればいいのか。
0308デフォルトの名無しさん
NGNGちなみに乱数が1ベースらしいから、↓これが一番自然かな
(1) A(1)〜A(10)に、1〜10の値を入れておく
(2) 以下を K=10〜1について繰り返す:
(2-1) 1〜Kの乱数をとり、Rに入れる。
※ここでA(R)の値が、重複のない乱数
(2-2) A(K)とA(R)を交換。
0309デフォルトの名無しさん
NGNG命令メモリの所がどうしてもコンパイルできません。下記のプログラムで、assign文のところで、エラーが出ます。
どこが間違っているのでしょうか?
・Data_mem
module data_mem(read_data,data_addr,read_data2,mem_write,mem_read,clk,mem_addr,
mem_data,rst,result);
parameter size = 32;
input[31:0] read_data2, mem_data ;
input[3:0] data_addr, mem_addr;
input mem_write,clk,rst,mem_read;
output[31:0] read_data,result;
reg[31:0] data_memory[0:size-1];
always@(negedge clk)
if(rst) data_memory[mem_addr]<=mem_data;
else if(mem_write) data_memory[mem_addr]<=read_data2;
assign read_data=(mem_read)? data_memory[data_addr]:32’bz;
assign result =(~rst)& data_memory[mem_addr] :32’bz;
endmodule
0310デフォルトの名無しさん
NGNGVerilogは知らんのだけど、ざっと見た限りでは、
エラーが出ているのは、2番目のassign文か?
はずれたら、多分オレには無理。
あとこの板、Verilog使いは少ないと思うぞ。
かといってどの板に行けばいいかは知らん。
0311デフォルトの名無しさん
NGNGVerilog知らないけど、これって「assign X = A ? B : C」という形?
だとすると、「?」が「&」に化けてるのではないだろーか。
あるいは、末尾の「:32’bz」が余計だとか。
ところで、「’」が全角だが、これも怪しいぞ
0312デフォルトの名無しさん
NGNG0313デフォルトの名無しさん
NGNG一定時間(10分程度でいい)登録する方法などありませんでしょうか?
一定時間(1分とか)に同じIPからportを10種ほど叩かれたら止めたいです。
Perlとかで作れたら助かります。
参考になるサイトとかこれを改造したら?とかでもいいです。
よろしくお願いします。
0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNG0316デフォルトの名無しさん
NGNGとか言ってみる。
0317デフォルトの名無しさん
NGNGportscanの検出のやり方が分からないのか
hosts.allowへの登録方法が分からないのか
それとも、他の何かなのか。
全部分かりませんっていうなら氏ね
0318313
NGNGまずportscanをされたときの相手のIPを調べるというところがわかりません。
どのportを現在たたかれているのかがわからないのです。
/var/log/messageには
Limiting closed port RST response from 218 to 200 packets per second
このようなログしか残りませんでした。
IPとportのログを出す方法をとりあえず教えていただきたいです。
あt、一定時間ごとにチェックするというのもcronで制御をするとしか思いつきません。
前10分間に、このIPからこれだけのアクセスがあったから次の10分間はhosts.allowに追加・・・。
前10分間の中のデータを調べるのにはどのようにしたら楽なのか?
データベースを使ったほうがいいのか?
これは実際portscanをしてきた人に有効なのか?
似たようなツールがすでにあるのか?
プログラムをつくるにあたって考え方は間違っていないのか?
いろいろ思います。助言よろしくおねがいします。
0319デフォルトの名無しさん
NGNGiplogってのが出てきた
http://www.zdnet.co.jp/help/tips/linux/l0516.html
関係ないかも
0320デフォルトの名無しさん
NGNG0321デフォルトの名無しさん
NGNGどうか教えてください。
標準入力のハンドルをゲットするAPIを使って組んだのですが、
こちらの思うように動作しません。
どうも、自分はパイプの仕組みがよく分かって無いみたいです。
dir | foo.exe とした時のfoo.exeを作りたいんです。
私のこだわりで dir > foo.exe とはしたくありません。
わがままを言って申し訳ありませんが、
どうかおながいします。
0322デフォルトの名無しさん
NGNGdir > foo.exe と dir | foo.exe は違う動作だと思うんだが…。
dir > foo.exe は dir の出力を foo.exe というファイルに(存在しなければ作って)書き出す。
dir | foo.exe は dir の出力を foo.exe という標準入力に渡す。
まず先にDOSの使い方を勉強した方がイイかもしれん。
0323デフォルトの名無しさん
NGNGdir | foo.exe をしたいんですよ。
GetStdHandle (STDIN) して、そのハンドルでReadFileしたん
ですけど親プロセスのパイプの端が自プロセスの標準入力ハンドルに
割り当てられてないみたいなんです。
入力バッファにCR+LFが来るの待ってるみたいで・・・
0324デフォルトの名無しさん
NGNGそれはそれとして、無様なので晒しておくぞ↓
私のこだわりで dir > foo.exe とはしたくありません。
私のこだわりで dir > foo.exe とはしたくありません。
私のこだわりで dir > foo.exe とはしたくありません。
私のこだわりで dir > foo.exe とはしたくありません。
0325デフォルトの名無しさん
NGNGコンソールアプリ作りたいのにDOSの基礎中の基礎的な使い方も分からんなんて、
野球するのにバットの振り方が分からんのと同じだろうが。
とりあえず、不様だから晒しとくか。
dir | foo.exe とした時のfoo.exeを作りたいんです。
私のこだわりで dir > foo.exe とはしたくありません。
dir | foo.exe とした時のfoo.exeを作りたいんです。
私のこだわりで dir > foo.exe とはしたくありません。
dir | foo.exe とした時のfoo.exeを作りたいんです。
私のこだわりで dir > foo.exe とはしたくありません。
dir | foo.exe とした時のfoo.exeを作りたいんです。
私のこだわりで dir > foo.exe とはしたくありません。
dir | foo.exe とした時のfoo.exeを作りたいんです。
私のこだわりで dir > foo.exe とはしたくありません。
0326デフォルトの名無しさん
NGNGVB知らんけど、Win32API使ってるなら、これで逝けるハズ
0327デフォルトの名無しさん
NGNG標準入力から読んだらダメなの?
0328326
NGNGGetStdHandle(STD_INPUT_HANDLE)ってのが、
標準入力のハンドルを取得するためのものなの。
VisualBasicには、getcharみたいなものがないんじゃないかと思ふ
0329デフォルトの名無しさん
NGNGそうなのか、面倒だな。Windowsプログラミングの勉強も一応するか…。
仕事で使わないからついサボっちゃうんだよね。他に面白いことあるし。
0330デフォルトの名無しさん
NGNGgetstdhandle "visual basic" STDIN
あたりでぐぐったら、こんなの↓出た
http://www.cqpub.co.jp/try/1999-9/vbcon.htm
Visual Basicでコンソールプログラムの開発
サンプルつきらしい。
0331あ〜、わかりません・・・
NGNG入力された月日までの日数を求めるプログラムを作成しなさい」
という問題で、
各月の日数でグループにわける
入力された月の前の月までは、各月の日数を1月から順に全部加えたら
いいのかな・・・と思ったんですが・・・・
思ったっだけで肝心のプログラムを書けませぬTT
こんな複雑な問題、if文とwhile文ぐらいしか習ってないのに出来るのかよぅ。
授業の範囲を越えた知識でやってもいいって・・・厳しいよ先生。
しかも、処理方法の説明や変数に記録される値の説明までしろときてます。
私にはとけやしないよう〜と泣き叫びたいっす。
簡単ですか?これ?我が儘をいわせて頂ければ、
ソースコードを書いて貰って・・・参考書片手に研究したい・・・。
0332デフォルトの名無しさん
NGNGif ( 1日 ) {
} else if ( 2日 ) {
} else if ・・・・・
}
} else if ( 2月 ) {
} else
・・・・・・
} else (12月)
0333デフォルトの名無しさん
NGNGint nissu[12][31] = {
{ 1, 2, 3, 4, 5, …… 27,28,29,30,31}, /*1月*/
{32,33,34,35,36,……58,59}, /*2月*/
(以下略)
return nissu[month-1][day-1];
範囲チェックとかは適当によろ。
0334あ〜、わかりません・・・
NGNG>>333さん
親切にどうもです。助かります。
ただ、あの〜非常に言いにくいんですが、もう少し詳しくお願いします。
すいません、自分の不勉強を棚に上げて^^;
0335デフォルトの名無しさん
NGNG>>332と>>333はネタだYOw
簡単なのは、例えばx月y日とすると、
テーブルに
month[12]={31,28,31,30,31,30,31,31,30,31,30,31};
みたいな月ごとの日数をあらかじめ入れておけば
日数はmonth[1]からmonth[x-1]までの合計にyを
くわえた数になる。
あとはがんばってみそ
#include <stdio.h>
int main() {
static const int days[][31] = {
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30},
{31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,-1,-1,-1},
{59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89},
{90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,
107,108,109,110,111,112,113,114,115,116,117,118,119,-1},
{120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,
135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150},
{151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,
166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,-1},
{181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,
196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211},
{212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,
227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242},
{243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,
258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,-1},
{273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,
288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303},
{304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,
319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,-1},
{334,335,336,337,338,339,340,341,342,343,344,345,346,347,
348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364},
};
int month, day;
if (scanf("%d%d", &month, &day) == 2)
if (month >= 1 && month <= 12 && day >= 1 && day <= 31 && days[month - 1][day - 1] >= 0)
printf("%d\n", days[month - 1][day - 1]);
return 0;
}
0337デフォルトの名無しさん
NGNG(絶対スクリプトで書いたに違いない…)
0338あ〜、わかりません・・・
NGNG>>336
ご親切にどうもです。335さんのおかげで、大分わかりかけて
きたんですが・・・
336さん、そのお答えを書いていただいたようで・・・
こんなに長いのをすいません。ここまでしていただけるとは
思いもしませんでしたので、非常に感激しました。
とりあえずは、みなさんに頂いたヒントを元に、一度自分で考えてみて、
それから336さんのお答えと照らし合わせて頑張ってみます。
ありがとうございました!
0339デフォルトの名無しさん
NGNGあと1月と2月を13月と14月にしたり。
0340デフォルトの名無しさん
NGNG0341デフォルトの名無しさん
NGNG0342デフォルトの名無しさん
NGNG#include <stdio.h>
main(){
 int m,d,sum,month[]={31,28,31,30,31,30,31,31,30,31,30,31};
 printf("input month(2)day(2) :");
 scanf("%2d%2d",&m,&d);
 for(int sum=i=0; i<m-1; i++)
  sum+=month[i];
 sum+=d;
 printf("%d",sum);
 return 0;
}
/* 実は12月が31日あるってデータは要らなかったりする罠 */
0343デフォルトの名無しさん
NGNG○
034460cm浮き上がるストレート
NGNG#include <stdio.h>
int CheckDayOfMonth(int);
void main(void)
{
int month=0,day=0,goukeiDay=0,a=0;
printf("月?");
scanf("%d",&month);
printf("日?");
scanf("%d",&day);
for(a=1;a<=month-1;a++)
goukeiDay+=CheckDayOfMonth(a);
goukeiDay+=day;
printf("合計は%d日です",goukeiDay);
}
int CheckDayOfMonth(int month)
{
if(month==2) return(28);
else if(month==4 || month==6 || month==9 || month==11) return(30);
else return(31);
return(0);
}
0345デフォルトの名無しさん
NGNG0346デフォルトの名無しさん
NGNG0347デフォルトの名無しさん
NGNG で消えているので良いのかと思ったけれど
;(セミコロン)いるの?
もしそうなら今後気をつけるけど。
0348デフォルトの名無しさん
NGNGhtmlかxmlの仕様書読め。セミコロンは必須だ。
0349デフォルトの名無しさん
NGNGおまえも親切なようで不親切だな
なんでそんなこと知るためにわざわざ膨大な資料を読まにゃならんのだ
実体参照だけで十分だろ、タコ
0350デフォルトの名無しさん
NGNGmktimeやってtm_ydayを見る
で十分だろ
0351デフォルトの名無しさん
NGNG の方が好ましいが、
 でも別に良かったはず。
# ある特定のときなら。
なるべく ; をつけるべきだが。
インデントは
たとえば半角スペース4つの場合
としてほしい。
そのままコピペできるし、
かちゅ〜しゃで参照したときも見やすいし。
0352あ〜、わかりません・・・
NGNG>>344さん
どうもです、色んなやり方がやっぱあるもんなのですねぇ。
凄く勉強になります。
なんか、かなり苦手意識があったんですが・・・なんか興味沸いてきました。
0353デフォルトの名無しさん
NGNG0354デフォルトの名無しさん
NGNG60cmだとか1m80cmだとかをやたら毛嫌いしている奴が何人かいるんだよな。
0355デフォルトの名無しさん
NGNG毛嫌いっていうか、まあ、ここのレベルを低く抑えたいならいーけどな、放置で
0356デフォルトの名無しさん
NGNG勉強する姿勢があるのはイイが(たぶん初心者?)、
そこまでクソコードになると。
0357デフォルトの名無しさん
NGNGというタイミングがよくないな。
0358発破
NGNG何故ですか!?
0359デフォルトの名無しさん
NGNGいや、放置しているヤシは別に構わないんだけど、
執拗に攻撃したり、どうしてもレスをつけちゃう奴がいるって事。
0360デフォルトの名無しさん
NGNG0361デフォルトの名無しさん
NGNGおまえら暇だったらここへいって助けてやってくれ。
宿題どころじゃなくてみんな困ってるんだ。
0362デフォルトの名無しさん
NGNG0363デフォルトの名無しさん
NGNG程度高くしてやってくれYO!
036460cm浮き上がるストレート
NGNGどういうところがダメなのでしょう。お教えお願いします。
・変数の名前のつけ方。特に○○の○○みたいな場合がダメみたいですが。
名前のつけ方の法則みたいなのでもあるのでしょうか。
・{を付ける位置。僕は、
main()
{
ですが、他の人は
main(){
としています。僕のやり方の場合タグの高さがそろうので
いいのかと思っていましたが。下に書いてある本でもそうでした。
・その他。関数の使い方、分岐、繰り返しの使い方のどれかでしょうか。
僕が勉強に使った本は、初版が1992年のエイ・エス・ティシステム・アカデミィ
という所が出した、Cプログラミング初級編、中級編です。
最初のデータ型の所から、最後のファイル操作の所まで勉強しました。
昔の本と今の本では書き方とかが違っているというのも原因の1つかもしれません。
今、正規表現入門(テキスト処理を自由自在に)という本を注文中で、
きたら勉強しなおしたいと思っています。
0365デフォルトの名無しさん
NGNG入力された月日までの日数を求めるプログラムを作成しなさい」
さて、1月1日を入力した場合、何日になるとおもう?
0366デフォルトの名無しさん
NGNG342のソースを見てみろ。
わざわざその後から糞コードを書く必要も無いだろう。
せめて、前に出されたコードと同等か良質な物を出してこい。
0367デフォルトの名無しさん
NGNG自分で機転利かせて「1引く」なりしなさい。
そういう事を言いたいんでしょ。
0368デフォルトの名無しさん
NGNG入力された月日までの日数を求めるプログラムを作成しなさい」
いままで、書かれたソースはたぶんB。
教官はうるう年計算を入れるのを期待してると思うが。
0369デフォルトの名無しさん
NGNGしまうホストがあります。
そのホストは、IEから、http://www.hoge.com/ のように入力すると、
普通に表示されるのですが、ping www.hoge.comで返ってくるIPアドレス
をいれて、http://100.100.100.100/ のようなアドレスをIEで表示すると
Apacheのデフォルトのページがでてきてしまいます。
httpクライアントで、ホスト名からIPを取得して80番ポートに繋げると
やはり、Apatcheがでてきてしまいます。
IEでドメイン名を入れた場合と、IPアドレスを入れた場合で結果が違うと
いうのはどういうところに理由があるのでしょうか?
上手く説明できなくてすみませんが、よろしくお願いします。
0370デフォルトの名無しさん
NGNGバーチャルサーバだろ。
0371デフォルトの名無しさん
NGNG0372デフォルトの名無しさん
NGNG私は356さんではないのですがマジレス。
・342のコードのように配列で月の日数を処理したほうが簡潔で
処理も軽いということで、CheckDayOfMonth(int)という関数自体いらない。
・その関数も
else return(31); → return 31;
return(0); →いらない
とすればいいわけで、無駄があった。
・変数名もmonth、dayときていきなりローマ字でgoukeiDay
初心者にもわかりやすくということで、ローマンなら
わからなくもなくなくなくないけど。。
こんなかんじで60cmぐらい浮いてるソースコードになってたのが
叩かれぎみになってしまった理由の1つかと。
0373デフォルトの名無しさん
NGNG0374デフォルトの名無しさん
NGNG寝呆けんな
0375デフォルトの名無しさん
NGNG2002年の「月」と「日」を入力するのに
教官はうるう年を期待してるですか??
もう許さんです!
大間違いだよです!
絶対許さんです!
037660cm浮き上がるストレート
NGNGお答えありがとうございました。参考にさせていただきます。
0377びひゃ〜ん ◆CplusNDg
NGNGint Leapyear(int year)
{
return (year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0);
}
0378デフォルトの名無しさん
NGNGこっちのほうがよくない? 一回の呼び出しで済むし。
範囲チェックは外でってことで。
int CountDays(int day, int month)
{
static int mCount = [0,31,59,89,120,150,181,212,242,273,303];
int count;
count = day;
count += mcount[month];
return(count);
}
0379デフォルトの名無しさん
NGNGcount += mcount[month];
↓
count += mcount[month-1];
0381デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
static int get_input_int( const char *prompt ) {
char buf[256];
printf( "%s: ", prompt );
if ( !fgets(buf, 256, stdin) ) return -1;
return atoi( buf );
}
int main( void ) {
int month, day, ans, i;
int days_of[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
do {
month = get_input_int( "月を入力してne!(1-12)" );
} while ( month < 1 || month > 12 );
do {
char buf[30];
snprintf( buf, 30, "日を入力してne!(1-%d)", days_of[month] );
day = get_input_int( buf );
} while ( day < 1 || day > days_of[month] );
ans = -1;
for ( i = 1; i < month; i++ )
ans += days_of[i];
ans += day;
printf( "答えは %d 日だyo!\n", ans );
return 0;
}
......と言ってみるテスト
0382デフォルトの名無しさん
NGNG年にも対応。入力は省略
#include <stdio.h>
int main(void) {
int y,m,d,n ;
printf("yyyy/mm/dd>") ;
scanf("%d/%d/%d",&y,&m,&d) ;
if(m<3) y--,m+=12 ;
n=365*y+y/4-y/100+y/400+30*(m-3)+(3*(m+1))/5+d-731159 ;
printf("%d day(s)\n",n) ;
return 0 ;
}
0383デフォルトの名無しさん
NGNGとうの昔に俺が書いたよ。(無視してスレ移りやがった)
http://pc3.2ch.net/test/read.cgi/tech/1031340950/423
しかも間違ってるよ、それ。
0384デフォルトの名無しさん
NGNGしかし、>>331の文面から察するに>>342ぐらいのソースがスキル相応というか
>しかも、処理方法の説明や変数に記録される値の説明までしろときてます。
↑も比較的楽そうなので>>331には>>342がおすすめかと。
0385デフォルトの名無しさん
NGNG宿題こんなの提出したらさんざん教官に突っ込まれんだろうな。(藁
038660cm浮き上がるストレート
NGNGいろんな方のコードを見て解ったこと。
文字数が少ない。書き方が違っても同じことができる場合、
文字数が少ないほうを選ぶ。
だが3項演算子はあまりよくない。(前のスレでどなたかが言っていた)
ローカル変数名は1単語でいい。極端に言えば1文字でよい。
文字数を少なくできる。
小さいプログラムでユーザー関数は使わないほうがよい。
文字数を少なくできる。関数呼び出しは時間がかかる。
昔プログラムは、0と1で直接書いていたらしいが、今は言語を使い書いています。
言語を使えば解りやすいが、容量は多く消費します。
容量と解りやすさの線引きが大事なのかな。
0387デフォルトの名無しさん
NGNGネタをいかにもマジレスみたいに書き込むのはやめてね。
0388デフォルトの名無しさん
NGNGネタだとしてもどっかおかしい。たぶん中学生
0389369
NGNGありがとうございます。
バーチャルサーバーというものにhttpで繋ぐにはどうすればいいでしょうか?
言語はCです。
0390デフォルトの名無しさん
NGNGこう↓やってヘッダにホスト名を入れる。既に>>371が答えてるぞ。
http://x68000.startshop.co.jp/~68user/net/c-http-1.html
103: sprintf(send_buf, "GET %s HTTP/1.0\r\n", path);
104: write(s, send_buf, strlen(send_buf));
105:
106: sprintf(send_buf, "Host: %s:%d\r\n", host, port);
107: write(s, send_buf, strlen(send_buf));
108:
109: sprintf(send_buf, "\r\n");
110: write(s, send_buf, strlen(send_buf));
0391デフォルトの名無しさん
NGNG一つのIPアドレスに複数のドメインを割り当ててドメインによって振り分ける仕組みかな?
独自ドメインの使える共用レンタルサーバが採用している仕組み。
0392369
NGNG0393391
NGNG0394デフォルトの名無しさん
NGNG「バーチャルホスティング」というんだと思う。
まあ、少なくとも日本ではゴッチャに使われているようだが
0395デフォルトの名無しさん
NGNG#include <time.h>
int main(void){
struct tm foo,*bar;
time_t hogehoge;
int y,m,d;
printf("yyyy/mm/dd>");
scanf("%d/%d/%d",&y,&m,&d);
memset(&foo,0,sizeof(struct tm));
foo.tm_year=y-1900;foo.tm_mon=m-1;foo.tm_mday=d;
hogehoge=mktime(&foo);bar=localtime(&hogehoge);
printf("%d day(s)\n",bar->tm_yday);
return 0;
}
0396デフォルトの名無しさん
NGNGしかも無駄なことしてるし。
struct tm foo;
foo.tm_year = ...;
...
mktime(&foo);
printf(..., foo.tm_yday);
これだけでいいんだよ。
0397372
NGNGマジレスして損したなぁ。
「クソコード」に少し傷ついちゃったみたいだけど、
機能要求は満たしてるんだから、あとは最適化とかについてとか
論理的思考をもう少し鍛えたほうがいいと思うよ。
> いろんな方のコードを見て解ったこと。
ここのコードは質問者のレベルにあわせて解答していることもあるし、
ヒントを与えるという意味で短文のときもあるから、
必ずしも最善というわけではないよ。
まだ、コーディングも未熟みたいだし、
釣り師としてもあまりおもしろいエサを使ってないし、
あなたはこのスレの解答者側には向いてないと思います。
と60cmぐらい釣られてみるテスト。
0398395
NGNGmktimeがsrcの値を適切に設定し直してくれるとは知らんかった
0399デフォルトの名無しさん
NGNGListB:TStringList;
ListC:TStringList;
ListD:TStringList;
ListE:TStringList;
TStringList ListA〜ListEそれぞれに
任意の数の国名が入っている
すべてにTStringList共通に入っている国名が
あればmemo1に列挙するプログラムを書け。
delphiですが
まるでわかりません。助けてください。
0400デフォルトの名無しさん
NGNGTmpList: TStringList;
を用意してそこに全部突っ込んだ後ソートして
同じ国名が5個連続してたら出力。
0401デフォルトの名無しさん
NGNGdelphiは知らんがダサいソースだな
0402デフォルトの名無しさん
NGNGそいつの中身を1つづつ列挙していって、他のList全部に
存在するか確かめるようなコード書いた方がいいかも。
0403デフォルトの名無しさん
NGNG「TStringList=抽象文字列クラスTStringの具象クラス」
という怪情報をキャッチしました!
0404デフォルトの名無しさん
NGNGそれが正解っぽいな。まあ、要素数の比較とかは適当でいいと思うが。
0405デフォルトの名無しさん
NGNGTStringList
0406デフォルトの名無しさん
NGNG要素数が大きくなってくると、逆にパフォーマンス落ちないか?
それから、配列じゃなくて〜Aみたいなネーミングなので、
コードが冗長になりそうだ。
0407デフォルトの名無しさん
NGNGfor a in ListA
continue when a is in ListB
continue when a is in ListC
continue when a is in ListD
continue when a is in ListE
add a into memo1
end
0408デフォルトの名無しさん
NGNG0409デフォルトの名無しさん
NGNG400:O( 5N + 5N*log(5N) + 5N ) -> O(N*log(N) )
402:O(N*(1/2N+1/2N+1/2N+1/2N) ) -> O( N² )
か。
0410デフォルトの名無しさん
NGNG詳しく知りたければDelphiスレに逝ってらっしゃい
0411407
NGNGfor a in ListA
continue when a is not in ListB
...
日本語で書けばヨカターヨ
0412デフォルトの名無しさん
NGNGbegin
if not(ListB.find(ListA[i],index)) then continue;
if not(ListC.find(ListA[i],index)) then continue;
if not(ListD.find(ListA[i],index)) then continue;
if not(ListE.find(ListA[i],index)) then continue;
memo1.Lines.Add(ListP[cx]);
end;
0413デフォルトの名無しさん
NGNGしかも2000字以上書かないといけません
誰か手伝ってください
提出日は明後日ですお願いします
0415デフォルトの名無しさん
NGNG0416
NGNG0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNGとりあえずテロ関係のニュース検索してコピれ。
一件につき3つか4つ最後に引用先つけて。
一件ごとに感想をいれろ。車のってるなら交通事故も検索してコピれ。
これでも足りなかったら、夜中から朝まで外に出て走れ。泣け。公園のハトにえさをやれ。
そんで、その事を書け。大体間に合うはず。
0420デフォルトの名無しさん
NGNGヨタ話がのってたな。2000字ならそのあたりでええやろ
0421デフォルトの名無しさん
NGNG関係づけるのはおまえだ。
作文ていうのはそういうもんだ。
早く書け。
0422デフォルトの名無しさん
NGNGいや、ここはプログラム板だから、
せめて、プログラムに関係ある宿題にしてよ・・・
0424デフォルトの名無しさん
NGNG生命の保証は基本的人権だと思うが
0425デフォルトの名無しさん
NGNG0427デフォルトの名無しさん
NGNG基本情報の問題なんですけど、ずっとわからなくて次に進めません。
回答や参考書を見てもわからないです。
どなたかわかりやすく教えてください!
--------------------------------------------------------------------------------
次のような3バイトで数値±a×16^nを表現する浮動小数点がある。
| 指数部7ビット | 仮数部16ビット |
┌─┐─────────┐──────────────┐
│ | n | a |
└―┘―――──――――┘―――───────――――┘
↑ ↑ ▲
ビット0 数値全体の符号 小数点の位置
(0:正、1:負)
・仮数部の数値は、絶対値で表す。 0<=a<1。
・指数部のnは、指数部が16^nであることを表す。
・指数部のnの負数は、2の補数で表す。
この形式で表現できる負の数の最大値(0に最も近い値)はどれか。
ア 000001 イ 00FFFF ウ 410001 エ C00001 オ F00FF1
---------------------------------------------------------------------------------
答えは「エ」なんです。でも、やり方がわかりません。
自分で問題を解いた時は、
「この形式で表現できる負の数の最大値(0に最も近い値)はどれか。」
と書いてあるので1 111 1111 1111 1111 1111 1111(2)にしてFFFFFF(16)って
答えがなったんですけど、解答欄にないんです。
0428デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1031918118/l50
0429414
NGNGオイッ!
0430学生
NGNG先日リナサバの試験運転してたんですが、突然彼女が家に押しかけてきました。
当然その後はエチー(その人とは初)をしたんですがどうも彼女の膣がslackでどうも気持ちよくありません。
他にも締まる女はいるのですが体の相性で別れるのもどうかなと思いまして
どうやったら膣は締まるようになるのでしょうか。
何か解決策をお教え頂きたいです。
0431デフォルトの名無しさん
NGNGおれも学生だが、学生のうちだからこそユルイが原因で
別れちまうのもアリだよ
こんなとこでネタにされてる彼女の気持ちにもなってみろよ
缶ビール突っ込んでみろ。
0433デフォルトの名無しさん
NGNG0434デフォルトの名無しさん
NGNGおまいが小さいのが悪い
0435デフォルトの名無しさん
NGNGいまごろ別板で、
どうも彼氏の陰茎がしょぼくてどうも気持ちよくありません。
なーんて自分がネタにされてるんだろうな(w
0436デフォルトの名無しさん
NGNG0437デフォルトの名無しさん
NGNG彼女にスポーツを勧めるとか。
0439デフォルトの名無しさん
NGNG0440デフォルトの名無しさん
NGNG0442デフォルトの名無しさん
NGNGバレーが良いかと。
0443デフォルトの名無しさん
NGNG0444Fever Get.
NGNGレバーが食べたくなりマスタ
0445デフォルトの名無しさん
NGNGだったら宿題を持ってきな
0446なみへい
NGNGわからんので誰か教えて!下にプログラムをのせとく。
//サーバー
Dim hako() As Long
Dim n, i As Integer
Private Sub Command1_Click()
ReDim hako(n)
For i = 0 To n
If hako(i) <> i Then
Winsock1(i).SendData "(" & Winsock1(0).LocalHostName & ")" & Text1.Text
DoEvents
End If
Next
List1.AddItem "(" & Winsock1(0).LocalHostName & ")" & Text1.Text
Text1.Text = ""
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Command3_Click()
Command4.Enabled = True
Dim intcount As Integer
ReDim hako(n)
For intcount = 0 To List2.ListCount - 1 Step 1
If List2.Selected(intcount) Then
List3.AddItem List2.List(intcount)
End If
DoEvents
Next
End Sub
0447446
NGNGPrivate Sub Command5_Click()
List3.Clear
End Sub
Private Sub Form_Load()
Command1.Enabled = False
Command4.Enabled = False
Winsock1(0).LocalPort = 10001
Label3.Caption = "ポート10001をListen"
Winsock1(0).Listen
End Sub
Private Sub Winsock1_Close(Index As Integer)
For i = 0 To n
If Index = i Then
hako(i) = Index
Label5.Caption = Winsock1(n).RemoteHostIP & "は退室しました"
End If
Next
End Sub
0448446
NGNGPrivate Sub Winsock1_ConnectionRequest(Index As Integer, ByVal requestID As Long)
If Index = 0 Then
n = n + 1
Load Winsock1(n)
Winsock1(n).LocalPort = 0
Winsock1(n).Accept requestID
End If
Command1.Enabled = True
Label3.Caption = requestID & "接続されました"
List2.AddItem Winsock1(n).RemoteHostIP
End Sub
Private Sub Winsock1_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim datastring As String
Winsock1(Index).GetData datastring
List1.AddItem datastring
End Sub
Private Sub Winsock1_Error(Index As Integer, ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
Winsock1(n).Close
End Sub
0449446
NGNG接続しているIPをlist2に表示、その中から限定送信したいIPを指
定し、list3に移してcommand4で指定したIPへ送信したい。
0450446
NGNG0451デフォルトの名無しさん
NGNGTCP使うんだからサーバとクライアントって感覚をもってプログラム書こう。
他の人にメッセージ送る時にIPを指定する必要はない。
メッセージを送りたい相手のwinsockインスタンスのindexを
メッセージの先頭にでも入れておけばいいんじゃないの。
あとはそれを取り出して対応するインスタンスでsenddataする。
あと、このプログラムwinsockの添え字とか間違ってない?for文のへんとか。
0452446
NGNG1対nではメッセージのやり取りはできるのだけど、クライアントのwinsock
の識別をするやり方がわかんないんです。
そんな関数でもあるんですか?
0453デフォルトの名無しさん
NGNGこのへんって何やってるかわかる?
サーバサイドのプログラムだよ。
If Index = 0 Then
n = n + 1
Load Winsock1(n)
Winsock1(n).LocalPort = 0
Winsock1(n).Accept requestID
End If
0454デフォルトの名無しさん
NGNG0455デフォルトの名無しさん
NGNG�uと言うのは右上を3に置き換えてください(出し方ワカラナイ、、、)
どうぞよろしくおながいします
基本額:8�u以下 500円
排水量(単位�u) 1�uにつき
9〜15 75円
16〜20 80円
21〜30 90円
31〜50 100円
51〜100 120円
101〜300 130円
301〜1000 155円
1001以上 185円
2ヶ月に一回の請求のため、使用量はまず2分の1にされ、各月ごとに算出したあと合算されます。
0456455
NGNG25�uと26�uに分割されます
500+(15-8)×75+(20-15)×80+(25−20)×90=1875 (25�u分)
1875×1.05=1968.75、よって1960円(10円未満切捨て)
500+(15-8)×75+(20-15)×80+(26−20)×90=1965 (26�u分)
1965×1.05=2063.25、よって1960円(10円未満切捨て)
使用料金は、1960円+2060円=4020円
0457デフォルトの名無しさん
NGNGはい、それはわかります。
サーバ側のwinsockのインデックスはわかるのですが、クライアント側のwinsockのインデックスがわかりません。
どのようにしたらわかるのですか?よろしくお願いします。
0458デフォルトの名無しさん
NGNGm³
0459デフォルトの名無しさん
NGNGこんなん人に頼る時点で終わってる
0460455
NGNGまだC習い始めて2ヶ月なんですよ、、、
そんな事言わないでおながいします、、、
0462デフォルトの名無しさん
NGNGまず、問題を分割してみよう
> 例:使用量51�uの場合
> 25�uと26�uに分割されます
このソースをつくってみろ
0463455
NGNG勉強しろっちゅーことですか、、、
頑張ります、、、
0464455
NGNGわ、わがんねっす、、、(泣
0465デフォルトの名無しさん
NGNG自分で通信規則作るんだよ。
例えば<自ID><送り先ID><ハンドル名><メッセージ>とか。
最初にクライアントにwinsock1(ID)設定したときにクライアントにID送っておく。
あとは受信データからサーバが各クライアントにメッセージ振り分け。OK?
0467462
NGNG> ・自分の力で頑張ってみたことを伝えられる人。
3分で音を上げるような奴には俺は教える気にならん
0468は〜い、できました〜
NGNGhalf2 = input - half1;
つ〜ぎいってみよ〜〜
0469デフォルトの名無しさん
NGNGCのソースにしなくていいから項番つけて処理手順書いてみ。
自分でも計算は出来るんだろ。
あとは変数の定義と入力・出力の設定だけ。
0470455
NGNGよーするに割ると整数になる訳ですな
>>467
3000000分頑張っても私には解けないと思うます、、、
>>468
それでいいんですかね?
>>469
それならできそうです。がんばります
0471デフォルトの名無しさん
NGNGprintf("printfでは複数行にわたって
しまってもいいのですか?\n\n
よくわかりません。\n");
はOKですか?途中に開業コードが入るとだめですか?
int形なら 10/3 としたら 必ず 3 になりますか?
それともなにかの関数で切り落とす必要がありますか?
0472デフォルトの名無しさん
NGNGイイカゲンにしろ!
0473デフォルトの名無しさん
NGNGそういう場合は
printf("printfでは複数行にわたって"
"しまってもいいのですか?\n\n"
"よくわかりません。\n");
にしろ。
> int形なら 10/3 としたら 必ず 3 になりますか?
なる。
0474デフォルトの名無しさん
NGNG0475デフォルトの名無しさん
NGNGしまってもいいのですか?\n\n\
よくわかりません。\n");
なら委員じゃねぇの?
0476デフォルトの名無しさん
NGNG文法上はOKだが美しくない
0477デフォルトの名無しさん
NGNG#define MAKURO() { \
/* no */ \
/* sora */ \
}
と作ったコードをそのままUnixに持ってくと
改行コードで刎ねられる罠。
0478デフォルトの名無しさん
NGNG>>468を見れば、half1,half2を足した物が、必ずinputと等しくなると思われ・・・
心配なら、
half1=(input-input%2)/2; //()内は必ず偶数になる。
half2=input-half1;
にすればいい。
0479デフォルトの名無しさん
NGNG#include <stdio.h>
static const int data[] = {
1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1120,
1200,1280,1360,1440,1520,1600,1680,1750,1820,1900,1980,2060,2140,2230,2320,2400,2480,2560,
2640,2730,2820,2900,2980,3080,3180,3270,3360,3450,3540,3640,3740,3830,3920,4020,4120,4210,
4300,4400,4500,4590,4680,4780,4880,4980,5080,5190,5300,5400,5500,5610,5720,5820,5920,6030,
6140,6240,6340,6450,6560,6660,6760,6870,6980,7080,7180,7290,7400,7500,7600,7710,7820,7920,
8020,8130,8240,8340,8440,8550,8660,8760,8860,8970,9080,9200,9320,9450,9580,9700,9820,9950,
10080,10210,10340,10460,10580,10710,10840,10960,11080,11210,11340,11470,11600,11720,11840,
11970,12100,12220,12340,12470,12600,12730,12860,12980,13100,13230,13360,13480,13600,13730,
13860,13990,14120,14240,14360,14490,14620,14740,14860,14990,15120,15250,15380,15500,15620,
15750,15880,16000,16120,16250,16380,16510,16640,16760,16880,17010,17140,17260,17380,17510,
/* 以下略 */
};
int main() {
int n;
printf("使用量は?");
scanf("%d", &n);
printf("使用料金は%d円\n", data[n]);
return 0;
}
0480デフォルトの名無しさん
NGNGやめれ目がちかちかする
0481デフォルトの名無しさん
NGNGもうじき大学の夏休みが終わると思うので、その頃になると面白い宿題もくるかも。
# 宿題は夏休みの頭にさっさと済ませて遊ぶ派です
0483デフォルトの名無しさん
NGNG宿題っつーか課題っつーかレポートっつーか、そういうの。あと卒研とか。
0485デフォルトの名無しさん
NGNGいや、それはわかるが、この時期はないでしょう。
採点する時期を考えると。
冬学期はじまらないと。
ここに聞きにくるような奴は卒研もまだ本腰いれてやってないだろ。
>ここに聞きにくるような奴は卒研もまだ本腰いれてやってないだろ。
…なるほど(笑)
0487デフォルトの名無しさん
NGNG0488デフォルトの名無しさん
NGNGデータ部分全て十分の壱倍しとかない?
0489デフォルトの名無しさん
NGNGC言語でパック・アンパックデータって何ですか?
例えば"123"って、十六進数で表すと
"313233"になりますよね?
その先頭の3を取って、"123"とファイルに書きこむ
プログラム作れって言われたんですけど・・・
正直まったくわかってないです・・・
ご回答オナガイシマス
0490デフォルトの名無しさん
NGNG"123" = { '1', '2', '3' } = { 31, 32, 33 }
という文字列を、
{ 1, 2, 3 }
という配列にしたいってことだな。30引けば?
0491デフォルトの名無しさん
NGNG0492デフォルトの名無しさん
NGNG0493デフォルトの名無しさん
NGNGとかすれば良いでしょ
違うか?
2進化10進符号とか絡んでくる?
0494489
NGNGご協力感無量です
なんかビット演算を用いるみたいっす。
少し自分でも考えて、またわからなくなったら
ご意見乞いに来ます。
ありが�d
0495デフォルトの名無しさん
NGNG0496デフォルトの名無しさん
NGNG0497489
NGNGi=i & 0x0F;
でデキマスター
キタ━━━( ´∀`)・ω・) ゚Д゚)・∀・) ̄ー ̄)´_ゝ`)━━━!!!!
さらにこれを元に戻す場合も
ビット演算でできますよね?
0498デフォルトの名無しさん
NGNG数字だけでいいのか?
英字とかは?
0499デフォルトの名無しさん
NGNGパック/アンパックなんだよな...。4 bit シフトとかはいいのか ?
0500デフォルトの名無しさん
NGNG漢字は?
0501デフォルトの名無しさん
NGNGi = i | 0x30
0502489
NGNGご指摘ありが�dございます。。。
なるほど、、、いろいろ問題点あるんですね。。。
自力でやってみて、わかんなかったら
また襲来いたします。。。
0503デフォルトの名無しさん
NGNG0504デフォルトの名無しさん
NGNG0505デフォルトの名無しさん
NGNG123だと313233になるなら、abcは979899で、ファイルに書き出すデータは
{1,2,3} {1,2,3}
{a,b,c} {7,8,9}
ってことかな?
そうではなくて、文字として存在しているデータを数に直せっていう問題なのかな?
数字だけなのか?アルファベットはいらないのか?
0506デフォルトの名無しさん
NGNG0507503
NGNG0508デフォルトの名無しさん
NGNGこれだと文字列終端が分からないんじゃ?
0509デフォルトの名無しさん
NGNGslen=strlen ( argv[2] );
と宣言したとして、
その確保した先頭のアドレスに
char ZERO = '0';
を入れたいんですけどドウスレバヨロシイノデショウカ?
0510デフォルトの名無しさん
NGNG*argv[2] = ZERO;
0511デフォルトの名無しさん
NGNG0512503
NGNG0513デフォルトの名無しさん
NGNGconstじゃないのは訳がある
別に良いんじゃないかな?getoptだって使い終わった後のargvの内容が同じであることは保証していないし。
0515デフォルトの名無しさん
NGNG0516デフォルトの名無しさん
NGNG0517デフォルトの名無しさん
NGNGEXCELでひらがなの文字列(姓名)をアルファベットに変換するには
どうすれば良いでしょうか?
スレ違いであれば、適切なスレッドを教えて下さい。
for i=1 to len(text)
str=mid(text,i,1)
if str="あ" then out=out & "A"
・・・
0519デフォルトの名無しさん
NGNGの21から、「助けて下さい…」という情けない名前で書き込んでいます。
DirectXなのですが、
scoreの方がうまく表示されません…
(ちなみに画像から矩形を指定する方法で表示しています)
0520デフォルトの名無しさん
NGNG0521デフォルトの名無しさん
NGNG0522デフォルトの名無しさん
NGNG0523デフォルトの名無しさん
NGNGJavaで
図形クラスを作ってみよう
四角クラス:Ssikaku
・フィールド
・幅:width(int)
・高さ:height(int)
・メソッド
・面積を返す:square()(戻り値int)
・public class:Zukei
20×30の四角いクラスのインスタンスを生成して面積を表示
0524デフォルトの名無しさん
NGNG0525デフォルトの名無しさん
NGNGおしえてくれぇ〜
0526デフォルトの名無しさん
NGNG0527デフォルトの名無しさん
NGNGint width;
int height;
Ssikaku(int w, int h) {
width = w;
height = h;
}
public int square() {
return width * height;
}
}
public class Zukei {
public static void main(String[] s) {
Ssikaku Sikaku = new Ssikaku(20, 30);
System.out.println("20×30の四角いクラスのインスタンスを生成");
System.out.println("面積 " + Sikaku.square());
}
}
0528デフォルトの名無しさん
NGNGクラスがSsikakuで面積を返すメソッドがsquare()って
その問題を出した先生もたいがいアホやな・・・
0529デフォルトの名無しさん
NGNGありがとうございます!!
0530デフォルトの名無しさん
NGNG神様ありがとうございました!!
助かりますた!!
本当ありがとうございます!!
0531デフォルトの名無しさん
NGNG(1)次の4つの記号 ┏ ┓┗ ┛を用いて4角を出力する rect() 関数を作成しましょう. ? 出力例 ┏┓ ? ┗┛
(2)さらに┃を利用して, 4角の縦のサイズを変えられるように rect() 関数を変更しましょう.
Hint. rect(int n) というように引数 n を取って, n の数だけ ┃┃ を出力します.
だれかこの問題を解いてください!
0532デフォルトの名無しさん
NGNG0533デフォルトの名無しさん
NGNGマルチヤメレ。(ついでに、>>523 もな。)
0534デフォルトの名無しさん
NGNG禿同。>>531はインターネットマナーの基本学んできたら教えてやるよ。
0535531
NGNG0536デフォルトの名無しさん
NGNGァァァン。ということで(w
printfはわかってるようだし、こういう問題がでてくるってことは
ループは習ってるんだよな。whileとかforとか。
それらを使って関数を組み立てる。
あと関数の定義の仕方も習ってるよな。
0537デフォルトの名無しさん
NGNGvoid rect(int n)
{
printf("┏ ┓\n");
for (; --n; )
printf("┃ ┃\n");
printf("┗ ┛\n");
}
0538デフォルトの名無しさん
NGNG0539デフォルトの名無しさん
NGNGvoid rect(int n){
puts("┏ ┓\n");
while(n--)
puts("┃ ┃\n");
pits("┗ ┛\n");
}
0540デフォルトの名無しさん
NGNG0541デフォルトの名無しさん
NGNG0542デフォルトの名無しさん
NGNG#define pits puts
void rect(int n){
puts("┏ ┓\n");
while(n--)
puts("┃ ┃\n");
pits("┗ ┛\n");
}
0543デフォルトの名無しさん
NGNGvoid rect(int n)
{
puts("┏ ┓");
while (n--)
puts("┃ ┃");
puts("┗ ┛");
}
0544デフォルトの名無しさん
NGNGint main(){int n; prinf("input n "); scanf("&d",&n); rect(n); return 0;}
0545デフォルトの名無しさん
NGNG「街中で異性をナンパする」
という課題が出されました。ナンパなんて下個とありません。
犯り方教えてください。
0546デフォルトの名無しさん
NGNG若しくは、ナンパして失敗すれば良い。
0547デフォルトの名無しさん
NGNGおもろい先生やな
0548デフォルトの名無しさん
NGNG0549デフォルトの名無しさん
NGNG"俺と一緒にPascalやらないかい?"って声かけまくれ。
0550デフォルトの名無しさん
NGNG0551デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1031838665/l50
プログラミングの為の数学と算数
http://pc3.2ch.net/test/read.cgi/tech/997150743/l50
C++による数学プログラムスレ
http://pc3.2ch.net/test/read.cgi/tech/1031797550/l50
宿題手伝いますYO!!
http://pc3.2ch.net/test/read.cgi/tech/1029422194/l50
C/C++の宿題なら俺にやらせろ!
http://pc3.2ch.net/test/read.cgi/tech/1021862587/l50
宿題手伝います
http://pc3.2ch.net/test/read.cgi/tech/1027756023/l50
0552511
NGNG0553デフォルトの名無しさん
NGNGどっかに新スレが立ったのだろうか。
0554デフォルトの名無しさん
NGNGこれでしょ。
0556デフォルトの名無しさん
NGNGテキストファイルを引数で渡して
そのファイルの内容を1行づつ画面に表示。
Enter押すまでプロンプトはとめたまま。
#include <stdio.h>
main ( int argc, char *argv[] )
{
FILE *fp;
char str[256];
if ( argc !=2 ) {
printf ( "Number of arguments are different\n" );
exit ( 1 );
}
if ( ( fp = fopen ( argv [1], "r" ) ) == NULL ) {
printf ( "Can't open FILE:argv [1]\n" );
exit ( 1 );
}
while ( fgets ( str,256,fp ) != NULL ){
printf ( "%s",str );
}
fclose ( fp );
}
Enter押すまで止まってるってのがわかりません・・・
どなたか教えてくださいませ・・・
0557デフォルトの名無しさん
NGNG0558デフォルトの名無しさん
NGNGたしかに厨房らしいな。。
別に止まらないけど
0559デフォルトの名無しさん
NGNG0560デフォルトの名無しさん
NGNGint ch;
while ((ch = getc(fp)) != EOF) {
putchar(ch);
if (ch == '\n')
while (getchar() != '\n')
;
}
0561デフォルトの名無しさん
NGNGwhile ( fgets ( str,256,fp ) != NULL ){
printf ( "%s",str );
while (getchar() != '\n')
;
}
0562デフォルトの名無しさん
NGNG0563デフォルトの名無しさん
NGNG0564デフォルトの名無しさん
NGNGネットで検索しる。言語にもよるが、かなり出て来るよ。
0565デフォルトの名無しさん
NGNG1、4+5
80-30
100%6
89*301
と言うデータの入ったファイルがある(ファイル名は任意で、数式は1行につき1つでスペースは無い)
2、数式はstring型の変数に読み込む。
3、演算子は、+,-,*,/,%,の5つのみ。
4、数式から演算子を除いたオペランドの数値文字列を取り出した後、
その数値文字列を数値に変換する部分を関数 int get_number(string)を作成して用いること。
5、実行データファイル、出力ファイルの中身を表示させること。
というものなんですが、
#include<iostream>
#include<fstream>
#include<string>
#include<cassret>
using namespace std;
int main()
{
ofstream fout;
ifstream fin;
string date;
cahr fname;
cout << "input file name ---> \n";
cin >> fname;
fin.open(fname);
assert(fin.is_open());
fout.open("ansfile");
assert(fout.is_open());
以下の肝心な部分がさっぱり分かりません、どうかお願いします。
0566デフォルトの名無しさん
NGNG文字列を分解するのがあるはずだから
それを使ってオペランドと演算子に分解する。
オペランドはint get_number(string)に渡して
あとは演算子にしたがって計算する。
0567デフォルトの名無しさん
NGNGclass A{
static void m(int x){}
static void m(char x){}
}
class B extends A{
static void m(long x){
m(0);
m('A');
m(0L);
}
}
の、m(0);, m('A');, m(0L);で適用されるメソッドとどれでしょうか?
また、コンパイラはどのメソッドを選択しますか?
0568デフォルトの名無しさん
NGNG聞く前にさ、System.out.printlnでもメソッドにいれて自分で実験し
てみようと思わないの?
0569ossu
NGNGstatic void m(int x){System.out.println(x)}
static void m(char x){System.out.println(x)}
}
class B extends A{
static void m(long x){
m(0)m;
m('A')m;
m(0L)m;
}
}
0570デフォルトの名無しさん
NGNGワラタ
0571デフォルトの名無しさん
NGNGこれが顔に見える。
0572デフォルトの名無しさん
NGNG0573デフォルトの名無しさん
NGNG0574デフォルトの名無しさん
NGNGm('A'); <- char
m(0L); <- long
0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNG0577デフォルトの名無しさん
NGNG0578デフォルトの名無しさん
NGNG0579デフォルトの名無しさん
NGNG0580モモ様
NGNGデータフォームウィザードを使ってアクセスのデータベースに接続したい
のですがデータベースファイルを選択するとき、ファイルの名前をいれても
「認識できません」ってでます。私はどうすれば、、、
ソフトはvb6、アスセス2002です。
0581デフォルトの名無しさん
NGNG0582モモ
NGNG0583
NGNGおしえてください!
0584デフォルトの名無しさん
NGNGFILE *fp = fopen( argv[1], "r" );
}
0585583
NGNGすこしせつめい不足でした・・
ファイル名をプログラムのほうから聞いてきてくれて、
ドスのがめんから入力するようなやつです。
0586デフォルトの名無しさん
NGNGprintf("file name=");
gets(buf);
fp = fopen(buf, "r");
0587デフォルトの名無しさん
NGNGFILE *fp;
char buf[1024];
printf("ファイル名をプログラムのほうから聞いてきてくれて、\n");
gets(buf);
fp = fopen(buf, "r");
}
0588583
NGNG0589hiloshi ◆W2li6n5Xa6
NGNG「フィボナッチ探索」を実現せよ。
データの個数は50個とし、配列の宣言時に適当に与える。
データが単峰性を持っていなければならないことに注意すること。
フィボナッチ数列って1,1,2,3,5,8,13,21・・・ってのですよね?
50個のデータでフィボナッチ探索って出来るんですか?
0590デフォルトの名無しさん
NGNG「フィボナッチ探索」でググったのか?
0591デフォルトの名無しさん
NGNGテキストファイル"input2.txt"から座標データを読み込み、読み込んだ各点間を
n等分した中間点の座標を"二次式による補間法"を用いて計算し、ディスプレーおよびoutput2.dat
に出力するプログラムを作成しなさい。ここで、nの値はキーボードから、もしくは
プログラム中に直接定義してもよい。
Input2.txt(先頭行はデータ数、2行目以降はxおよびyの位置関係)
5
100.0 0.0
200.0 200.0
300.0 100.0
400.0 0.0
500.0 300.0
0592デフォルトの名無しさん
NGNGどっかのスレで見た気がする。探してみそ。
0593デフォルトの名無しさん
NGNGラグランジュ補間ではないの?
0594デフォルトの名無しさん
NGNGテキストエディタが開けないのか?
コンパイルの仕方がわからんのか?
0596デフォルトの名無しさん
NGNG0597デフォルトの名無しさん
NGNGスターリング補間、ベッセル補間、エルミート補間、スプライン補間
はわかるが、二次式による補間なぞは知らん。
0598デフォルトの名無しさん
NGNGmath.hの算術関数使用不可
log(x)の近似値を計算する関数mylog(x,n)を作成はどのようにすればできるのですか?
まったくわからないものでしてお願いします
0599デフォルトの名無しさん
NGNGマクローリン展開の復習をすれば自然とわかる。
マクローリン展開がまったくわからなかったらこのプログラムもわかりっこないが。
0600デフォルトの名無しさん
NGNGマクローリンはわかりますが
プログラムが全く苦手でmath.h使えないのでわからないんですが・・
0601デフォルトの名無しさん
NGNGlog(x)をマクローリン展開すればいいんだろ?
何が問題なんだ?
0602デフォルトの名無しさん
NGNG> マクローリンはわかりますが
だったらまず理解してることを書け。
ひょっとすると親切な奴が、プログラムに翻訳してくれるかも知れん。
大概のプログラマは、マクローリン展開なんか既に忘れてるし、自分が困らない限りマクローリン展開まで調べたりはしない。
0603マクローリン展開
NGNGf(x)=f(0)+xf'(0)x+x^2f''(0)/2!+...+x^nf(n)(0)/n!......
{f(n)(0)=[f(0)のn回微分]}
最近どっかで書いた覚えが・・・
0604VC++房
NGNGトリガーを待つプログラムを
作りたいのですが、機能を分割すると
・カメラから画像を取得しバッファに格納(専用APIで解決)
・取得しバッファに格納した画像に0001〜の名前を付ける
・バッファに格納した画像データをファイルに保存
で良いでしょうか?
0605デフォルトの名無しさん
NGNGlog(0)は未定義ですが何か?
log(1+x)にすると、|x|<1の範囲しか適用できませんが何か?
log(1-x)に(以下略)
log(1+x)/(1-x)=・・・
0606デフォルトの名無しさん
NGNGなにがトリガーになるの?
0607デフォルトの名無しさん
NGNGそれを積分するにはどのようなプログラムでしょうか
簡単な質問かもしれませんが、おながいします
0609デフォルトの名無しさん
NGNG単発質問野郎の上にマルチ。
http://pc3.2ch.net/test/read.cgi/tech/1035653663/l50
0610デフォルトの名無しさん
NGNG痛いね
0611デフォルトの名無しさん
NGNGfor(i = 0; i < 1000; i++)
sum += y[i] * dx;
でいいんじゃない。
0612デフォルトの名無しさん
NGNGyを全部足してxの幅を掛ける。
0613デフォルトの名無しさん
NGNG君はプログラムの前に微積を勉強した方がいいと思うぞ。
公式とかじゃなくて概念を。
0614607
NGNG元の波形を積分した波形が最終的に欲しいので、
全体を積分した値じゃなくて、波形を得られるようにデータ数が同じだけ欲しいのです
スマソ
0615デフォルトの名無しさん
NGNGz[0] = y[0];
for(i = 1; i < 1000; i++)
z[i] = z[i-1] + y[i];
ということか?
0616デフォルトの名無しさん
NGNGe_n = 2 + 1/2! + 1/3! + ・・・ + 1/n! と置く。
この時 n = 1〜100 までの値を調べるプログラムを書きたいんですが、難しいです。
言語はCです。よろしくお願いします。
0617デフォルトの名無しさん
NGNG>>616
double e_n = 2, nfact = 2;
int n;
for( n = 1; n <= 100; ++n ) {
nfact *= n;
e_n += 1.0 / nfact;
printf( "n = %d : e_n = %f\n", n, e_n);
}
0618デフォルトの名無しさん
NGNG何が難しい?
(1/1!)/2 = 1/2!
(1/2!)/3 = 1/3!
となるわけだから
for(なんか){
elem /= n;
e += elem;
}
とすれば計算できるだろ。
0619デフォルトの名無しさん
NGNG1行目 e_n = 1, nfact = 1;
0620デフォルトの名無しさん
NGNGテーラー展開じゃなくて、定義に戻って
e = lim (1 + 1/n)^n (n->∞)
を使う方がいいと思う
0621デフォルトの名無しさん
NGNGあたまいいね。なるほろ
0622デフォルトの名無しさん
NGNGあたまわるいね。しね
0623デフォルトの名無しさん
NGNG書き直すなら、ちゃんとしろ。
> 全体を積分した値じゃなくて、波形を得られるようにデータ数が同じだけ欲しいのです
意味不明。後レスすごい。
0624デフォルトの名無しさん
NGNGfor(i = 0; i < 1000; i++){
sum += y[i] * dx;
iy[i] = sum;
}
0625デフォルトの名無しさん
NGNG0626*学生
NGNG間接参照演算子を用いて間接的に参照するメリットを述べよ。
って言う課題が出たんですがさっぱわかんないです。
教えてください。
0627デフォルトの名無しさん
NGNG(*p).member
p->member
間接参照演算子を使った方が字数が少なくなる。
0629627
NGNG他には、*p.memberと書くと、演算子の優先順位の関係で、
*(p.member)という風に解釈されてしまう。
間接参照演算子を使うと、この辺の間違いがなくなる。
何か問題の主旨とずれてそうな気がしないでもないけど。
0630デフォルトの名無しさん
NGNG0631デフォルトの名無しさん
NGNG0632レポートいやだ〜
NGNG0633デフォルトの名無しさん
NGNG0634デフォルトの名無しさん
NGNGまず普通のテトリス作りな。
0635デフォルトの名無しさん
NGNGメモリー節約とかかな?
0636デフォルトの名無しさん
NGNGnは0からじゃなくていいのか?
初項が2というのも変、普通は1+1+...って形でしょ。
0637デフォルトの名無しさん
NGNG2進コードが、下のように入っているとします。
n=4;
int aaa[n]=[1,1,1,0]; (10進で14)
bbbk=Σ[i=k,n-1]aaai(mod2)
によって
bbbは[1,0,1,1]になります。(10進で11)
aaaから、bbbに直すのに、配列の0番目からやっていく方法ってありますか?
よろしくお願いします。
0638デフォルトの名無しさん
NGNG> bbbk=Σ[i=k,n-1]aaai(mod2)
これの意味が分からない。
学のある人がいたら教えてください。
0639デフォルトの名無しさん
NGNGbbb[1]=(1+1+0)mod2=0
bbb[2]=(1+0)mod2=1
bbb[3]=(0)mod2=1?
0640デフォルトの名無しさん
NGNGbbb[0] = (aaa[0]+aaa[1]+aaa[2]+aaa[3])%2;
bbb[1] = (aaa[1]+aaa[2]+aaa[3])%2;
bbb[2] = (aaa[2]+aaa[3])%2;
bbb[3] = (aaa[3])%2;
そのままCで書くとこうだけど、今度は↓「配列の0からやる」というのが分からない…
>aaaから、bbbに直すのに、配列の0番目からやっていく方法ってありますか?
0641デフォルトの名無しさん
NGNGfor (k=0; k < n; k++) {
bbb[k] = 0;
for (i=k; i < n; i++)
bbb[k] += aaa[i];
bbb[k] %= 2;
}
後ろからやると
for (k=n-1; k >= 0; k--)
bbb[k] = (bbb[k-1] + aaa[k]) % 2;
0642デフォルトの名無しさん
NGNG#include <stdio.h>
int main(
int argc,
char * argv[ ]
)
{
if (argc !=3)
printf("wrong no. of arguments\n");
else
{
printf("Sum: %d\n", atoi(argv[1]) + atoi(argv[2]));
}
return 0;
}
2つの引数を加算乗除するプログラムをつくれ
a.out 2 4 なら
sum: 6
dift: -2
prod: 8
わりきれません
俺には加算で限界です誰か改良して加算乗除お願いします。
おねがいします
0643デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1021862587/897-932
加算で限界ってなんだ。
別にてめえが加算の部分を考えたわけではないだろうに。
0644デフォルトの名無しさん
NGNG昨日、この質問をしてたのは女だったのに…
周りに「あそこで聞けば教えてもらえるぞ」とか言いふらしてない?
#include <stdlib.h>
#include <stdio.h>
int main(
int argc,
char * argv[ ]
)
{
if (argc !=3)
printf("wrong no. of arguments\n");
else
{
int a = atoi(argv[1]);
int b = atoi(argv[2])
printf("Sum: %d\n", a+b);
printf("dift: %d\n", a-b);
printf("prod: %d\n", a*b);
if(a % b != 0) {
puts("割り切れません");
}
else {
printf("div: %d\n", a/b);
}
}
return 0;
}
0645デフォルトの名無しさん
NGNG本当にここは教えてもらえるんですね・・・・
うちの大学のC言語の先生めちゃくちゃ厳しいんだよね・・・・
去年なんか七割脱落で補習だし・・・・・
なんかみんなここに来はじめてるよ・・・・・
ありがとうございます。
でもこの調子だといつかばれるよな・・・。
0646デフォルトの名無しさん
NGNG一箇所ミスがあるけど、自分で治せるよね。
0647デフォルトの名無しさん
NGNG大学の事情なんざ知らん。みんなここに来てもいい。
でも、できれば質問すんのは宿題手伝いますYO!! スレか
C/C++の宿題なら俺にやらせろスレだけにしてね。
0648教えて注
NGNGどこ?まじでわからん。
0650デフォルトの名無しさん
NGNGこいつ、コンパイルして動作確認したりインデントを直しなりしないで
そのまま提出するに、1000ペリカ。
0651デフォルトの名無しさん
NGNG0652デフォルトの名無しさん
NGNG0除算?
なんだそりゃ?インデント?
0653デフォルトの名無しさん
NGNG特定しました。まじで
0654デフォルトの名無しさん
NGNG#include <stdlib.h>
#include <stdio.h>
int main(int argc, char *argv[]){
if (argc != 3){
puts("wrong no. of arguments");
}else{
int a = atoi(argv[1]);
int b = atoi(argv[2]);
printf("Sum: %d\n", a+b);
printf("dift: %d\n", a-b);
printf("prod: %d\n", a*b);
if (b == 0) {
puts("0では割れません");
} else if(a % b != 0) {
puts("割り切れません");
}else {
printf("div: %d\n", a/b);
}
}
return 0;
}
0655デフォルトの名無しさん
NGNGなるほどそういうことか。わかったよ。
ありがとう。
0656637
NGNG>2進コードが、下のように入っているとします。
>n=4;
>int aaa[n]=[1,1,1,0]; (10進で14)
>bbbk=Σ[i=k,n-1]aaai(mod2)
>によって
>bbbは[1,0,1,1]になります。(10進で11)
>aaaから、bbbに直すのに、配列の0番目からやっていく方法ってありますか?
>よろしくお願いします。
これらの[1,1,1,0]は、Bitなので、右から左にaaa_0,aaa_1,…のように並んでいるのです。
([0]→[1]→[1]→[1])
だから、あの数式も、右から左にaaa_0,aaa_1,…と流れていきます。
そんな中敢えて、aaa[]の0番目から(3番目からじゃないすよ)処理して、アウトプットを[1,0,1,1]にする
方法ってありますか?というのが相談でした。
説明が悪くてすみません。
for(mask=1<<n-1;mask!=0;mask>>=1)
がヒントらしいのですが…。
違う高校の人たちにも聞いたんですけど…、なかなか。
0657デフォルトの名無しさん
NGNGならビット演算だから配列じゃないのでは?
0658637
NGNGその「配列をビットにするんだよ」って、授業で、かすかに言ってたような。
だからシフト演算で、1000+100+10+(0)=1110のようにするってことですかね〜。
0659デフォルトの名無しさん
NGNGをビット演算してbbbを11にしたいんだな。
でも bbbk=Σ[i=k,n-1]aaai(mod2) の意味が分からん。
0660デフォルトの名無しさん
NGNGint bbb = 0;
for(mask=1<<n-1;mask!=0;mask>>=1)
bbb |= ((bbb >> 1) + aaa) & mask;
こんな感じか?
0661637
NGNG例えばn=4,
1 1 1 0の場合。
bbbk=Σ[i=k,n-1]aaai(mod2)
b0=0+1+1+1=3=3mod2=1
b1= 1+1+1=3=3mod2=1
b2= 1+1=2=2mod2=0
b3= 1=1=1mod2=1
で、bitの並びなのでb0から右に詰めていきますので
1011になり、見事サンプルアウトプットと同じになりました。
0662637
NGNGえっ、どういう考えで、こういうプログラムになったんですか?
教えてください。
0663637
NGNGfor(mask=1<<n-1;mask!=0;mask>>=1)っていうヒントから
どう結びつけたのですか?
0664デフォルトの名無しさん
NGNGコンパイラを作成で目的語生成において
whileの構文は
while文 = ‘while’‘(’ 式 ‘)’ 文 であるから、
while_statement(){int a0, a1;
get_token(); a0= set_label();
if( token==Lpar ) get_token(); else missing("(");
eval(expression());
a1= set_label(); gen("JF", 0);
if( token==Rpar ) get_token(); else missing(")");
statement();
gen("J", a0);
fixed_up(a1, set_label());
}
と、なることにする。
ここでこのwhile文を使ってfor文を作る方法がわかりません。
for文 = 'for''(' 式 ';' 式 ';' 式 ')'文 であり、
for(α;β;γ)S; であるからwhileを使うと
α;
while( β ){
S
γ;
となり、これを使用するみたいなのですがどうすればいいでしょうか。
別に使用しなくてもfor_statementが記述できればいいのですが。
0665デフォルトの名無しさん
NGNGfor(式; 式; 式)
だったらなにがなんだかわからんだろう。
for (α; β; γ)
α: ループに入る前に評価する式
β: ループの末尾で評価する式、結果がfalseでなければループ先頭にジャンプ
γ: βの直前に評価する式
ってなってる。この辺理解できていればwhileに展開するのは簡単なはずなんだが。
0666664
NGNGそうです。for(α;β;γ) S で、
αをfor文の初期設定,βをfor文の反復判定,
γをfor文の増分操作としています。
とりあえず以下のようにしてみて
for_statement(){
if( token==For ){
get_token();
if( token==Lpar ) get_token(); else error();
expression();
if( token==Semicolon ) get_token(); else missing(";");
expression();
if( token==Semicolon ) get_token(); else missing(";");
expression();
if( token==Rpar ) get_token(); else error();
statement();
}else{
error();
}
}
さらに、ジャンプの仕組みを追加したいのですが
わかりません。
>>665さん
すいません。
その辺は理解している(したつもりになっている)のですが
ちっとも簡単に思えないのです。よろしければ
もう少し詳しくお願いします。
0667デフォルトの名無しさん
NGNG流してしか見てないんだけど、whileはできてるんだよね。
んで
for (exp1; exp2; exp3)
statement;
は
exp1;
while (exp2) {
statement;
exp3;
}
と等価だから、そのように構文木(を作ってるんだよね?)を作り直してみたらどうだろう。
ってこの辺あんまり詳しくないので的を外れたことを言ってるかもしらん。
0668デフォルトの名無しさん
NGNGfor(mask=1<<n-1;mask!=0;mask>>=1)
はmaskが2進数で1000,0100,0010,0001になる。
hoge & mask でビットが立っているか判定できるし。
bbb |= hoge でhogeの立っているビットをbbbも立てることができる。
(bbb >> 1) + aaa はbbbのビットを右にずらして
(bbbにはそれまでのが入っている)
足せばマスクするところに合計が出るでしょ。
でマスクしてorをとる。
xorのほうが良いかな。
mask=1000, 0000 ^ 1110 = 1110 -> 1000, b=1000
mask=0100, 0100 ^ 1110 = 1010 -> 0000, b=1000
mask=0010, 0100 ^ 1110 = 1010 -> 0010, b=1010
mask=0001, 0101 ^ 1110 = 1011 -> 0001, b=1011
0669デフォルトの名無しさん
NGNG0番目からは同じ計算が多くなって無駄なだけじゃないかな。
0670ふトンカ ◆wX94FutoNg
NGNGひじょーに簡単なプログラムが書けないと言ってきたので書きました。
文字"c"があるか?
なければ-1を返す (けど私は画面表示してます)
cがあったら(最初のcまでが)何文字目かを表示する。
#! /usr/local/bin/perl
$moji = 'aabbcdscddcc'; # 処理する文字
if ($moji =~ /c/) { print'"c"なんてないっす!'; exit; } else {
@i = split(/c/,$moji); # cがあったらそこで区切って配列を作る
$i = length($i[0]); #1つ目の配列の長さを取得
print "\"c\"発見! $i文字にあります。"
}
素晴らしく方法が間違ってるけどこれでOKだな、と渡したら
C言語だ!それにこのプログラムはへそ曲がりだ!と怒られました…私はPerlしか書けないって言ってるのに…。
これをC言語で素直に実現するとどんな風になるんでしょうか…。
どなたか教えてください。
…Perlならもっと短くできそうですね。全然関係ないですが…。
0671ふトンカ ◆wX94FutoNg
NGNGcが有る場合に処理を止めてどうする…
#! /usr/local/bin/perl
$moji = 'aabbcdscddcc'; # 処理する文字
if ($moji =~ /c/) {
@i = split(/c/,$moji); # cがあったらそこで区切って配列を作る
$i = length($i[0]); #1つ目の配列の長さを取得
print "\"c\"発見! $i文字にあります。" } else {
print'"c"なんてないっす!'; exit; }
0672デフォルトの名無しさん
NGNGchar *s = "...";
char *p = strchr(s, 'c');
if (p) printf("%d文字目にcがある\n", p - s);
else return -1;
こんなかんじかな。
0673ふトンカ ◆wX94FutoNg
NGNG問題が違うとか言われました、、
*問題は
文字列strの中に、文字cが含まれていれば、(複数ある場合最も先頭側とする)
その添え字を返し、含まれていなければ-1を返す
int str_char(const char str[], int c) {/*……*/}
だそうです。。。なんのこっちゃ(Cはさっぱり)
>>672
> 美しいです、でも全然分からない、マジでごめんなさい。
とのことです。残念ながら私も美しい以外は分からない(汗)
質問の仕方がなってなかったです。逝ってきま…いや、回答があるかもと期待して。
0674デフォルトの名無しさん
NGNGint n=0;
do if (str[n] == c) return n;
while (str[n++] != '\0');
return -1;
}
0675ふトンカ ◆wX94FutoNg
NGNGありがとうございます。
なんかまだ、他の関数が難しいそうな、、
初級者だもんな… (わたしはそれ以前だが)
しかし分からないけど(汗)美しい…
私もC++あたり勉強しないとな、、Perlは遅いですので(当然…)
>>674
>>672
感謝。
0676デフォルトの名無しさん
NGNGCからC++に進んだほうが理解しやすいと思うよ。
いきなりC++を始めるよりは。
0677デフォルトの名無しさん
NGNGお世話になったものですが、関数の呼び出しがどうしてもうまくできないんですけど…
int main(void)
{
char st[100];
int cs;
printf("文字列を入力してください:");
scanf("%s", st);
if (str_char(st, cs == -1))
printf("cはありません\n");
else
printf("文字列%sの最も先頭側のcの添え字は%d。\n", st, str_char(st, cs));
return (0);
}
これだと「cはないです」しか出なくて…
あと、一歩って感じなんですが…
0678デフォルトの名無しさん
NGNGぜんぜんダメ。
最初から勉強し直せ。
0679デフォルトの名無しさん
NGNG> if (str_char(st, cs == -1))
この行は、
> if (str_char(st, 'c'))
こうだね。
0680679
NGNG>if (str_char(st, cs == -1))
これは
>if (str_char(st, 'c') == -1)
こうだね。
下のprintfでstr_char()を呼び出してるところも間違えてるよ。
0681ふトンカ ◆wX94FutoNg
NGNG昔Perlって何?だった時代に美しいBBSのソース見たときのような感動。
皆さん凄いですね、、。
>>676
うーん、0から覚えるならC++からだ!とか、Tkを使え!Perlマンセー!
など、色々言われております(汗) とりあえず、勉強します…。
>>678
できないサポートまでしてしまう私はアホ〜。だれか助けて! (?) (/_;)
私も全く同感です。同感できる立場にはありませんが…。
ヤケで作ったブツ…の完成(?)品
$moji = <>;
sub ccheck {
if ($moji =~ /c/) {
@i = split(/c/,$moji);# cがあったらそこで区切って配列を作る
$i = length($i[0]);#1つ目の配列の長さを取得
} else { $i = -2; } $i++; return $i }
if (&ccheck == -1) { print '"c"なんてないっす!'; exit; } else
{ print "cは$i番目にありました"; }
0683デフォルトの名無しさん
NGNG改行せずカーソルを右に移動する方法、
更に、計算結果もその右へ表示する方法教えて下さい。
#include <stdio.h>
main()
{
int a,b,c,d;
scanf("%d%d%d",&a,&b,&c);
d=a+b+c;
printf("%d",d);
}
これでは縦に表示されるので
123 6 このように表示したい。
0684デフォルトの名無しさん
NGNGprintf("%d%d%d %d",a,b,c,d);
return0;
0685683
NGNG1を入力。リターン。改行。
2を入力。リターン。改行。
3を入力。リターン。改行。
合計6表示。
となってしまうので、
1入力。リターン。カーソル右へ。2入力。リターン。カーソル右へ。
3入力。リターン。カーソル右へ。1つ空白で合計6表示。
という意味の 123 6 です。
0686デフォルトの名無しさん
NGNG0687683
NGNG検索しても分かりやすい説明がなかったです。
0688デフォルトの名無しさん
NGNG「エスケープシーケンス」で小一時間調べてみろ。
068960cm浮き上がるストレート
NGNG#include <stdio.h>
main()
{
int a,b,c,d;
scanf("%d",&a);
printf("\x1b[1A\x1b[1C");
scanf("%d",&b);
printf("\x1b[1A\x1b[2C");
scanf("%d",&c);
printf("\x1b[1A\x1b[4C");
d=a+b+c;
printf("%d",d);
}
UNIXとか効果がないパソコンもあるらしいですが、僕のパソコンの場合です。
\x1b[1A でカーソルを1上へもって行き、 \x1b[1C で1右へもって行きます。
\x1bの所をESCと書く方法もあるようです。なお、Bなら下、Dなら左です。
0690デフォルトの名無しさん
NGNG0691デフォルトの名無しさん
NGNG0692デフォルトの名無しさん
NGNG#define Locate(A,B) printf("\x1b[%d;%dH",(B),(A))
/* テキスト画面をクリアするマクロ */
#define Cls() printf("\x1b[2J")
0693デフォルトの名無しさん
NGNG0694デフォルトの名無しさん
NGNG#define MAXLINE 80
int main(int argc, char *argv[])
{
FILE *fi;
char linebuf[MAXLINE];
int moji;
if (argc !=2)
{
fprintf(stderr, "引数の数ちげーよ 使用方;tfshow ファイル名\n");
return;
}
if (( fi = fopen(argv[1], "rb")) == NULL) {
fprintf(stderr,"cannot open input file.\n");
exit(1);
}
while((moji = fgetc(fi)) != -1) {
printf("%c" ,moji );
}
fclose(fi);
return 0;
}
上記のプログラムを改良してテキストファイルの文字数を表示するプログラムをつくれ。
fgetc(fi)を用いろ。
0695デフォルトの名無しさん
NGNG人に頼みごとをするときは、口の利き方に気をつけろよ。
お願いしますの一言もいえないやつは、カエレ!
0696694
NGNG問題をそのままこぴぺしてしまった。
私はまだまだ未熟者なのでよろしくお願いします。
0697デフォルトの名無しさん
NGNG改行とかタブも数えるの?
だったら、
> int moji;
↑これを
int moji, count;
↑こうする。
>while((moji = fgetc(fi)) != -1) {
>printf("%c" ,moji );
>}
↑これを
count = 0;
while((moji = fgetc(fi)) != -1) {
printf("%c" ,moji );
++count;
}
printf("文字数=%d\n", count);
↑こうする。
0698694
NGNG>>697さんありがとうございました。
これからも頑張って勉強します。
0699シン
NGNG教えて頂けませんか?お願いします。
KEY→0,1,2,3,4,5,6,7,8,9,+,-,*,/,C,E,=
数値は整数型で左優先。
(*や/は優先しない。括弧は使わない。)
全く解らず手が付けられないで、
どこまで判ったか書くことが出来ず申し訳ございませんm(_ _)m
0700デフォルトの名無しさん
NGNG0701デフォルトの名無しさん
NGNG#include <stdio.h>
#include <ctype.h>
int number(void) {
char buf[100];
int c, i=0;
while ((c = getchar()) != EOF && isspace(c));
ungetc(c, stdin);
while ((c = getchar()) != EOF && isdigit(c))
buf[i++] = c;
ungetc(c, stdin);
buf[i] = '\0';
sscanf(buf, "%d", &i);
return i;
}
void main()
{
int n=number(), c;
while ((c = getchar()) != EOF) {
if (c == '+') n += number();
else if (c == '-') n -= number();
else if (c == '*') n *= number();
else if (c == '/') n /= number();
else if (c == '=') {printf("%d\n", n); n=number();}
}
}
0702デフォルトの名無しさん
NGNGこれってWindowsについてくる電卓みたいに、GUIで作るってこと?
0703デフォルトの名無しさん
NGNG>>699
与えられた文字列を解析して語句に分解、処理を繰り返せばいいのです。
たぶん、この課題はコンパイラの超基本をやろうとしていると思います。
仕様を見ると、与えられる文字列は大雑把に言って
与えられた文字列=数字句 演算子句 数字句 演算子句・・・・・
で分解できます。優先順位などは無いとのことなので、左から一つづつ文字
読み、処理しましょう。
0704シン
NGNGC言語と言う事と、先ほどの条件以外は出されてないので、
それ以外の事はちょっとわからないのですが。
これでやってみます。
コンパイルは自分のPCにC言語が出来るソフトが入ってれば出来るんですよね?
0705デフォルトの名無しさん
NGNGfgetc(fi)を用いろ。
出来ない奴は、氏ね!!
0706シン
NGNG0707デフォルトの名無しさん
NGNGとりあえずOSとかコンパイラとか環境かけや。
0708デフォルトの名無しさん
NGNG>>700誰に言ってるの?
なにもワカランと>>699が言ってるから聞いてみた。
>>704のレスをみると、ホントに分からないっぽ。
0709シン
NGNG0710デフォルトの名無しさん
NGNGbccならファイル名をhoge.cとしないといかん。
0711デフォルトの名無しさん
NGNG要素数Nの配列を3個用意し、2つのN次元ベクトルを
キーボードから読み込み、それらの和をもう1つの
配列に格納し、最後に出力するプログラムを、以下
の方法で作成せよ。
要素数をキーボードから入力し、必要な大きさの
メモリを確保して計算せよ。
という問題で、メモリ確保のためmalloc関数を
使いたいのですが、どうすればよいのでしょうか。
初歩的な質問ですみません。
0712デフォルトの名無しさん
NGNGdouble **p;
p = (double**)malloc(sizeof(double*)*m);
for (i = 0; i < m; i++)
p[i] = (double*)malloc(sizeof(double)*n);
0713デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1036150495/l50
誰からも教えてもらえなかったら↑こっちで質問しな。
0714デフォルトの名無しさん
NGNG問題ちらっと眺めただけで読んでないだろ
0715711
NGNGちなみにmalloc無しでは
こんなプログラムを書きました。
#include <stdio.h>
#define M 100
void main(void)
{
int i,N;
int v1[M],v2[M],v3[M];
int *p1,*p2,*p3;
printf("Input N(<=%d)\n",M);
scanf("%d", &N);
p1=v1 , p2=v2 , p3=v3;
for(i=0;i<N;i++)scanf("%d",(p1+i));
for(i=0;i<N;i++)scanf("%d",(p2+i));
for(i=0;i<N;i++)*(p3+i)=*(p1+i)+*(p2+i);
for(i=0;i<N;i++)printf("%d ",*(p3+i));
printf("\n");
}
0716デフォルトの名無しさん
NGNGint i, N;
int *v1, *v2, *v3;
printf("Input N\n",M);
scanf("%d", &N);
v1 = (int*) malloc(N*sizeof(int));
...
0718シン
NGNGファイル名:In function 'main'
ファイル名 16 :warning return] type of 'main' is not 'int'
と言うエラーです。
どうやって修正すればいいのでしょうか?
コンパイラはcygwinってやつです。
よろしくお願いします。
0719デフォルトの名無しさん
NGNG出力にある通りですからちゃんと読みましょうね。
それとも英語が読めませんか?
これは中学英語程度の英文ですから頑張って読む努力をしましょうね?
それともあなたはリア消ですか?それなら仕方ありませんね。
'main' 関数中
16: 警告: 'main' の返り値が 'int' ではありません
はい、1行目は main という関数の中に問題があるということを示していますね。
そして2行目は、まずその問題個所がファイル中の16行目にある、ということ、
次に、それが警告であって決してエラーではないということ、最後に、当該の
問題点についての詳細を示しています。
つまり(16行目にある)
void main
を
int main
に変えて、main 関数の最後に
return 0;
を加えればいいわけですね!
分かったかな?
0720シン
NGNG修正して走らせて、プログラムに問題ない事がわかりました。
ただ電卓の機能を試そうと、数値を入力してもモニタに何も表示されないで、
comnand not foundと表示されるだけなんです。
条件は左優先だけなので、
25*31だったら
"2"→"5"→"*"→"3"→"1"→"="という手順でやっていくのですが。
0721デフォルトの名無しさん
NGNGcomnand not found
コマンドが、見つかりません。(暗にタイプミスを指摘するエラーメッセージ)
0722デフォルトの名無しさん
NGNG>comnand not foundと表示されるだけなんです。
それって、 プログラムのミスじゃなくて、実行ファイルができてないとか、
もしくは実行されてないとか、そういう問題だと思う。
cygwinの使い方調べるところからはじめたほうがいいよ。
0723デフォルトの名無しさん
NGNG>>722
おそらく彼は
gcc hoge.c
とすればプログラムが走ると勘違いしているようです。
そして、コマンドプロンプトに直接
23*31
と入力して「command not foundと表示されるだけ」と
言っている訳ですね。
つまり彼は、残念ながらあなた方が想像したもよりはるかに
DQNということです。
0724デフォルトの名無しさん
NGNG>./a.out
23*31=
713
0725シン
NGNGgcc ソースファイル名 -o 実行ファイル名
で走らせてます。
これで走れば、とりあえずプログラムには問題が無いと判断し、
そこでなんらかの入力待ちの状態になるはずなのですが。
今回ならば数値ですね。
0726デフォルトの名無しさん
NGNGで実行ファイルが作られるだけ。
そのあとに
実行ファイル
と入れないと実行されない。
0727デフォルトの名無しさん
NGNG./実行ファイル名
だ。
#どうせカレントにPATHとおしてねえんだろ?
0728シン
NGNG0729教えて厨
NGNG1<={x,y,x}<64
を満足する整数の組み合わせ{x,y,z}を全て求めよ。
ただし、{x',y',z'}=整数×{x,y,z}となる組合せ
(例:{6,8,10}=2×{3,4,5})は不要
ねらーのみなさま、Cで組んでくださいな。
0730デフォルトの名無しさん
NGNGv=x*y
で置き換えて計算するんだったかな?
0731シン
NGNG25*31をやりたいなら、25 enter * enter 31 enter = enter (結果)
とやればいいわけですか。
"2"→"5"→"*"→"3"→"1"→"="
というように一つずつ入力するようにするにはどうすればいいのですか?
それとCとEについてですが、例えばCならCと入力してenterを押せば
0が出力されるようにしたいのですが。
0732デフォルトの名無しさん
NGNGvoid main()
{
int x, y, z;
for (x=1; x<64; x++)
for (y=x; y<64; y++)
for (z=y; z<64; z++)
if (x*x + y*y == z*z && (y % x || z % x))
printf("(%d,%d,%d)\n", x, y, z);
}
0733デフォルトの名無しさん
NGNGそれじゃ弾けんぞ。
#include <stdio.h>
int check(int x, int y, int z) {
int i;
for (i=2; i<=x; i++)
if (x % i == 0 && y % i == 0 && z % i == 0)
return 0;
return 1;
}
void main() {
int x, y, z;
for (x=1; x<64; x++)
for (y=x; y<64; y++)
for (z=y; z<64; z++)
if (x*x + y*y == z*z && check(x, y, z))
printf("(%d,%d,%d)\n", x, y, z);
}
(3,4,5)
(5,12,13)
(7,24,25)
(8,15,17)
(9,40,41)
(11,60,61)
(12,35,37)
(20,21,29)
(28,45,53)
0734デフォルトの名無しさん
NGNG> 25*31をやりたいなら、25 enter * enter 31 enter = enter (結果)
いちいちEnter押さないで
25*31=[Enter]
でいいだろ。
0735教えて厨
NGNG神
0736デフォルトの名無しさん
NGNGそれだと、
>ただし、{x',y',z'}=整数×{x,y,z}となる組合せ
も表示されるよ。
0737シン
NGNG>25*31=[Enter]
>でいいだろ。
自分もそう思うのですが、
課題がそうなってるんですよ・・・。
0739デフォルトの名無しさん
NGNG仕様くらいしっかり説明しろよ。
Eの時はどう動作すんの?
0740シン
NGNGはい。
Eは入力のみclearと言うことですが、
ちゃんと適用されてないような気がします。
0741デフォルトの名無しさん
NGNG10
*
20
E
30
=
300
ということか?
0742デフォルトの名無しさん
NGNG#include <math.h>
int check(int x, int y, int z) {
int i;
for (i=2; i<=x; i++)
if (x % i == 0 && y % i == 0 && z % i == 0)
return 0;
return 1;
}
void main() {
int x, y;
for (x=1; x<64; x++)
for (y=x; y<64; y++) {
int z = (int) sqrt(x*x+y*y);
if (z >= 64) break;
if (x*x + y*y == z*z && check(x, y, z))
printf("(%d,%d,%d)\n", x, y, z);
}
}
0743デフォルトの名無しさん
NGNG手伝ってくんないかな。。
0744デフォルトの名無しさん
NGNG#include <ctype.h>
int number(void) {
char buf[100];
int c, i;
do {
while ((c = getchar()) != EOF && isspace(c));
ungetc(c, stdin);
i=0;
while ((c = getchar()) != EOF && isdigit(c))
buf[i++] = c;
ungetc(c, stdin);
while ((c = getchar()) != EOF && isspace(c));
} while (c == 'E');
ungetc(c, stdin);
buf[i] = '\0';
sscanf(buf, "%d", &i);
return i;
}
0745デフォルトの名無しさん
NGNG{
int n, c;
while ((c = getchar()) != EOF) {
if (isdigit(c)) {ungetc(c, stdin); n = number();}
else if (c == '+') n += number();
else if (c == '-') n -= number();
else if (c == '*') n *= number();
else if (c == '/') n /= number();
else if (c == '=') printf("%d\n", n);
else if (c == 'C') n = 0;
}
}
0746シン
NGNG*
20
E
30
=
200
と表示されます。
0747デフォルトの名無しさん
NGNG300になるよ。
0748747
NGNG0749シン
NGNGchar buf[100];
int c, i=0;
while ((c = getchar()) != EOF && isspace(c));
ungetc(c, stdin);
while ((c = getchar()) != EOF && isdigit(c))
buf[i++] = c;
ungetc(c, stdin);
buf[i] = '\0';
sscanf(buf, "%d", &i);
return i;
}
int main()
{
int n=number(), c;
while ((c = getchar()) != EOF) {
if (c == '+') n += number();
else if (c == '-') n -= number();
else if (c == '*') n *= number();
else if (c == '/') n /= number();
else if (c == '=') {printf("%d\n", n); n=number();}
}
return 0;
}
0750シン
NGNG10
*
20
E
30
=
200
と表示されるんです。
正常なのでしょうか?
Cを入れても0は表示されません。
0751デフォルトの名無しさん
NGNGは、うまく行ったと思ったけど。
0752751
NGNGちょっと日本語変
0753デフォルトの名無しさん
NGNGテーマ何YO?
0754シン
NGNGでコンパイルしたら
警告文が出まして。
ファイル名:In function 'main';
ファイル名 22:warning return type of 'main' is not 'int'
このようにです。
0755デフォルトの名無しさん
NGNG0756デフォルトの名無しさん
NGNG...
return 0;
}
にして
0757デフォルトの名無しさん
NGNG0758シン
NGNG0759デフォルトの名無しさん
NGNG0760デフォルトの名無しさん
NGNGネットワークプログラミングの質問です。
[java]
サーバとクライアントの勉強をしていて、クライアントはtelnetを使用しています。
ここまでにhtmlファイルの内容をクライアントに送信することを学びました。
以下がそれです。
BufferedReader in1 = new BufferedReader(new FileReader(filename));
String line1;
while((line1=in1.readLine())!=null){
to_client.println(line1);
filenameはhtmlファイル名。
課題内容は、クライアントからhtmlファイル名を指定でき、そのファイルがあればサーバー側がクライアントにhtmlファイルの内容を返すものを作ることです。
それで、そのhtmlファイルがなければ
to_client.print("HTTP/1.0 404\r\n");
to_client.print("\r\n");
とします。これはおそらくelse文に書くのでしょう。
そしてif文の条件でhtmlファイルを探し、ファイルがあれば内容を表示するのだと思います。
わからないことは、ファイルを探す方法です。
どのようにファイルを探すのかわかれば、後はif,elseで解けると思うのですが、調べてもわからないのでその方法を教えてください。
それとも全く勘違いしているでしょうか?
0761デフォルトの名無しさん
NGNGif(file.exists()) {
//存在したときの処理。
} else {
//存在しないときの処理。
}
0762761
NGNG即答感謝します。
要求のところには、filenameと書けばいいのでしょうか?
0764デフォルトの名無しさん
NGNG0765デフォルトの名無しさん
NGNG0766デフォルトの名無しさん
NGNGよろしくお願いします。
0767デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1036150495/l50
教えてもらえなかったら、こっちにきてみそ。
0768デフォルトの名無しさん
NGNGint i;
for (i=2; i*i<=n; i++)
if (n % i == 0) return 0;
return 1;
}
void main() {
int A, B, i;
scanf("%d %d", &A, &B);
for (i=A; i<=B; i++)
if (isprime(i)) printf("%d\n", i);
}
0769デフォルトの名無しさん
NGNG0770両津勘吉
NGNG#include <string.h>
#define TINTERVAL 4500000
int main()
{
int i,j, k;
char *a = "This is a test";
char *b;
printf("%s\n", a);
for (k=0; k < 5; k++) {
/* forward */
b =a; /* point to first character */
for (i=0; i <=strlen(a); i++){
if (i > 0) {
/* 必要なだけスペース出力 */
for (j = 0; j < i; j++)
printf(" ");
}
if (i < strlen(a)) {
printf("%c\r", *b);
}
else {
printf("\r");
}
fflush(stdout);
b++;
/* sleep(1); 少しポーズする */
0771両津勘吉@つずきです
NGNG}
}
printf("\n");
return 0;
}
大ピンチになっています。上のプログラムを改良して両津勘吉という名前を
一文字づつ表示するプログラムはなんとかできました。
でもそこは提出しなくていいらしくて、今度はそれを改良して、両津勘吉という文字を、
一文字づつ左に表示して、左端についたら次に右に一文字づつ
表示するプログラムを作りたいのです。
どなたか暇な方がいたらよろしくお願いします。
0772両津勘吉出力例
NGNG2 勘
3 津
4 両
5 津
6 勘
7 吉
0773デフォルトの名無しさん
NGNGint main() {
char str[] = "両津勘吉";
char *s, *a, *b;
b = str+strlen(str)-1;
a = b-1;
for (; a != str; a-=2, b-=2) {
for(s=str; *s; s++)
if (s == a || s == b) putchar(*s);
else putchar(' ');
putchar('\n');
}
for (a=str, b=a+1; b <= str+strlen(str)-1; a+=2, b+=2) {
for (s=str; *s; s++)
if (s == a || s == b) putchar(*s);
else putchar(' ');
putchar('\n');
}
return 0;
}
0774デフォルトの名無しさん
NGNG#include <string.h>
int main() {
char str[] = "両津勘吉", *s, *a, *b;
int i = 2;
a = b = str+strlen(str)-2;
do {
if (a == str) i = -i;
for(s = str; *s; s++)
if (s == a || s == a+1) putchar(*s);
else putchar(' ');
putchar('\n');
a -= i;
} while (a <= b);
return 0;
}
0776デフォルトの名無しさん
NGNG授業でパーミュテーションのプログラムを学びました。
一応説明を。
説明:[A][B][C]から2語選んで語句を作る場合3×2通りの方法があります。
このことを記号P(パーミネーション)を使って
3P2と書きます。
で、これはいいのですが、これをコンビネーションできるように変えろという
宿題がでました。
説明:[A][B][C]から2語選んで組を作る場合3通りの方法があります。
このことを記号C(コンビネーション)を使って3C2と書きます。
その変える場所とは
for(i=0;i<n;i++)の部分を多少変え
permをconbi(5,m,何か)の形にするらしいです。
コンビネーションの意味すら忘れていて、かなりピンチです。
どうか助けてください。
次にプログラムを書きます。
0777デフォルトの名無しさん
NGNGint a[5]={1,2,3,5,7};
int s[5];
int p[5];
int c=0;
void perm(int n,int m){
int i;
if(c==m){
for(i=0;i<m;i++)
printf("%d ",p[i]);
printf("\n");
}
for(i=0;i<n;i++){
if(s[i]==0){
s[i]=1;
p[c]=a[i];
c++;
perm(n,m);
c--;
p[c]=0;
s[i]=0;
}
}
}
0778デフォルトの名無しさん
NGNGint m;
printf("select ? -> ");
scanf("%d",&m);
perm(5,m);
return 0;
}
これで終わりです。
0779デフォルトの名無しさん
NGNG殺伐としていてなかなか良いね。
0780デフォルトの名無しさん
NGNGちなみに、それ動く?
0781デフォルトの名無しさん
NGNGはい。
2を入力したときの実行結果です。
select ? -> 2
1 2
1 3
1 5
1 7
2 1
2 3
2 5
2 7
3 1
3 2
3 5
(以下略)
このように出力されます。
0782デフォルトの名無しさん
NGNGs[5]は初期化しなくても大丈夫か。こういう風に定義したものって必ず
中に0が入ってるんだっけ?
0783デフォルトの名無しさん
NGNGそうです。必ず0が入るので、大丈夫です。
それも今日習いました。
0784デフォルトの名無しさん
NGNG0785怜
NGNG>>776-778
これ、先生がくれたソース? かなり汚いよね・・・。
あまり教育上宜しくない気も・・・。
それはともかく、まず解読しないとね。変数の意味は大丈夫かな。
int a[5]={1,2,3,5,7}; ←これは5枚のカードの内容を表してる
int s[5];
s[i]はi番目のカードが既に選ばれたかどうかを表している。
1だったら既に選ばれた事をあらわしてるのね。
int p[5];
p[i]はi番目に選んだカードの内容を表してるの。
int c = 0;
今までに選んだカードの枚数
0786怜
NGNGまず、mを入力してもらってそれを読み取ってくるよね。
で、p(5,m)っていうのは、5枚のカードのうちからm枚選べっていう気分。
このときに、cには0が入ってるよね。まだ一枚目も選んでないからね。
s[5]には全部0が入ってることを頭においておいて。
p(int n, int m)の中では全ての順列を試したいわけね。
だから、まず5枚のうちから1枚選ぶ。
これが
for(i=0;i<n;i++){
の部分。この場合a[i]を1枚目とするのね。ここでは、s[i]は必ず0だからifは気にしないで。
まずi = 0 のとき、一枚目をa[0]とする。ってことでp[c]に記憶するのね。
じゃあ、一枚選んだからcに1を足して。a[0]は選んじゃったからそのマークとしてs[i]に1を。
では、1枚目をa[0]としたときの全ての並べ方をあらわそうってことで、p(n,m)の中に入って
いくわけね。
で、p(n,m)の先頭に。c==mのときは、既に指定した枚数分選んだことになるから、選んだ内容を表示
して戻るの。戻った場合の処理はまた後で書くね。
0787怜
NGNGでも、1枚目と同じの選んではいけないから、if文でチェックする。s[i]が1だったらそれは選べな
いから飛ばすの。で、1枚目、2枚目と決めた場合の全ての並び方・・・ってことでまたp(n,m)を
呼ぶのね。
で、戻ってきたら・・・。m=2の場合、2枚目決めてp(n,m)の中に入るとc==mで戻ってくるよね。
このとき、1枚目、2枚目がこれの時の並べ方は全部選んだ。よし、次は2枚目を変えた場合
の並べ方を決めよう。ってなるの。だから2枚目を選んだことをキャンセルしてc--して、p[c]=0,
s[i] = 0とするの。で、順に全部のを表して行く・・・。
・・・って、文字で説明しようとしたことを凄く後悔してたりしてます。
ここまででよくわからないことあったらきいてね。
0788怜
NGNGまず、コンビネーションは組み合わせね。
だから、
1,2,5も2,1,5も5,1,2も全て同じものと考えるの。
だから、>>781のように並び方を全部書き出すことはないのね。
で、どう改造すればいいか。考え方としては、
a[0]からa[4]まで順に選んでいく形にするの。
つまり、一枚目にa[1]をえらんだら、2枚目にはa[2]からa[4]
の中で選ぶ。2枚目をa[3]を選んだら、3枚目はa[4]以外ありえない。
という風にね。
ということは、conbi(5,m,何か)の何かには、ここで選んだカード
は何番目のカードかを渡すのね。
で、if(s[i]==0){の部分を何かに変えるわけね。
ここからは、自分で少し考えてみてね。
0789怜
NGNGカードを選ぶって問題だってことにしてください・・・
0790デフォルトの名無しさん
NGNGできたーーーーーーーーーーーーーーーーーー!
ありがとうございました。これで熟睡できます。
0791デフォルトの名無しさん
NGNGcombination だと思われ
0792デフォルトの名無しさん
NGNGひでぇ教師だな。
0793デフォルトの名無しさん
NGNG0794デフォルトの名無しさん
NGNGグローバルスコープの変数は保証される。
staticつけないと0初期化が保証されないのは、
ローカルスコープの変数だけ。
0795デフォルトの名無しさん
NGNG0796デフォルトの名無しさん
NGNGif(!BOOL) or if(!(BOOL))
でいいじゃないか!
0797デフォルトの名無しさん
NGNGまだc言語に足をつっこんだばかりの初心者です。
p乗の値をもとめるのにpowを用いないアルゴリズムが優れている点を述べよ
っていう問題なんですけど、調べてもよくわからなくて…。
お願いします。。。_(._.)_
0798デフォルトの名無しさん
NGNGって具体的に何さ。
比較するなら、
>powのアルゴリズム
も問題になってくると思うが、
これって処理系依存でわ?
0799デフォルトの名無しさん
NGNGその理由を答えるっていう問題なんですけれども。
まずpowのしくみ自体がわからなくて。powがどんな計算で値を求めているのかがわかれ
ば比較できるかなと思っているのですが。
0801デフォルトの名無しさん
NGNGなぜ速いかっていうのを述べる際に、powの計算のしくみがわからなくて…。
しらべてもどこにも見当たらなく…。
知っている方いらっしゃったらお願いします。。。
0802デフォルトの名無しさん
NGNGたとえば、ここのpowには、
http://nemesis.sourceforge.net/browse/mod/venimpl/c/math/pow.c.html
197: else if(y==two)
198: return(x*x);
199: else if(y==negone)
200: return(one/x);
こういう処理も入っていたりするんだが。
0803デフォルトの名無しさん
NGNG0804デフォルトの名無しさん
NGNG加算ならnumber1 + number2 = resultみたいにしたいです
なにぶん素人なので知恵を授けてください
0806デフォルトの名無しさん
NGNG数 演算子 数
ってきたらそれをすぐ計算して結果変数に入れとけばいい名じゃないか.
そのあとまた
演算子 数
ってきたらまた計算して結果変数を上書きする.
=
ってきたらそれを打ち出す.
0807デフォルトの名無しさん
NGNG変数も扱えるってことかい?
0808デフォルトの名無しさん
NGNGprivate Label label;
private TextField textField;
private Button button[];
private Panel panel1,panel2;
public void init(){
panel1 = new Panel();
panel1.setLayout(new BorderLayout(2, 2));
panel2 = new Panel();
panel2.setLayout(new GridLayout(4, 4, 2, 2));
label = new Label();
label.setText("Calculator");
panel1.add(label, BorderLayout.CENTER);
textField = new TextField(40);
panel1.add(textField, BorderLayout.SOUTH);
button = new Button[17];
button[1] = new Button("7");
button[1].addActionListener(this);
panel2.add(button[1]);
button[2] = new Button("8");
button[2].addActionListener(this);
panel2.add(button[2]);
button[3] = new Button("9");
button[3].addActionListener(this);
panel2.add(button[3]);
以下長いので省略
0809デフォルトの名無しさん
NGNG電卓のロジック自体がわからないのか、
ボタンが押されたことをロジック部分に伝える方法がわからないのか
0810takeru@もうだめぽ
NGNG#include <string.h>
#define TINTERVAL 4500000
int main()
{
int i,j, k;
char *a = "yaamada takeru";
char *b;
printf("%s\n", a);
for (k=0; k < 5; k++) {
b =a;
for (i=0; i <=strlen(a); i++){
if (i > 0) {
/* 必要なだけスペース出力*/
for (j = 0; j < i; j++)
printf(" ");
}
if (i < strlen(a)) {
printf("%c\r", *b);
}
else {
printf("\r");
}
fflush(stdout);
b++;
0811takeru@続き
NGNGfor (j=0; j < TINTERVAL; j++) {
}
}
/*行を消去 (一行文のスペース出力) */
printf(" \r");
}
printf("\n");
return 0;
}
上のプログラムを改良して自分の名前を一文字ずつ左に表示して左端についたら
逆に右に一文字ずつ表示するプログラムをつくれ。
ぼくにはこれ以上無理です。どなたかお願いします。
0812takeru
NGNG出力例
1 y
2 a
3 m
4 a
5 d
6 a
7
8 t
9 a
10 k
11 e
12 r
13 u
14 r
15 e
16 k
17 a
18 t
.
.
.
.
.
.こんな感じです。お願い致します。
0813takeru
NGNG>>812は間違いです・・気にしないでください。
なんでそうなるねん
0815takeru
NGNGすっかり同じの提出するとまずいっす。
0816デフォルトの名無しさん
NGNG名前違うからいいじゃん。変数とかインデントとか適当に変えろ。
でも素直でよろしい。こないだの奴は「いろんなコーディング例もみたいから」とか
いいわけしてやがったからな。
0817takeru
NGNGウインドウずじゃないみたい・・
なんかちがうみたい・・・・違う学校のやつっぽいな・・・
アツカマシイですが
やはりだれか僕のの改良版でよろしくおねがいです。
本当に自分でできなくてごめんなさい。
0818デフォルトの名無しさん
NGNG#include <string.h>
#define TINTERVAL 500000
int main( int argc, char *argv[])
{
int i, line;
char *cp;
if( argc != 2 ) return -1;
puts(argv[1]);
cp = argv[1]+strlen(argv[1]);
line = 1;
do{
cp--;
usleep(TINTERVAL);
printf( "%d ", line++ );
for( i = 0; i < cp-argv[1]; i++ ) printf( " " );
printf( "%c\n", *cp );
}while( cp != argv[1] );
for( cp++; *cp; cp++ ){
usleep(TINTERVAL);
printf( "%d ", line++ );
for( i = 0; i < cp-argv[1]; i++ ) printf( " " );
printf( "%c\n", *cp );
}
return 0;
}
0819デフォルトの名無しさん
NGNG#include <string.h>
#define TINTERVAL 4500000
int main()
{
int k;
char *a = "yaamada takeru";
printf("%s\n", a);
for (k=0; k < 5; k++) {
int i=0, j, n=1;
do {
/* 必要なだけスペース出力*/
for (j = 0; a[i] && a[j]; j++)
if (i == j) putchar(a[i]);
else putchar(' ');
if (!a[i]) { n = -1; i--; };
printf("\r");
fflush(stdout);
i += n;
} while (i >= 0);
/* sleep(1); 少しポーズする */
for (j=0; j < TINTERVAL; j++) {
}
/*行を消去 (一行文のスペース出力) */
printf(" \r");
}
printf("\n");
return 0;
}
0820takeru
NGNGあしたの午後までなのでだれかおながいします。
>>818様ありがとうございます・・・しかしどうも主旨が勘違いなさってしまったようです。
僕の説明不足でしたすいません。
>>818様どうもありがとうございます。しかし、コンパイルできても、
a.outすると一文字目で止まってしますのです。
だれか解放がわかる方いたらよろしくです。
出力例
下に延びるのではなくそのばでこう表示されるものがほしいのです。
だれかお願いします。
0821デフォルトの名無しさん
NGNG#include <string.h>
#define TINTERVAL 4500000
int main() {
int k;
char *a = "yaamada takeru";
printf("%s\n", a);
for (k=0; k < 5; k++) {
int i=0, j, n=1;
for (; i >= 0; i += n) {
if (!a[i]) { n = -1; i--; continue; }
/* 必要なだけスペース出力*/
for (j = 0; a[j]; j++)
if (i == j) putchar(a[i]);
else putchar(' ');
printf("\r");
fflush(stdout);
/* sleep(1); 少しポーズする */
for (j=0; j < TINTERVAL; j++) {
}
}
/*行を消去 (一行文のスペース出力) */
printf(" \r");
}
printf("\n");
return 0;
}
0822デフォルトの名無しさん
NGNG何か簡単なのでオススメなのを教えてください。
0823デフォルトの名無しさん
NGNG0824818
NGNGそれさえも考えつかないの? 正直向いてないと思うよ。
0825takeru
NGNG命の恩人です。ありがとうございました。
0826takeru
NGNG0827デフォルトの名無しさん
NGNGそれさえ自分でできないなら、本当にやめた方がいい。
0828takeru
NGNG0829takeru
NGNG0830takeru
NGNG#define FNAMELEN 25
void nltonull(char *string);
int main(void)
{
FILE *fi, *fo;
char source[FNAMELEN], dest[FNAMELEN];
char charbuf;
int readItems;
printf("読みだすファイル名を入力してね");
fgets(source, FNAMELEN, stdin);
nltonull(source);
printf("書き込み先のファイル名を書いてチョ");
fgets(dest,FNAMELEN, stdin);
nltonull(dest);
/*よみ出す元のファイルオープン*/
if ((fi = fopen(source, "rb")) == NULL){
fprintf(stderr, "cannot open input file.\n");
exit(-1);
}
0831デフォルトの名無しさん
NGNG0832takeru@
NGNGif ((fo = fopen(dest, "wb")) == NULL){
fprintf(stderr, "cannot open output file.\n");
exit(-1);
}
/*バイナリファイルのコピー*/
while ((readItems = fread(&charbuf, 1, 1, fi)) != 0) {
fwrite(&charbuf, 1, readItems, fo);
}
fclose(fi);
fclose(fo);
return 0;
}
void nltonull(char *string)
{
if (string[strlen(string) - 1] == '\n')
string[strlen(string) - 1] = '\0';
}
0833takeru
NGNG指定して、指定されたバイナリファイルの大きさを出力するプログラムを作成してください。
ls ーlででてくるおおきさと等しいことを確認せよ。
だれかおながいします。もうだめぽ。自分でできなくてすいません。
0834デフォルトの名無しさん
NGNG0835デフォルトの名無しさん
NGNG0836デフォルトの名無しさん
NGNGatoi(str)ってやると235154を返すよね?
これを前から一つずつ、だから2,次は3って返してくれる方法ってある?
0837デフォルトの名無しさん
NGNG文変じゃねーか
わかりにくいぞ
も1回書きなおして
0838デフォルトの名無しさん
NGNGわかりにくい
も1回書きなおして
0839デフォルトの名無しさん
NGNGおまえが日本語理解能力0なだけ。
も1回見直して
0840デフォルトの名無しさん
NGNG0841836
NGNGわり。間違いだらけだった。
たとえばchar *buf="235154"だったとして、
atoi(buf)ってやると235154を返すよね?
これを前から一つずつ、だから2,次は3って返してくれる方法ってある?
0842デフォルトの名無しさん
NGNG何の事かよくわかんないけど、bufを先頭から参照すれば?
0843838
NGNGchar *buf="235154"
char num[6];
num[0]=2;
num[1]=3;
num[2]=5;
それともfor文とか使って実現したいの?
0845デフォルトの名無しさん
NGNGつーか質問の仕方良く考えれ。
0846デフォルトの名無しさん
NGNG日本語不自由ですか?
0847838
NGNGwhile(buf[i])
{
num[i]=atoi(buf[i]);
i++;
}
みたいにか?
0848デフォルトの名無しさん
NGNG0849デフォルトの名無しさん
NGNG0850デフォルトの名無しさん
NGNGfseek(fp,0,SEEK_END);
size=ftell(fp);
0851デフォルトの名無しさん
NGNGわけわからん。
文面よく見直して、出直して来い。
0853836
NGNGもぞれつの段階で処理すんのか?
0854838
NGNGこれで勘弁して
int main()
{
char *buf="235154";
char temp;
int num[6]={0};
int i=0;
for(i=0;i<6;i++){
temp=buf[i];
num[i]=atoi(&temp);
printf("%d\n",num[i]);
}
0855デフォルトの名無しさん
NGNG>>849
0856デフォルトの名無しさん
NGNGおまえバカだろ?
0857デフォルトの名無しさん
NGNGギャグですか?
0858836
NGNG0859デフォルトの名無しさん
NGNG下手したらcore
0860エアーエッジ
NGNG0861デフォルトの名無しさん
NGNGchar temp;
temp=buf[i];
num[i]=atoi(&temp);
0862836
NGNG0863デフォルトの名無しさん
NGNG0864デフォルトの名無しさん
NGNG>>855
0865デフォルトの名無しさん
NGNG0866デフォルトの名無しさん
NGNG0867デフォルトの名無しさん
NGNG(゚Д゚)ハァ?
0868エアーエッジ
NGNG0869デフォルトの名無しさん
NGNG(;´Д`)ハァハァ
0870エアーエッジ
NGNG満員電車なんかどうよ。嫌でも接触するだろ。
乳くらいもませろよ。
ばっかじゃねーの。
おまえの論理。
0871デフォルトの名無しさん
NGNGそれとも 836=838=エアーエッジ か?
0872デフォルトの名無しさん
NGNGfor(i=0;i<len;i++)num[i]=buf[i]-'0';
-- 終了 --
0873>>870
NGNGちょっとくらいはげてるからってきもいきもい騒ぐなっての。
掛布さんなんかどうよ。嫌でも拝見するだろ。
髪くらい生やさせろよ。
ばっかじゃねーの。
おまえのLONLEY・・・
0874>
NGNGワロタ
0875takeru
NGNGコマンドライン引数としてバイナリファイルを指定して、
指定されたバイナリファイルの大きさを出力するプログラムを作成してください。
>>837様
これだけ書けば良かったみたいです。ls-lと比べるのは自分でできます。
どなたかお願いします。
0876takeru
NGNGバイナリファイルを16進表示で出力するプロスラムつくりたいんですけどそうやるんですか??
0877デフォルトの名無しさん
NGNGwhile ((c = getchar()) != EOF)
line++:
printf("%d\n", line);
while ((c = getchar()) != EOF)
printf("%x", c);
0878デフォルトの名無しさん
NGNG0879takeru
NGNGそれはどこにあるんですか?
0880デフォルトの名無しさん
NGNG// ファイルサイズ表示
#include <stdio.h>
int main(int argc,char *argv[])
{
FILE *fp;
fopen(argv[1],"rb");
fseek(fp,0,SEEK_END);
printf("size:%d\n",ftell(fp));
fclose(fp);
return 0;
}
// 16進表示
#include <stdio.h>
int main(int argc,char *argv[])
{
FILE *fp;
long size;
int i;
fopen(argv[1],"rb");
fseek(fp,0,SEEK_END);
size=ftell(fp);
fseek(fp,0,SEEK_SET);
for(i=0;i<size;i++)printf("%x",fgetc(fp));
fclose(fp);
return 0;
}
0881yumi・・・・・
NGNG0882デフォルトの名無しさん
NGNG0883たける
NGNG感謝致します。しかし
俺の実力だとそれの使用法がわからないであります。本当にすいません。
0884デフォルトの名無しさん
NGNG実行ファイルの後にスペース空けて入力ファイル名
dump binfile
0885たける
NGNGをすると、セグメント例外と表示されてしまいます。本当にすいません。
0886デフォルトの名無しさん
NGNG0887デフォルトの名無しさん
NGNGfopen(argv[1],"rb");
↓
fp=fopen(argv[1],"rb");
0888takeru
NGNGありがとうございます
0889takeru
NGNG両方ともできました。本当に自分が情けないです。
多謝致します。ありがとうございました。
0890デフォルトの名無しさん
NGNG0891デフォルトの名無しさん
NGNG0892デフォルトの名無しさん
NGNG15桁目が添え字14の要素となるように格納する。15桁の自然数xとyを受け付けて、x-yを計算し、結果を出力せよ。
x => y を仮定する。
学校の課題なんだけど、15桁の自然数をどう入力したらいいかわからん。
最初おれが考えたのはfgetsで文字列として自然数を入力して
atoiとか使って数字に変換しようとしたけど、わからなかった。
0893デフォルトの名無しさん
NGNG15桁目が添え字14の要素となるように格納する。15桁の自然数xとyを受け付けて、x-yを計算し、結果を出力せよ。
x => y を仮定する。
学校の課題なんだけど、15桁の自然数をどう入力したらいいかわからん。
最初おれが考えたのはfgetsで文字列として自然数を入力して
atoiとか使って数字に変換しようとしたけど、わからなかった。
お前ら考えろ。答えが分からなかったら氏ね!!
0894デフォルトの名無しさん
NGNG0895デフォルトの名無しさん
NGNGX大なりイコールYだと思われ
0896デフォルトの名無しさん
NGNG筆算しろ。
0897デフォルトの名無しさん
NGNGx[i] = buf[14-i] - '0'
0898デフォルトの名無しさん
NGNG0899デフォルトの名無しさん
NGNGatoiの引数は?
0900893
NGNG#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char buf_x[256],buf_y[256],s;
int data_x[15],data_y[15],data[15]={0},i,j;
puts("二つの15桁の自然数を入力してください。(X > Y)");
printf("整数X :");
fgets(buf_x,sizeof(buf_x),stdin);
for(i=0,j=14;buf_x[i]!='\0';i++,j--)
{
s=buf_x[i];
data_x[j]=atoi(&s);
}
printf("整数Y :");
fgets(buf_y,sizeof(buf_y),stdin);
for(i=0,j=14;buf_y[i]!='\0';i++,j--)
{
s=buf_y[i];
data_y[j]=atoi(&s);
}
0901893
NGNGfor(i=0;i<15;i++)
{
if((data_x[i] - data_y[i]) < 0)
{
data_x[i+1]--;
data[i]=(10 + data_x[i]) - data_y[i];
}
else
data[i]=data_x[i] - data_y[i];
}
printf("X - Y = ");
for(i=14;i>=0;i--)
printf("%d",data[i]);
putchar('\n');
return(0);
}
0902デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
void get_data(char *buf,int *data)
{
int i,j;
char *s;
fgets(buf,sizeof(buf),stdin);
for(i=0,j=14;buf[i]!='\0';i++,j--)
{
*s=buf[i];
data[j]=atoi(s);
}
}
int main(void)
{
char buf_x[256],buf_y[256];
int data_x[15],data_y[15],data[15]={0},i,j,flag=0;
puts("二つの15桁の自然数を入力してください。(X > Y)");
printf("整数X :");
get_data(buf_x,data_x);
printf("整数Y :");
get_data(buf_y,data_y);
0903デフォルトの名無しさん
NGNGfor(i=0;i<15;i++)
{
if((data_x[i] - data_y[i]) < 0)
{
data_x[i+1]--;
data[i]=(10 + data_x[i]) - data_y[i];
}
else
data[i]=data_x[i] - data_y[i];
}
printf("X - Y = ");
for(i=14;i>=0;i--)
{
if(data[i] != 0)
flag=1;
if(flag == 0)
putchar(' ');
else
printf("%d",data[i]);
}
putchar('\n');
return(0);
}
0904デフォルトの名無しさん
NGNG*s=buf[i];
0905デフォルトの名無しさん
NGNG0906デフォルトの名無しさん
NGNG0907デフォルトの名無しさん
NGNG0908デフォルトの名無しさん
NGNG0909sage
NGNG#include <stdio.h>
#include <math.h>
void main(void)
{
float test = 0;
test += (float)cos( 1.57080 );
printf("%f",test);
}
このような単純なものなのですが、
出力結果は0.000004、これはいいとして、
printf部分でブレークで見てみた場合、
-3.67321e-006
となっています。これはどうしてなのでしょうか?
おしえてください(TT
0910デフォルトの名無しさん
NGNG浮動小数点って知ってますか? 教えて下さい。
0911デフォルトの名無しさん
NGNGなんで符号が変わるんだと思って試してみたら、
-0.000004 って出力された。
0912デフォルトの名無しさん
NGNGe-006ってのが何を意味してるか知ってる?
3.6って四捨五入すれば4だよね。
0914デフォルトの名無しさん
NGNG0915デフォルトの名無しさん
NGNG0916デフォルトの名無しさん
NGNGどうしても分からないところだけ聞いてみますっ
0917デフォルトの名無しさん
NGNG徹夜してもさっぱりです。誰か助けてくださいません?
「文法の数、文法、文字列を入力し、入力した文字列への過程を出力させよ。」
実行例
>文法の数を入力せよ
3
>文法を入力せよ
A->aB
B->aB
B->b
>文字列を入力せよ
aab
>過程を出力
A=>aB=>aaB=>aab
0918デフォルトの名無しさん
NGNG0919デフォルトの名無しさん
NGNG学校の宿題だって、自分でやらないとあとあと
大変だとおもう。
卒業するまで、全部人に教えてもらうってわけには
いかないだろうし。
(「毎週聞きます」とか言ってた奴もいるけど)
0920デフォルトの名無しさん
NGNG>A->aB
>B->aB
>B->b
BはいったいどっちのBを呼ぶのでしょうか?
0921デフォルトの名無しさん
NGNGaを入力したときに、
> A->aB
> B->aB
のうち、上の文法を選択しているようだけど、
先に入力した方を優先するってことでいいの?
あと入力される文法はLL(1)だけだと考えていいの?
0923デフォルトの名無しさん
NGNG初期状態は一番最初に入力された文法の左辺です。
入力される文法もLL(1)です。
初期状態(実行例ではA)から入力した文字列(実行例ではaab)までの状態遷移を出力させるってことです。
0924デフォルトの名無しさん
NGNG一般教養とかで単位取るだけが目的ならできなくても大丈夫だろう。
0925デフォルトの名無しさん
NGNGで、どこまでわかって、どこからわからないの?
0926デフォルトの名無しさん
NGNG肝心の状態遷移ができません。
あーあと1時間で提出だー
0927921
NGNG#include <stdio.h>
#include <stdlib.h>
typedef struct {
char current_state;
char input;
char next_state;
} Rule;
Rule* rules;
int rule_count;
char buffer[256];
char history[256];
int main()
{
int i, j;
char current_state;
puts(">文法の数を入力せよ");
fgets(buffer, sizeof(buffer), stdin);
sscanf(buffer, "%d", &rule_count);
rules = malloc(sizeof(Rule) * rule_count);
puts(">文法を入力せよ");
for (i = 0; i < rule_count; i++) {
fgets(buffer, sizeof(buffer), stdin);
/* A->aB */
rules[i].current_state = buffer[0];
rules[i].input = buffer[3];
rules[i].next_state = buffer[4]; /* if B->b then '\n' */
}
puts(">文字列を入力せよ");
fgets(buffer, sizeof(buffer), stdin);
0928921
NGNGi = 0;
history[0] = '\0';
current_state = rules[0].current_state;
printf("%c", current_state);
while (buffer[i] != '\n') {
for (j = 0; j < rule_count; j++) {
if (current_state == rules[j].current_state && buffer[i] == rules[j].input) {
history[i] = rules[j].input; history[i + 1] = '\0';
if (rules[j].next_state == '\n') {
printf("=>%s", history);
} else {
printf("=>%s%c", history, rules[j].next_state);
}
current_state = rules[i].next_state;
break;
}
}
i++;
}
return 0;
}
0929921
NGNG×current_state = rules[i].next_state;
○current_state = rules[j].next_state;
0930う
NGNG問題内容は、「ハッシュ関数を利用して,人の姓(last name)をキー
にして姓名(first nameも含む)を表に格納するプログラムを書け.
必要に応じて上の関数を書き直してよい.ハッシュ値の計算が正しく
行われて,正しい位置にデータが格納されていることが確認できるよ
うに表示させること.」です。
下のようにプログラムを作成したのですが文字列がうまく読み込めな
いようです。正しく結果が出るように直してくれませんか?
0931う
NGNG#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
#include <string.h>
/* ハッシュ表の定義*/
#define BUCKET_SIZE 13 /* ハッシュ表の大きさ*/
typedef char KEY;
typedef char DATA;
typedef struct cell{
KEY key[20];
DATA data[20];
struct cell *next;
}CELL;
CELL *table[BUCKET_SIZE];
/*----------------------------------------
処理: ハッシュ表を初期化する
引数: なし
戻り値: なし
----------------------------------------*/
void init()
{
int i;
for(i = 0;i < BUCKET_SIZE;i++)
table[i]=NULL;
}
0932う
NGNG/*ハッシュ関数*/
int hash(char *s){
int hashv ;
int key[20]={0} ;
int i = 0 ,j = 1 ;
while(*s != '\0'){
key[i] = *s++ % 32 ;
i++ ;
}
hashv = key[0] ;
while(key[j] != '\0'){
hashv = ( (32*hashv) + key[j] ) % 101 ;
j++ ;
}
return hashv ;
}
0933う
NGNG/*----------------------------------------
ハッシュ表にデータを挿入する
----------------------------------------*/
int insert(KEY key[],DATA data[])
{
CELL *p;
int h;
if((p = (CELL *)malloc(sizeof(CELL))) == NULL){
printf("out of memory\n");
exit(2);
}
h = hash(key);
strcpy( p->key , key ) ;
strcpy( p->data, data ) ;
p->next = table[h];
table[h] = p;
return 1;
}
0934う
NGNG処理: ハッシュ表の内容を表示する
----------------------------------------*/
prt()
{
CELL *p;
int i;
for(i = 0; i < BUCKET_SIZE; i++){
printf("[%d]",i);
for(p = table[i]; p != NULL; p = p->next)
printf(" %c %c", p->key,p->data);
printf("\n");
}
printf("\n");
}
int main(void)
{
init();
insert("dsd","Agf");
insert("ehd","fsH");
insert("add","Sa");
prt();
return 0;
}
0935デフォルトの名無しさん
NGNGh = hash(key);
でハッシュ値を取ってきたあとにBUCKET_SIZEで割った余りをもちいましょう。
printf(" %c %c", p->key,p->data);
は
printf(" %s %s", p->key,p->data);
?
0936う
NGNG言われたとうりにしたらできました。
ありがとうございました。
0937デフォルトの名無しさん
NGNG宿題手伝ってください
問題は
簡単な電卓プログラムを作成しる!!
コンソールから1行受け取り(2+3 や 43*6等の整数型の四則演算の式)
(とりあえず式として成り立たない文字列や演算子が何度も出てくるものは無効として終了する)
これを計算し結果を表示するというものなんですが
とりあえず式を受け取ってから、これを非演算数、演算数、演算子に分解する方法が
わかりません
たすけてぇ
0938デフォルトの名無しさん
NGNG>>699から読み直せ
0939デフォルトの名無しさん
NGNGint rand1, rand2;
char rator;
scanf( "%d %c %d", &rand1, &rator, &rand2 );
これで、rand1 に被演算数、rand2 に演算数、rator に演算子が入る
0940デフォルトの名無しさん
NGNG[A] sql [B] 1000 [C] 2000
SQL列のデータが1000以上2000以下
というSQLの問題で、AにはWHERE、Bには>=、となると思うんですが
語句を1個しか入れるところがないので、OR <=とやろうと思っても出来ません
ほかのやり方とかあるんでしょうか?
0941デフォルトの名無しさん
NGNG0942940
NGNGなるほど!!
少し前の問題でやったのに
すっかり忘れてました
ありがとうございます
0943デフォルトの名無しさん
NGNGコンパイルはできるのに、RUNができないんです。
お願いします。ちなみに宿題のURLはここ↓です。
http://www.cs.okstate.edu/cs1113/programs/pgm04.html
よろしくお願いします。
0944943
NGNG↑これがプログラムです。
URLを書くのを忘れてました。
お願いします。
0945デフォルトの名無しさん
NGNG0946デフォルトの名無しさん
NGNG0947デフォルトの名無しさん
NGNG取り敢えず、& n b s p 付けて整形してくれ。
0948デフォルトの名無しさん
NGNG↑SQLの問題なんですが、どうしてもこの3個だけとけません
答えを探そうと思って検索したいんですが
非常に検索しづらいのだけ残ってしまって
持っている入門書にもそれらしい事は書いていませんでした
SQL分かるかたよろしくお願いします。
というか、問題がそもそも不明瞭な気がします
問題の大元には表とかあったのかなTT
0949デフォルトの名無しさん
NGNGさすがに表があっただろう。列の意味がわからん。
0950デフォルトの名無しさん
NGNGおそらくこんな感じだろう。
SELECT ename, (sal + nvl (comm., 0) ) * 12
FROM emp;
SELECT e.ename 社員, m.ename 上司
FROM emp e, emp m
WHERE e.mgr = m.empno;
SELECT cname, ename, lname
FROM emp, cust, loc
WHERE emp.empno = cust.salesno
AND cust.locno = loc.locno;
0952もまずにパピコ
NGNG其れはempとdeptといってOracleインストールしたときサンプルユーザに入ってるサンプル表だ。
もちろん定義がわからなければわかるはずもない。
が、Oracle関連では当たり前のこととして説明を省略しやがるんだな。
0953930
NGNGしたら、こんどはオープンアドレス法でハッシュ法を作れ。
といわれました。チェイン法を改造してプログラムを作成
したら再ハッシュができないみたいなので修正してください。
ちなみにC言語です。
0954930
NGNG/*データベース*/
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
#include <string.h>
/* ハッシュ表の定義*/
#define BUCKET_SIZE 101 /* ハッシュ表の大きさ*/
typedef char KEY;
typedef char DATA;
typedef struct cell{
KEY key[20];
DATA data[20];
}CELL;
CELL *table[BUCKET_SIZE];
/*----------------------------------------
処理: ハッシュ表を初期化する
引数: なし
戻り値: なし
----------------------------------------*/
void init()
{
int i;
for(i = 0;i < BUCKET_SIZE;i++)
table[i]=NULL;
}
0955930
NGNG/*----------------------------------------
処理: ハッシュ値を計算する
引数: キーの値
戻り値: ハッシュ値
----------------------------------------*/
int hash(char *s){
int hashv ;
int key[20]={0} ;
int i = 0 ,j = 1 ;
while(*s != '\0'){
key[i] = *s++ % 32 ;
i++ ;
}
hashv = key[0] ;
while(key[j] != '\0'){
hashv = ( (32*hashv) + key[j] ) % 101 ;
j++ ;
}
return hashv ;
}
0956930
NGNG0957デフォルトの名無しさん
NGNG0958930
NGNG/*----------------------------------------
処理: ハッシュ表にデータを挿入する
----------------------------------------*/
int hash(char *s){
int hashv ;
int key[20]={0} ;
int i = 0 ,j = 1 ;
while(*s != '\0'){
key[i] = *s++ % 32 ;
i++ ;
}
0959デフォルトの名無しさん
NGNG回線切って首吊って死んでください。
0960930
NGNG続き。
int insert(KEY key[],DATA data[])
{
CELL *p,*q;
int h;
if((p = (CELL *)malloc(sizeof(CELL))) == NULL){
printf("out of memory\n");
exit(2);
}
h = hash(key);
strcpy( p->key , key ) ;
strcpy( p->data, data ) ;
if(table[h]==NULL)table[h] = p;
else if(table[h]!=NULL){
for(;;){
h++;
if(table[h]==NULL){
table[h] = p;
break;
}
if(h > BUCKET_SIZE){
printf("hash table overflow\n");
exit(1);
}
}
return 1;
}
0961930
NGNG/*----------------------------------------
処理: ハッシュ表の内容を表示する
引数: なし
戻り値: なし
----------------------------------------*/
prt()
{
int i;
printf("ハッシュ表\n");
for(i = 0; i < BUCKET_SIZE; i++){
printf("[%d] -> [ 名:%s 姓:%s ] ",i, table[i]->key,table[i]->data);
if(table[i]==NULL)printf("NULL");
printf("\n");
}
printf("\n");
}
0962930
NGNG/*メイン関数*/
int main()
{
init();
insert("yuki","sato");
insert("suguru","ozou");
insert("hide","nakata");
insert("singi","ono");
insert("anaberu","gatou");
insert("onisige","kawamoto");
insert("eikiti","onizuka");
insert("sige","mori");
insert("yuki","gotou");
insert("yutaka","ozaki");
insert("hanako","yamada");
insert("takako","doi");
insert("jyunnitirou","koizumi");
insert("ryutarou","hasi");
insert("nobunaga","oda");
insert("hikaru","sinndou");
insert("tatutora","kawamoto");
prt();
return 0;
}
0963デフォルトの名無しさん
NGNG> if(table[i]==NULL)printf("NULL");
処理が逆。 table[i]がNULLのとき table[i]->keyにアクセスしようとするな。
0964930
NGNG返事ありがとうございます。
いまから手直してみます。
0965デフォルトの名無しさん
NGNG0966デフォルトの名無しさん
NGNGあと、別に動くから問題ないんだが、BUCK_SIZEをせっかく定義してるのだから
ハッシュ関数の中で101と素で書かない方が
0967デフォルトの名無しさん
NGNGどうかと。そのときは0に戻りましょう。
0968n
NGNG0969n
NGNGconst n = 100;
h = 1/n;
var sum : real;
count : integer;
begin
count := 0;
sum := 0.0;
while count < n do
begin
sum := sum + h;
count := count + 1;
end;
writeln('sum = ', sum)
end.
上のプログラムを利用して、
nを1から10000の値で変化させた時の
計算で求まる和をそれぞれSnとしたとき
Snと1との差|1−Sn|
を表示するプログラムを作りたいのですがどのようにしたらよろしいでしょうか。
浮動小数点の問題です。
0970デフォルトの名無しさん
NGNGvar n: integer;
h: real;
sum : real;
count : integer;
begin
for n := 1 to 10000 do begin
h := 1/n;
count := 0;
sum := 0.0;
while count < n do begin
sum := sum + h;
count := count + 1;
end;
writeln('sum = ', sum)
end;
end.
0971n
NGNGどうもありがとうございました
0972デフォルトの名無しさん
NGNG傾きや切片が整数になった時は有効数字以外は表示できないようにして
小数点になったときは小数点以下1桁までの表示にしたいんですがどうすればいいんでしょうか?
#include <stdio.h>
main()
{
float x1,x2,y1,y2,k,s;
printf("x1 y1=");scanf("%f %f",&x1,&y1);
printf("x2 y2=");scanf("%f %f",&x2,&y2);
k = ( y1 - y2 ) / ( x1 - x2 );
s = y1 - k * x1;
if ( s == 0 && k == 1 )
printf("y=x\n");
else if ( s < 0 && k == 1)
printf("y=x%.1g\n",s);
else if ( s == 0 )
printf("y=%.1gx\n",k);
else if( s < 0 )
printf("y=%.1gx%.1g\n",k,s);
else
printf("y=%.1gx+%.1g\n",k,s);
}
kが傾きでsが切片です
0973デフォルトの名無しさん
NGNGif (floor(x) == x)
printf("%.0f", x);
else
printf("%.1f", x);
}
0974デフォルトの名無しさん
NGNGだれかよろ
---------------
宿題とか手伝いますけど、以下の事項は守ってほしいです。
・マルチポストは厳禁です。
・キーワードが分かっているなら、http://www.google.co.jp を活用すること
・質問内容がちゃんと日本語になっていること
・言語名を入れること。
・自分の力で頑張ってみたことを伝えられる人。
・どこまでわかったのかを書くこと。
以上です。
前スレ http://pc3.2ch.net/test/read.cgi/tech/1029422194/
新
↑
│ http://pc3.2ch.net/test/read.cgi/tech/1027756023/
│ http://pc3.2ch.net/test/read.cgi/tech/1026138039/
│ http://pc.2ch.net/test/read.cgi/tech/1024592344/
│ http://pc.2ch.net/test/read.cgi/tech/1007902384/
│ http://pc.2ch.net/tech/kako/1003/10038/1003838158.html
│ http://pc.2ch.net/tech/kako/982/982853418.html
│ http://piza.2ch.net/tech/kako/972/972032579.html
↓
古
長いソースを張れるBBS
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433
0975デフォルトの名無しさん
NGNG0977デフォルトの名無しさん
NGNGServletに記述するSQL分が
String query = "SELECT COUNT(Age) FROM Address WHERE Age>=0 AND Age<= 9";
だとSQLExceptionになってしまって
String query = "SELECT * FROM Address";
の時は問題なかったのですが、どう記述すればよいのでしょうか?
ソースは
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=35&fi=no です
UPした方は、SQL文のところが間違っていて、正しくは上に書いてるやつです
0978デフォルトの名無しさん
NGNG0979デフォルトの名無しさん
NGNG0980ssss
NGNG0981デフォルトの名無しさん
NGNGデータベースの種類、エラーの内容、テーブルの構造などをきちんと書いてから質問しようね
レス数が950を超えています。1000を超えると書き込みができなくなります。