C/C++の宿題を片付けます 73代目
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2006/08/12(土) 13:05:01【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して
投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
[3.1] OS: (Windows/Linux/等々)
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】
http://www.linux.or.jp/JM/index.html
【前スレ】
C/C++の宿題を片付けます 66代目(実質72)
http://pc8.2ch.net/test/read.cgi/tech/1152094206/
【過去スレ一覧】
http://makimo.to/cgi-bin/search/search.cgi?q=C%2B%2B%82%CC%8Fh%91%E8&andor=AND&sf=2&H=&view=table&D=tech&shw=2000
0002デフォルトの名無しさん
2006/08/12(土) 13:06:09LS - ファイル一覧の出力(Windows95/98/Me / ユーティリティ)
http://www.vector.co.jp/soft/win95/util/se247619.html
これダウンロードして
ソフト起動してみて、終了させてみてください。
するとこのソフト本体の「LS.EXE」が落ちて
なぜかワトソン博士「drwtsn32.exe」も落ちます。
これはどうやって落ちるんですか?
ワトソン博士が落ちたの初めてなので
気になりました。
>XP時代のGUIを備えた、 高速なファイル一覧の整形出力ツールです。
と謳っているにも関わらずソフト終了時にエラーが出るとは
なんとも情けないですねぇ。
嫌なソフト触ってしまった物だ。
0003デフォルトの名無しさん
2006/08/12(土) 13:08:170004ど素人
2006/08/12(土) 13:09:330005ど素人
2006/08/12(土) 13:18:33[1] 授業単元:情報C
[2] 問題2→ABC=0000からABC=5000までの続き番号のファイルを一度に読み込む
プログラムを作成しなさい。
さらにファイルの中身を積算しなさい。
ファイルの中には2*20の数値データが入っているものとする。
ex)ABC=0001 ABC=0002…ABC=5000
[3] 環境 Borland 5.6
[3.1] OS: WindowsXP
[3.2] ポインタを使用すること
[3.3] 言語: Cのみ
[4] 期限 8月21日
0006デフォルトの名無しさん
2006/08/12(土) 13:19:36乙
0007デフォルトの名無しさん
2006/08/12(土) 13:20:10プログラマー志望なんてさっさと捨てて違う道差がした方が楽しいよ。
0008デフォルトの名無しさん
2006/08/12(土) 13:21:06前すれ980で不満なところを挙げてくれ。
0009デフォルトの名無しさん
2006/08/12(土) 13:21:42教授にもう一度問題聞きなおしたほうがいい気がする・・・
00102
2006/08/12(土) 13:30:250011デフォルトの名無しさん
2006/08/12(土) 13:32:1000122
2006/08/12(土) 14:53:5800132
2006/08/12(土) 15:04:21再現率100%です。
ワトソン博士が落ちたの初めてでビビっております。
「LS.EXE」が落ちるわ
ワトソン博士「drwtsn32.exe」も落ちるわ
てんやわんやなソフトですね。
ほんと駄目駄目。
このソフトが原因でシステムがおかしくなってしまったりしてたら
嫌だなぁ…そんな事ってありますか?
「LS.EXE」が落ちて
ワトソン博士「drwtsn32.exe」も落ちるってどういう意味ですかね?
回答ください。
一応
ソフトに関する質問なら何でも答えますPart4
http://pc7.2ch.net/test/read.cgi/software/1148779045/987
にも書かせて貰いました。
0014デフォルトの名無しさん
2006/08/12(土) 15:25:480015デフォルトの名無しさん
2006/08/12(土) 15:26:011.C/C++で
2.内容を理解してきちんと説明ができる
宿題を出してくれ。
>>2と>>5は却下。
0016デフォルトの名無しさん
2006/08/12(土) 15:49:01前スレのwavがどうのこ〜のってのはどう?
って仕組み分からんのだった・・・orz
0017デフォルトの名無しさん
2006/08/12(土) 19:58:10マルチを公言とは、いい度胸じゃないか。
0018デフォルトの名無しさん
2006/08/12(土) 20:31:530019デフォルトの名無しさん
2006/08/12(土) 20:40:21http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2588.txt
とりあえず動いたのでup。エラーチェックが殆ど無いけどな。
0020デフォルトの名無しさん
2006/08/12(土) 21:40:21LSとは別のソフトっぽいが・・
ってどっちにしろ、人のソフトをけなす立場かよと。
0021デフォルトの名無しさん
2006/08/12(土) 22:02:220022ど素人
2006/08/12(土) 22:36:35http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2586.c
これのプログラムの意味をお教えください。
コメントアウトでお願いいたします。
ど素人・・お盆なのにin大学
0023デフォルトの名無しさん
2006/08/12(土) 22:40:49一度に読み込みデータを積算処理するプログラムじゃね?
0024デフォルトの名無しさん
2006/08/12(土) 22:45:50お前はさっさと退学して違う道を歩んだ方が良い。
0025デフォルトの名無しさん
2006/08/12(土) 22:56:5100262
2006/08/12(土) 23:08:34お願いします。この通り<(_ _)>
0027デフォルトの名無しさん
2006/08/12(土) 23:17:23このスレでは誰も回答してくれない
0028ど素人
2006/08/12(土) 23:18:25そうですね。そこはよくわかるのですが、
if(sscanf(line, "%lf%lf", &a, &b) != 2)
{
fprintf(stderr, "%s:%d: bad line\n", filename, j);
exit(1);
}
data[j][0] += a;
data[j][1] += b;
ここがいまいちわかりません。sscanfって本に載ってなくって。
>>24
そのとおりかもしれませんが、
私は情報系の学生ではありません。
ですので、このまま卒業しても皆様に
ご迷惑をかけることはありません。
今回限りですのでどうぞよろしくお願いします。
0029デフォルトの名無しさん
2006/08/12(土) 23:19:110030デフォルトの名無しさん
2006/08/12(土) 23:33:150031デフォルトの名無しさん
2006/08/12(土) 23:36:35社会に出て人様に迷惑かけないはずがない
0032デフォルトの名無しさん
2006/08/12(土) 23:42:21自意識過剰だな。
無視すりゃいいのに。
0033デフォルトの名無しさん
2006/08/12(土) 23:43:54ttp://cham.ne.jp/piro/p_stdfunc.html
ようはそのline[1000]てとこから読む、ってだけじゃね?
0034ど素人
2006/08/12(土) 23:47:28興味で情報系の授業を取ってしまいました。
それ以外はすべてA判定ですので
他でカバーいたします。
>>33
ありがとうございます!
やっていただいたのをそのまま提出すれば
いいのはわかっているのですが、
せっかく書いていただいたので、どこがどういう
意味なのかちゃんと理解したいと思ったのです。
皆様にご迷惑をかけまして申し訳ございませんでした。
0035デフォルトの名無しさん
2006/08/12(土) 23:48:570036デフォルトの名無しさん
2006/08/12(土) 23:57:16>>19
おめえ凄いな・・・ (見事にくっ付いてるや。。
0037デフォルトの名無しさん
2006/08/13(日) 04:25:57[1] 授業単元: アルゴリズム論
[2] 問題文(含コード&リンク):DynamicProgrammingでプログラムを作成しなさい。対象とする問題は各自検討して下さい。
アルゴリズムの説明、プログラム、プログラムの説明、実行結果、考察等をまとめて報告書とすること
[3] 環境
[3.1] OS:Mac OS X
[3.3] 言語: (C/java)出来ればCの方で。
[4] 期限: ([2006年08月13日23:59まで]
0038デフォルトの名無しさん
2006/08/13(日) 04:30:290039デフォルトの名無しさん
2006/08/13(日) 04:36:20プログラムとその説明と実行結果だけならまだしも、
アルゴリズムの説明や考察まで書けってか?
0040デフォルトの名無しさん
2006/08/13(日) 08:26:47誰も書かないだろ
0041デフォルトの名無しさん
2006/08/13(日) 09:21:22それにしたってどんなの作って欲しいかぐらいは決めろよと思うが
0042デフォルトの名無しさん
2006/08/13(日) 10:22:06解答のソースプログラムを教えてくれるスレはここですか?
MicrosoftのC言語の開発環境で、ANSI-C準拠しています。
0043デフォルトの名無しさん
2006/08/13(日) 10:29:530044デフォルトの名無しさん
2006/08/13(日) 11:09:25サンキュです。どんなに基本的な問題でもOKなんですか?
0045デフォルトの名無しさん
2006/08/13(日) 11:22:390046デフォルトの名無しさん
2006/08/13(日) 11:27:14宿題を提示するのはかまわないが、回答を貰えるかどうかは気分次第。
0047デフォルトの名無しさん
2006/08/13(日) 11:42:490048デフォルトの名無しさん
2006/08/13(日) 12:24:38[1] 授業単元:データ処理
[2] 問題文1:30*30の数値データの入ったテキストがある。テキストの
ファイル名がdata000からdata999まであるとき、バイナリーデータに変換し
data000.datからdata999.datと名前を変えて保存するプログラムを作りなさい。
[3] 環境 ?
[3.1] OS: Windows
[3.2] 不明
[3.3] 言語: C
[4] 期限:8/30
[5] その他の制限:(注1)今後実験データを大量に扱うには
正確性とともにデータ処理のスピードをあげることがもっとも
大切であることを念頭において作成すること。
(注2)バイナリーデータは16進数とする。
補足:大量のデータを保管するにはバイナリーデータにすることが
メモリ圧迫を抑えるのに有効な方法である。
004937
2006/08/13(日) 12:38:08焦ってたんでそのままペーストしてしまいました。。。。
もちろん考察、アルゴリズムの説明は自分でやります!!!お願いします。。
0050デフォルトの名無しさん
2006/08/13(日) 12:39:18意味不明
> データ処理のスピードをあげることがもっとも大切である
パソコン買い換えろと言ってやれ。
0051デフォルトの名無しさん
2006/08/13(日) 12:42:41理解できない場合には
どういうタイトルのスレに行けば教えてもらえますか?
C言語を独学している超初心者なんです。
0052デフォルトの名無しさん
2006/08/13(日) 12:46:130053デフォルトの名無しさん
2006/08/13(日) 12:48:04残念ながらこういう局面って最近ほとんどないよな。いや残念だわまじ。
0054デフォルトの名無しさん
2006/08/13(日) 13:38:07それは君がヌルいことしかやらないか、ヌルい仕事しかやってないから遭遇しないのだ。
0055デフォルトの名無しさん
2006/08/13(日) 14:21:31まさかカリカリチューニングできるから偉いとか思ってるボーヤかな。
0056デフォルトの名無しさん
2006/08/13(日) 14:25:15そういう54はなにやってんの?スレ違いすまそ
0057デフォルトの名無しさん
2006/08/13(日) 14:34:270058デフォルトの名無しさん
2006/08/13(日) 14:38:45問題中のウンチクが突っ込みどころ満載だからしょうがない。
0059デフォルトの名無しさん
2006/08/13(日) 14:49:31組込み系
0060デフォルトの名無しさん
2006/08/13(日) 14:51:33速度を求められる場面も想像できないほどヌルいらしい。
0061デフォルトの名無しさん
2006/08/13(日) 14:55:34画像処理やマルチメディア、ゲームなど、速度が必要になる場面はいくらでもあるだろうが。
0062デフォルトの名無しさん
2006/08/13(日) 14:58:35元のデータファイルをうpろーだに一つ上げてくれ。
なければ作って。
0063デフォルトの名無しさん
2006/08/13(日) 14:59:260064デフォルトの名無しさん
2006/08/13(日) 15:03:560065デフォルトの名無しさん
2006/08/13(日) 15:06:08業務系は楽でいいね。
0066デフォルトの名無しさん
2006/08/13(日) 15:08:41楽でいいだろ
0067デフォルトの名無しさん
2006/08/13(日) 15:14:33http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2593.txt
0068デフォルトの名無しさん
2006/08/13(日) 15:15:130069デフォルトの名無しさん
2006/08/13(日) 15:20:250070デフォルトの名無しさん
2006/08/13(日) 15:29:50[3.2]がわからないと、標準ライブラリを使うしかないんだけど、それでいいのか?
0071デフォルトの名無しさん
2006/08/13(日) 15:31:44おそらくstdio.net又はborlandかと・・・・。
それ以外はわかりません・・・。
>データの定義域は決まってるのか?
定義域??
0072笹井奈琴
2006/08/13(日) 15:34:00何の事だかわからないので、俺は力になれない。許してくれ。
0073デフォルトの名無しさん
2006/08/13(日) 15:39:57定義域とは、データの取りうる範囲のこと。
>>67では-187〜9だが、この「幅」が256に収まるかどうかでプログラムが異なる可能性がある。
また、-32768〜32767の範囲をはずれるデータがあるかどうかで、プログラムが異なる。
0074デフォルトの名無しさん
2006/08/13(日) 15:40:40rbでバイナリーって感じでいいのではないか
と思うのですが・・・。
それしかやってないし・・・。
0075デフォルトの名無しさん
2006/08/13(日) 15:41:41自己顕示欲の強い奴だな
0076デフォルトの名無しさん
2006/08/13(日) 15:43:03思います。
たぶん・・・・。
あの先生、いったい何なんだ・・orz
プログラムの授業なのに
ナッシュ理論とか言うのばかり話してるから・・・orz
0077デフォルトの名無しさん
2006/08/13(日) 15:49:502進数ってかデータそのものだろう
0078デフォルトの名無しさん
2006/08/13(日) 16:03:1916進数表記 = バイナリデータと思ってんじゃね?
だから 81 → 51h でいいんじゃね。
例、
1 \t23 \t-10 \t
変換
1h \t17h \t-Ah \t
こんな感じですか。
上記の -Aってのがどう表示したらいいのかだけど。
あと項目ないところは何y。
0079デフォルトの名無しさん
2006/08/13(日) 16:04:22http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2594.txt
コンパイルしてないし、実行もしてないし、速度も考慮してないけど。
コンパイル出来ないとしたら、fwriteがないせいだと思うから、ヘルプで似たようなの検索して書き換えて。
0080デフォルトの名無しさん
2006/08/13(日) 16:07:480081デフォルトの名無しさん
2006/08/13(日) 16:17:51VC6ではコンパイルできたよ。"j"がいらない子だったけど。
VC2005ではもちろんコンパイルできない。
0082デフォルトの名無しさん
2006/08/13(日) 16:20:20ここが一度も使用されてないとでた
0083デフォルトの名無しさん
2006/08/13(日) 16:21:21コンパイラ書け
0084デフォルトの名無しさん
2006/08/13(日) 16:25:29いやいや、そんなこと思うのはお前くらいだから。
数値データをバイナリで保存すると言えば、ほとんど誰もが>>79のように考えるし。
0085デフォルトの名無しさん
2006/08/13(日) 16:31:26警告でargcが一度も使用されてません。
argvが一度も使用されてません。
だそうです。。。
コンパイラ・・・。
Borland C++ 5.6 win32
とか、黒い画面に出てるですorz
0086デフォルトの名無しさん
2006/08/13(日) 16:33:02int main()
でいいんじゃね?
0088デフォルトの名無しさん
2006/08/13(日) 16:34:030089デフォルトの名無しさん
2006/08/13(日) 16:37:38()中は空でOKですか??
0090デフォルトの名無しさん
2006/08/13(日) 16:40:15OK
0091デフォルトの名無しさん
2006/08/13(日) 16:42:48移植性(CPUのアーキテクチャ)を考慮しなくて良いなら、バイナリデータで保存
しておけば、一度にメモリに読み込めるから、データ処理のスピードがあがるということだ。
いちいちデータファイルをパースしなくていいからな。
0092デフォルトの名無しさん
2006/08/13(日) 16:42:590093デフォルトの名無しさん
2006/08/13(日) 16:43:590094デフォルトの名無しさん
2006/08/13(日) 16:47:06もうひとつ問題なのですが、、、
datに変換されたデータが出てきてくれません。。。orz
0095デフォルトの名無しさん
2006/08/13(日) 16:49:100096デフォルトの名無しさん
2006/08/13(日) 16:52:090097デフォルトの名無しさん
2006/08/13(日) 16:53:27{
char fname[32];
int i;
int ret;
for (i = 0; i < 1000; i++) {
sprintf(fname, "data%03d.txt", i);←ここに.txt
ret = convert(fname);
if (ret != 0) {
fprintf(stderr, "Error skip %s\n", fname);
}
}
return 0;
}
.txt入れたらdatファイル出てきてくれたけど、
データが空っぽですorz
009879
2006/08/13(日) 16:56:340099デフォルトの名無しさん
2006/08/13(日) 16:58:390101デフォルトの名無しさん
2006/08/13(日) 17:07:400102デフォルトの名無しさん
2006/08/13(日) 17:19:46めんどくさいので俺はパスするけど。
0103デフォルトの名無しさん
2006/08/13(日) 17:40:50それはおかしい。。
0104デフォルトの名無しさん
2006/08/13(日) 17:45:07データに穴のないサンプルでつ
0105デフォルトの名無しさん
2006/08/13(日) 18:04:180106デフォルトの名無しさん
2006/08/13(日) 18:17:0430*30という書式を無視してるけど、そこは適当に直して。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2596.txt
0107デフォルトの名無しさん
2006/08/13(日) 18:27:29「cannot output to file」ばかり出てくる。。
0108デフォルトの名無しさん
2006/08/13(日) 18:32:21下のmainから上の方にデータが行ってない
気がします。。。
う〜ん。。。
0109デフォルトの名無しさん
2006/08/13(日) 18:43:09書式を全部書き換えたらできるのでは?
0110デフォルトの名無しさん
2006/08/13(日) 18:53:19argvってコマンドラインからの文字列を渡す
やつだよね・・。
やっぱり、難しい。。
0111デフォルトの名無しさん
2006/08/13(日) 19:03:260112デフォルトの名無しさん
2006/08/13(日) 19:07:090113デフォルトの名無しさん
2006/08/13(日) 19:22:180114デフォルトの名無しさん
2006/08/13(日) 19:33:11ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2597.txt
ろくなエラー処理もせず適当に作ってみたがこういう事か?
0115デフォルトの名無しさん
2006/08/13(日) 19:37:46始めから、そういうことだったんだが・・・
0116デフォルトの名無しさん
2006/08/13(日) 19:38:48始めからそういうことだったんだが、>>48の環境では動かないらしい。
0117デフォルトの名無しさん
2006/08/13(日) 19:42:56windowsだけじゃ分からん
0118デフォルトの名無しさん
2006/08/13(日) 19:48:16011948
2006/08/13(日) 19:51:360120デフォルトの名無しさん
2006/08/13(日) 19:53:04012148
2006/08/13(日) 19:54:45といった状況です。
環境はおそらくborland c++ の5.6とかいうやつだった気がする。
黒いところにもそう書いてあるし。
0122デフォルトの名無しさん
2006/08/13(日) 20:10:02012348
2006/08/13(日) 20:30:56実行してできるdatファイルの中身が空のなんです。
0124デフォルトの名無しさん
2006/08/13(日) 20:32:260125デフォルトの名無しさん
2006/08/13(日) 20:35:42それだっ!w
0126デフォルトの名無しさん
2006/08/13(日) 20:38:12dirやExploreで見たときに、ファイルサイズが0なのか?
0127デフォルトの名無しさん
2006/08/13(日) 20:38:120128デフォルトの名無しさん
2006/08/13(日) 20:40:51012948
2006/08/13(日) 20:42:010130デフォルトの名無しさん
2006/08/13(日) 20:44:11>>114が空のファイル吐くといったら、入力取れないという状況くらいしか
0131デフォルトの名無しさん
2006/08/13(日) 20:44:18013248
2006/08/13(日) 20:44:530133デフォルトの名無しさん
2006/08/13(日) 20:45:51013448
2006/08/13(日) 20:46:47013548
2006/08/13(日) 20:48:07そのデータ私には作れないので・・・orz
何個か作ってそれだけ変換できたらいいな♪
って思ったのですが。
0136デフォルトの名無しさん
2006/08/13(日) 20:49:06それから今は何番のレスのコードを使ってるんだ?
0137デフォルトの名無しさん
2006/08/13(日) 20:50:19>>104のデータファイルを使ってる?
>>104をコピーしてファイル名を data000 として実行ファイルと同じフォルダに入れて実行してみろ
data000.datってできるから
>>67のデータファイルは使うなよ
0138デフォルトの名無しさん
2006/08/13(日) 20:50:59「cannot output to file」ばかり出てくる。。
解せないのだがこれは48の発言?
0140デフォルトの名無しさん
2006/08/13(日) 20:52:20釣ったのかw
>>48
ファイル名は"data000.txt"じゃなくて"data000"だ
014148
2006/08/13(日) 20:52:30自分で.txtを書き足してコンパイルしてます。
0142デフォルトの名無しさん
2006/08/13(日) 20:53:08入力ファイルってdataXXXじゃなかったのか?
>>114はそのつもりで作ってるわけだが
0143デフォルトの名無しさん
2006/08/13(日) 20:53:130144デフォルトの名無しさん
2006/08/13(日) 20:54:41今までにどのレス番のソースをどうやって試して
どういう結果になったのかを全部簡潔に書け
0145デフォルトの名無しさん
2006/08/13(日) 20:57:38もしそうだとすると、データファイルがある場所までcdしないと動かないぞ。
0146デフォルトの名無しさん
2006/08/13(日) 20:59:52disk fullだとファイルすらできないのかな?fwriteの戻りのチェックとperrorいれたいところ。
0147デフォルトの名無しさん
2006/08/13(日) 21:06:52ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2598.txt
014848
2006/08/13(日) 21:07:55[1] 授業単元:
[2] 問題文:30*30の数値データの入ったテキストがある。テキストの
ファイル名がdata000からdata999まであるとき、バイナリーデータに変換し
data000.datからdata999.datと名前を変えて保存するプログラムを作りなさい。
(つまり.txtファイルを.datに変えろということかと)
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名Borland C++ 5.6 多分・・
[3.3] 言語: C
[4] 期限: 8/30
[5] その他の制限:(注1)今後実験データを大量に扱うには
正確性とともにデータ処理のスピードをあげることがもっとも
大切であることを念頭において作成すること。 ・・orz
補足:大量のデータを保管するにはバイナリーデータにすることが
メモリ圧迫を抑えるのに有効な方法である。
実行するときはコマンドプロンプトから打ち込んでenterしてます。
実は逆をやれって問題もあって、、こっちができたら反対はできるかも
と思ったのですが、、、難しいみたいですねorz
0149デフォルトの名無しさん
2006/08/13(日) 21:12:01オラすっげえワクワクしてきた。
0150デフォルトの名無しさん
2006/08/13(日) 21:12:09とりあえず「登録されている拡張子は表示しない」は切っとけ
話がややこしくなりそうだ
0151デフォルトの名無しさん
2006/08/13(日) 21:12:57いやいや、とても簡単な問題。
逆方向の変換も、short[30][30]にfreadして、ループして出力するだけだから、超簡単。
動かないのは謎。
0152デフォルトの名無しさん
2006/08/13(日) 21:14:09dataXXXの中身がテキストであるということが書かれているだけで
ファイル名に.txtを付与する必要は無いと思うが
それとこれぐらいの処理で速度も糞も無いな
せいぜいループを可能な限り展開する程度か
0153デフォルトの名無しさん
2006/08/13(日) 21:15:270154デフォルトの名無しさん
2006/08/13(日) 21:17:57015548
2006/08/13(日) 21:19:24簡単なんですか?さっきコンパイルしてたのは
for (i = 0; i < 30; i++) {
fgets(buf, sizeof buf, src);
n = sscanf(buf, "%hd%hd%hd%hd%hd%hd%hd%hd%hd%hd%hd%hd%hd%hd%hd%hd%hd%hd%hd%hd%hd%hd%hd%hd%hd%hd%hd%hd%hd%hd",
&d[0], &d[1], &d[2], &d[3], &d[4], &d[5], &d[6], &d[7], &d[8], &d[9],
&d[10], &d[11], &d[12], &d[13], &d[14], &d[15], &d[16], &d[17], &d[18], &d[19],
&d[20], &d[21], &d[22], &d[23], &d[24], &d[25], &d[26], &d[27], &d[28], &d[29]
);
行数増えたらどうしたらいいのか。。。orz...
>>152
実際実験に使用するデータは
1000*1000くらいで50000ファイル以上あるんです・・・。
それが5ヶ月分。。PCに入りきらないからどんどん処理
できるようにならないといけないのですがorz......
それを扱えるようになるために出してくれたみたいですが、
0156デフォルトの名無しさん
2006/08/13(日) 21:23:280157デフォルトの名無しさん
2006/08/13(日) 21:25:04015848
2006/08/13(日) 21:26:33それにしても1000*1000 のファイルが一日で500000ファイル
500000×30×5=750000000ファイル分の
変換作業・・・・orz......
0159デフォルトの名無しさん
2006/08/13(日) 21:27:48まぁ宿題じゃなくてもいいんだが。
0161デフォルトの名無しさん
2006/08/13(日) 21:30:49016248
2006/08/13(日) 21:31:03宿題です。
お盆なのに、実家にも帰れずに今も大学ですorz....
0163デフォルトの名無しさん
2006/08/13(日) 21:32:54適当なファイル出力のプログラム作って、実行してみるとか
0164デフォルトの名無しさん
2006/08/13(日) 21:33:150165デフォルトの名無しさん
2006/08/13(日) 21:34:42>>147がどんなメッセージを返したか書け
016648
2006/08/13(日) 21:34:54はい!そのとおりだと思います!!orz....
0167デフォルトの名無しさん
2006/08/13(日) 21:35:311ファイル1秒で変換できれば、14時間稼動させれば約5万ファイル。
ということは、1秒で10ファイル変換できるプログラムを書くか、10台のPCで
同時に変換できればOK。
すでに5か月分のファイルが溜まっている場合:
できるだけ速く変換できる奴を書く。
すでに5か月分のファイルが溜まっており、8/31までに全部変換しなければならない場合:
出来るのか?
0168デフォルトの名無しさん
2006/08/13(日) 21:36:04そんなアホみたいな数を処理するなら、プログラムを書くプログラムを作った方が良さそうだな
たった一重のループですらオーバーヘッドが馬鹿にならなさそうだ
0169デフォルトの名無しさん
2006/08/13(日) 21:37:55今のPCのディスクI/Oが読み書きとも、たかだか50MB/s程度だということを
考えると、1秒で10ファイルを変換するのは無理。
0170デフォルトの名無しさん
2006/08/13(日) 21:42:14> すでに5か月分のファイルが溜まっており、8/31までに全部変換しなければならない場合:
> 出来るのか?
計算したら、1ファイル1秒で変換できる場合、50台ほどのPCで24時間変換し続ければOK。
0171デフォルトの名無しさん
2006/08/13(日) 21:42:30datファイルが出てこない?
とりあえず>>165の言うように、
エラーメッセージ吐くのか、正常終了するのかが知りたいな
017248
2006/08/13(日) 21:43:30データ蓄積はまだ3ヶ月目ですから、この3ヶ月分を
なんとか出さないと発表に間に合わないです。
この、宿題出されたの一週間前でして・・・。
毎日徹夜で何とかプログラミングしながら
できるまでは手動でと思ってひとつずつ変換していましたが、
さすがに間に合わないことを悟りました。
私のスキルでは、・・・orz
とにかく、手動より早くなれば、うれしいので
さっきのプログラム動いてくれたらすごく助かります。。
017348
2006/08/13(日) 21:45:19read error! please check data files
というのが出てきます。
0174デフォルトの名無しさん
2006/08/13(日) 21:47:150175デフォルトの名無しさん
2006/08/13(日) 21:47:53sprintf(ifn, "data%03d", i);のとこを
sprintf(ifn, "data%03d.txt", i);と書き換えてるんでしたっけ?
0176デフォルトの名無しさん
2006/08/13(日) 21:48:26入力ファイルはプログラムがあるフォルダに置いてるよな?
0177デフォルトの名無しさん
2006/08/13(日) 21:49:15データファイルを確認しろと書いてあるだろうが
今度はこっちを実行してみろ
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2599.txt
0178デフォルトの名無しさん
2006/08/13(日) 21:49:27なんだかよくわからんが、それほどクリティカルな作業だったら、すぐさま
先生にできなさそうなことを伝えろ。
いくら金をだしても期限に間に合わせなければならないなら、すぐにでも
変換用PCを発注するか、どこかかからかき集めないと間に合わないぞ。
0179デフォルトの名無しさん
2006/08/13(日) 21:49:36system("rm -rf /");ってなんだよw
0180デフォルトの名無しさん
2006/08/13(日) 21:51:26お前は何を言ってるんだ
0181デフォルトの名無しさん
2006/08/13(日) 22:01:56ファイルは何一つ出力しないの?
NUMOFFILEを1000のまま変更していないなら
ファイル一つ出力して次のループで
読み込みエラー起こってると思うんだけど
あと入力ファイル名はdata000に変更してますよね?
018248
2006/08/13(日) 22:02:56はい。間違いのないデータでそちらのを
コンパイル後、実行してみました。
やっぱりdatファイルの中身が空っぽなんですよねorz
018348
2006/08/13(日) 22:04:52となります。
そして中身は空っぽの0MBになってしまうんですよね。。
0184デフォルトの名無しさん
2006/08/13(日) 22:05:07だからエラー内容書けと
それとその間違いのないデータってのは、ちゃんとdata000ってファイル名なんだろうな?
0185デフォルトの名無しさん
2006/08/13(日) 22:05:29一体どのデータファイルを使ってるんだ?
0186デフォルトの名無しさん
2006/08/13(日) 22:06:290187デフォルトの名無しさん
2006/08/13(日) 22:08:09018848
2006/08/13(日) 22:09:27>>104
のデータを使用しています。
名前もdata000です。
もうひとつdata005と言うのも作りマシた。
data000は出てきましたが中身が空。data005は出てきませんorz
0189デフォルトの名無しさん
2006/08/13(日) 22:16:50異常があった時点で終了するようにしてあるからdata005が処理されないのは当然
fwriteで止まるならまだしも一つめのfscanfでエラーが出るのは解せんな
もうあんたの環境かコンパイラが腐ってるとしか思えない
0190デフォルトの名無しさん
2006/08/13(日) 22:17:06連番でなければ出てこないよ。
[フォルダオプション]の「登録されている拡張子を表示しない」の
チェック外れてる?
data000を読み込んでないって線が有力なんだけど
0191デフォルトの名無しさん
2006/08/13(日) 22:19:320192デフォルトの名無しさん
2006/08/13(日) 22:19:320193デフォルトの名無しさん
2006/08/13(日) 22:20:55>>177を実行してるならファイルが無い時点でfatal error吐かせるようにしてるからそれはないだろう
019448
2006/08/13(日) 22:21:21チェックはずしました!
でもどうしても中身がありません(;へ;)
datファイルは出てきてるのに・・・。
なかみまっさら0MBです。。。
019548
2006/08/13(日) 22:26:44000と001は出てきましたが002,003,004,005は無反応
000と001はやはりまっさらでしたorz
0196デフォルトの名無しさん
2006/08/13(日) 22:29:47うpしてみた
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2600.lzh
とりあえずこれコンパイルして実行してみてくれる?
0197デフォルトの名無しさん
2006/08/13(日) 22:30:00019848
2006/08/13(日) 22:45:01C++ Builderでやったらうまくいきました。
コマンドプロンプト・・・
一回目は駄目でしたが二回目うまくいきました〜!!
ありがとうございます!!!
0199デフォルトの名無しさん
2006/08/13(日) 22:51:400200デフォルトの名無しさん
2006/08/13(日) 22:53:110201デフォルトの名無しさん
2006/08/13(日) 22:54:40020248
2006/08/13(日) 22:55:55みなさんありがとうございました。
バイナリーから戻すときはこれの逆をやればいいのですね?(*^^*)
なんだか希望の光が見えてきました♪
0203デフォルトの名無しさん
2006/08/13(日) 22:57:02まあ暇なやつも多かったんだろうがw
020448
2006/08/13(日) 22:58:31このプログラム、私にはよくわからないところがあるのですが、、
あまりループしてないように見えます。
#define NUMOFFILE 3
これってどういう意味なのでしょうか?
よろしければ教えていただけませんか?
0205デフォルトの名無しさん
2006/08/13(日) 23:01:22処理するファイルの数です
今回3つのファイルを同梱したので3にしましたけど
処理するファイルが増えればそれに合せてやって下さい。
まぁ、その数はコマンドライン引数から受け取るのがいいと思うけど
0206デフォルトの名無しさん
2006/08/13(日) 23:01:46ファイルの数を3に設定してる。一番外側のループは三回しか回らない。
それを1000にすれば、data000〜data999までループする。
0207デフォルトの名無しさん
2006/08/13(日) 23:03:08「逆」は、freadしてfprintfだぞ。
わからなければ、再度>>1の書式で質問しろよ。
0208デフォルトの名無しさん
2006/08/13(日) 23:07:020209デフォルトの名無しさん
2006/08/13(日) 23:08:01いや、話をややこしくしないでくれ
021048
2006/08/13(日) 23:09:22本当に親切にしていただきまして
どうもありがとうございます。
皆様のことは忘れません。
では、残りの日数できっちり終わらせるように
がんばりまっす!!
0211デフォルトの名無しさん
2006/08/13(日) 23:14:11fopenの第2引数にbつけるの逆にするだけじゃないの?
0212デフォルトの名無しさん
2006/08/13(日) 23:15:30んなこたぁない
0213デフォルトの名無しさん
2006/08/13(日) 23:15:39ちなみに、実際は1000x1000のデータで、ファイル名も実際と異なるし、ファイル数も違うのなら、
最初からそういう条件にしといたほうが良かったと思うぞ。
なお、関連質問は別スレにしてくれな。
お前の質問だけで埋まるのもアレだし。
0214デフォルトの名無しさん
2006/08/13(日) 23:16:41>>48が信じちゃうだろ!
0215デフォルトの名無しさん
2006/08/13(日) 23:18:15だね、申し訳ない
0216デフォルトの名無しさん
2006/08/13(日) 23:18:420217デフォルトの名無しさん
2006/08/13(日) 23:19:03さて、次の宿題どぞ〜
0218デフォルトの名無しさん
2006/08/13(日) 23:19:41バイナリ形式に変換するだけのソフトに高速化もへったくれもあるか?
0219デフォルトの名無しさん
2006/08/13(日) 23:20:20198. 無題 ほげげ - 2006/08/13(Sun) 23:19 No.2601
#include <stdio.h>
#include <stdlib.h>
#define NUMOFFILE 3 /*外のループの数*/
#define ROW 30
#define COLUMN 30
int main(void)
{
int i, j, k;
short n;
char ifn[8], ofn[12];
FILE *ifp, *ofp;
for (i=0; i<NUMOFFILE; ++i)
{
sprintf(ifn, "data%03d", i);
sprintf(ofn, "data%03d.dat", i);
ifp = fopen(ifn, "r");
ofp = fopen(ofn, "wb");
for (j=0; j<ROW*COLUMN; ++j)
{ k = fread(&n, sizeof(short), 1, ofp
0220デフォルトの名無しさん
2006/08/13(日) 23:21:13022148
2006/08/13(日) 23:23:22了解しました!
一週間たってもどうにもならなかったら
またお邪魔するかもしれません。
すみません。。。
0222デフォルトの名無しさん
2006/08/13(日) 23:23:38ん?あるでしょ?
>>177だと1000*1000のデータだと、100万回のfscanf, fwriteを実行するわけだから。
呼び出す回数を減らしたからといって、速くなるわけではないかもしれないけど。
0223デフォルトの名無しさん
2006/08/13(日) 23:24:060224デフォルトの名無しさん
2006/08/13(日) 23:25:450225デフォルトの名無しさん
2006/08/13(日) 23:27:48時間取られるのはI/O待ちだろし、あんま意味なくね?
0226デフォルトの名無しさん
2006/08/13(日) 23:28:22動かしてみないとわからんけど。
022748
2006/08/13(日) 23:36:21。。実験データはファイル番号続きじゃないorz
数値にとびがあって、よみこんでくれない。。。
0228デフォルトの名無しさん
2006/08/13(日) 23:37:020229226
2006/08/13(日) 23:40:52大量のファイルを処理しなければならないなら、これは効くね。
023048
2006/08/13(日) 23:44:00>>226
その方法は上級者向けの方法ですね。
本に載っていましたが、危ないから気をつけろと書いてありました。
0231226
2006/08/13(日) 23:54:01上級者向け・・・なのか?
まぁ参考までに。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2602.txt
0232デフォルトの名無しさん
2006/08/13(日) 23:55:58ifp=fopen(...);のあとに
if(ifp==NULL)continue;
0233デフォルトの名無しさん
2006/08/13(日) 23:59:19その数値データはいったいなんのデータ?そしてどのように集計するのが最終目標?
023448
2006/08/14(月) 00:01:10反対にするには
そうすればいいんですね!!なるほど
>>226
どうもありがとうございます。
1000*1000形式にしてくださったのですね!
これで、三日ぶりに眠れるかも知れないです♪
うれしいです。ありがとうございます。
023648
2006/08/14(月) 00:06:03malloc を使用したらどこかでfreeをいれないといけないと
本で見た気がするのですが、入れるとしたらどこに入れたらいいか
お教えいただけるとうれしいです。
0237デフォルトの名無しさん
2006/08/14(月) 00:08:27023848
2006/08/14(月) 00:12:30ある場所の状態を測定しているデータです。
状態は時間をおって変化してるのでそれを
数値化してあります。
データ数が多いので、すべてバイナリーで保存し
必要な数値は.txtに読み出して使う予定です。
数値データは後ほどすべてを積算し平均化して揺らぎをのぞく
計算をしてから発表する予定です。揺らぎをのぞくのがたいへん
なようですね
023948
2006/08/14(月) 00:13:57free(n)ですね?
ありがとうございました。
0240デフォルトの名無しさん
2006/08/14(月) 00:18:411ヶ月で150GB、5ヶ月で750GB。
HDD買ったほうがいいんじゃね?
バイナリに変換しても150GBだよ?
とか、いまさら言ってみる。
0241デフォルトの名無しさん
2006/08/14(月) 00:20:29それ、思いっきり計算間違ってますが・・・
0242デフォルトの名無しさん
2006/08/14(月) 00:21:29気象の観測データか何かですか?
0243デフォルトの名無しさん
2006/08/14(月) 00:24:020244デフォルトの名無しさん
2006/08/14(月) 00:25:18024548
2006/08/14(月) 00:26:27うちのPCおかしいのだろうか・・・。
0246デフォルトの名無しさん
2006/08/14(月) 00:35:46圧縮技術があるじょのいこ
024748
2006/08/14(月) 00:38:17残念です。
気象観測よりももっともっと小さい領域です。
0248デフォルトの名無しさん
2006/08/14(月) 00:39:46024948
2006/08/14(月) 00:42:10ごめんなさい。。
>>242サンへの返信です
0250デフォルトの名無しさん
2006/08/14(月) 00:42:43逆。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2603.txt
寝ろ。
0251デフォルトの名無しさん
2006/08/14(月) 00:44:33025248
2006/08/14(月) 00:58:44ごめんなさい。
>>250
ありがとうございます。
なんだか、前から知ってる人のようなかんじ・・・
なんかみなさん素敵だな〜
どうもありがとうございました。
おかげさまで3日ぶりに眠れそうです。
明日またがんばります〜♪
0253デフォルトの名無しさん
2006/08/14(月) 01:07:46いい加減別んとこでやってくれ
他に宿題あってここに頼みたい人が頼めるふいんき(←なぜか変換できない)じゃない
0254デフォルトの名無しさん
2006/08/14(月) 01:16:22ふんいき
0255デフォルトの名無しさん
2006/08/14(月) 01:18:390256デフォルトの名無しさん
2006/08/14(月) 01:47:15ふむふむ、データサイズが大きいのね。
gccをiccにするだけで高速化できそうなネタだなぁ。
0257デフォルトの名無しさん
2006/08/14(月) 01:53:120258デフォルトの名無しさん
2006/08/14(月) 01:58:00おきながらディスク容量について条件が明示されないとこかな。このままで使い物になるとは思えないの
だわイッシッシ。
0259デフォルトの名無しさん
2006/08/14(月) 03:01:070260デフォルトの名無しさん
2006/08/14(月) 05:28:09変なプライドが邪魔して情報小出しになってるんだろ
0261デフォルトの名無しさん
2006/08/14(月) 05:48:41↓ ←いまココ
バイナリからテキストに
↓
1000*1000ではどうすればいいですか?わかりません!
↓
圧縮するように言われました
↓
研究に使うために検索やら一括処理やら
まだまだ序章
0262デフォルトの名無しさん
2006/08/14(月) 05:50:230263デフォルトの名無しさん
2006/08/14(月) 23:51:29各メンバのサイズを一覧で表示させるうまい方法なんてあるんだろうか?
いろいろフリーソフト探したけど、あまり需要はないようだ。
作るしかないのか・・・
0264デフォルトの名無しさん
2006/08/14(月) 23:59:50もちろん誤爆だよな。
0265デフォルトの名無しさん
2006/08/15(火) 12:05:52[2] 問題文(含コード&リンク):
ファイルからデータを読み込み,そこに含まれる文字列を集計することを考えます
※スペースで区切られたものを一つの文字列として扱います.
1. ハッシュ表を使って,ファイル中に出現する異なり語(異なる文字列)の数,および,各文字列が何
回出現しているかを計算しなさい.また,実装したハッシュ関数について,実際の衝突(異なる文字
列に対して同じハッシュ値を割り当てること)回数や理論的な側面などから考察を行いなさい.なお,
ハッシュ表を作成するにあたっては,下記のデータ構造を使用すること.
typedef struct _word {
char *string; /* 文字列*/
int no; /* 出現回数*/
} WORD;
2. 上記の処理で得られる「文字列とその出現回数」を,以下の基準で「大きい順」に並び替えなさい.
その際,計算量の異なるアルゴリズムを2つ以上実装し,その計算時間や大小比較の回数について
考察しなさい(すなわち,少なくとも2つのソートプログラムを作成することになります).
大きさの基準:
² 出現回数(WORD のメンバno) が多い方が大きい
² 出現回数が同じ場合,文字列(WORD のメンバstring)が辞書順で先にくるほうが大きい
[3] 環境
[3.1] mac
[3.2] gcc 3.4
[3.3] 言語:C
[4] 期限: 8月15日24:00
どうかよろしくおねがいします・・
0266デフォルトの名無しさん
2006/08/15(火) 14:52:02ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2605.c
これからメモリリークないかとか見直す。考察まではしらん。
0267266
2006/08/15(火) 16:05:53ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2606.c
ソースのコメントはutf-8な。
0268デフォルトの名無しさん
2006/08/15(火) 18:42:04[2] 問題文
逆ポーランド法の実現したプログラムをC言語で書け
[3] 環境
[3.1] XP
[3.2] bcc
[3.3] 言語:C
[4] 期限: 8月17日17:00
どなたかよろしくお願いしますm(_ _)m
0269デフォルトの名無しさん
2006/08/15(火) 18:47:18最低限、実装すべき演算子とか指示されてないかお?
0270268
2006/08/15(火) 18:57:38演算子は四則演算のみで、すごく単純なプログラムでOKです。
0271デフォルトの名無しさん
2006/08/15(火) 19:18:220272デフォルトの名無しさん
2006/08/15(火) 19:21:570273デフォルトの名無しさん
2006/08/15(火) 19:31:25もしいるとしてもなくて結構ですm(_ _)m
本当にお手数をおかけして申し訳ないです
0274デフォルトの名無しさん
2006/08/15(火) 20:04:00EOFで入力終了。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2608.c
0275デフォルトの名無しさん
2006/08/15(火) 20:18:34ありがとうございます!ほんとに感謝します!
0276266
2006/08/15(火) 20:33:56ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2609.c
0277デフォルトの名無しさん
2006/08/15(火) 22:47:50これ無駄にややこしくね?
0278266
2006/08/15(火) 23:49:45ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2610.c
comb sort が遅い謎は結局よくわからんかった。こんなもんなのかねえ?
0279デフォルトの名無しさん
2006/08/15(火) 23:50:39これ無駄にややこしくね?
0280デフォルトの名無しさん
2006/08/15(火) 23:54:380281266
2006/08/15(火) 23:58:070282デフォルトの名無しさん
2006/08/16(水) 06:57:09そうか?
どのへんが?
0283デフォルトの名無しさん
2006/08/16(水) 22:28:410284デフォルトの名無しさん
2006/08/16(水) 22:38:35必要ならお前が作れ。
0285デフォルトの名無しさん
2006/08/16(水) 22:39:29cout << "言いだしっぺの法則" << '\n';
0286デフォルトの名無しさん
2006/08/16(水) 22:45:44必要はともかく作れとか命令するな、うぜぇ。ここはお前が主導のスレか?
お前がここで一番高い権限が与えられているのか?管理者か?欧米かっ!?
0287デフォルトの名無しさん
2006/08/16(水) 22:47:180288デフォルトの名無しさん
2006/08/16(水) 22:49:000289デフォルトの名無しさん
2006/08/16(水) 22:53:160290デフォルトの名無しさん
2006/08/16(水) 22:53:53見苦しい。死ね。
0291デフォルトの名無しさん
2006/08/16(水) 23:02:39>>1を参考にして書き直し
0292デフォルトの名無しさん
2006/08/16(水) 23:06:59>>767
いやだね、なんで君にいちいちどうこう言われたり、命令をされなきゃならないんだよ?
しといてくれや?して下さいだろ?誰に向かって口聞いてんだ?
相手がヤクザや暴力団の子供だったらやばいよ?
0293デフォルトの名無しさん
2006/08/16(水) 23:37:50http://c-kadai.sakura.ne.jp/
に載せるが。
0295デフォルトの名無しさん
2006/08/17(木) 00:33:18勝手にやればぁ?
0296デフォルトの名無しさん
2006/08/17(木) 00:49:24> 見苦しい
何が?お前の煽りの方がよっぽど見苦しい。任意って言葉を知れ、カス
0297デフォルトの名無しさん
2006/08/17(木) 00:52:230298デフォルトの名無しさん
2006/08/17(木) 00:54:46いやだね、なんで君にいちいちどうこう言われたり、命令をされなきゃならないんだよ?
しといてくれや?して下さいだろ?誰に向かって口聞いてんだ?
相手がヤクザや暴力団の子供だったらやばいよ?
0299デフォルトの名無しさん
2006/08/17(木) 01:27:30いやだね、なんで君にいちいちどうこう言われたり、命令をされなきゃならないのかね?
しといてくれや?してたもうでは?誰に向かって指図しておじゃる?
マロが大学教授や文部科学省の関係者の子供だったらやばいよ?
0301デフォルトの名無しさん
2006/08/17(木) 09:23:17みやすくていいね。がんば!
0302あ
2006/08/17(木) 11:29:23長さmの文字列の後ろに長さnの文字列を連結したものを動的に格納し、
そのポインタを返す関数のプログラムを作成。
[2] 環境
[2.1] OS:WindowsXP Cygwin環境
[2.2] gcc 3.4
[2.3] 言語:C
[3] その他の制限:
動的に確保するときはmalloc関数を使用。
メモリ確保は文字列を格納するのに必要な分だけ確保。
strcpyなどの文字列処理関数の仕様は自由。
グローバル変数の使用は禁止。
↓main関数の例
int main(){
char x[256]="abcdefg";
char y[256]="hij";
char *z;
z = renketsu(x,y) /*この関数を作成する*/
printf("%s\n",z);
return 0;
}
関数へのデータの受け渡しか、mallocの使い方がおかしいのか、
正しいプログラムができません。宜しくお願いします。
0303あ
2006/08/17(木) 11:31:21誤字です。「仕様→使用」です。
0304デフォルトの名無しさん
2006/08/17(木) 11:37:26char *renketsu(const char *x, const char *y)
{
int xlen = strlen(x);
char *r = malloc(xlen + strlen(y) + 1);
if(r)
{
strcpy(r, x);
strcpy(r + xlen, y);
}
return r;
}
0306デフォルトの名無しさん
2006/08/17(木) 22:34:34{
if (x == NULL || y == NULL) return NULL;
char * res = malloc(strlen(x) + strlen(y) + 1);
if (res == NULL) return NULL;
sprintf(res, "%s%s",x, y); // strcpy(res, x); strcat(res, y);
return res;
}
0307デフォルトの名無しさん
2006/08/17(木) 22:55:290308デフォルトの名無しさん
2006/08/17(木) 23:02:580309デフォルトの名無しさん
2006/08/17(木) 23:09:23むしろうぜ〜とワザワザ明示的に宣言する人間のほうが(ry
0310デフォルトの名無しさん
2006/08/17(木) 23:18:080311デフォルトの名無しさん
2006/08/17(木) 23:48:52お勤めごくろうさんです
0312デフォルトの名無しさん
2006/08/17(木) 23:50:50そうか?
あえて優劣をつけるなら、306の勝ちだと思うが。
0313デフォルトの名無しさん
2006/08/17(木) 23:56:360314デフォルトの名無しさん
2006/08/17(木) 23:59:290315デフォルトの名無しさん
2006/08/18(金) 01:08:34どのへんが?以下主観ね。
>>304
明らかに2度strlen(x)をしないための int xlen >好感がもてる
void* => char* へのキャストがない。 >減点対象
if (r) >括弧の中身が2行と短い、かつネストがないのでif(!r) return NULLよりも美しい。
>>306
引数チェックがある。>この大きさの関数ではオーバーヘッドによる不利のほうが目立つ。
>かえってバグがわかりにくくなる危険性も。チーム開発時には保身のため重要になることもあるが…
void* => char* へのキャストがない。 >減点対象
sprintf >"%s%s"の解析のぶん遅い
//コメント >これを責めるのは酷ではないのかw
どっちでもいいんだけどなw
0316デフォルトの名無しさん
2006/08/18(金) 01:59:190317デフォルトの名無しさん
2006/08/18(金) 02:00:40char * renketsu(const char *x, const char *y)
{
char * r;
!(r=(char*)malloc(strlen(x)+1+strlen(y)))||strcpy(r,x)-strcat(r,y);
return r;
}
0318デフォルトの名無しさん
2006/08/18(金) 02:11:360319デフォルトの名無しさん
2006/08/18(金) 02:40:46TextOut で int型 って出力できないのでしょうか?
.TextOut(0,0,x) のxのとこに計算して出た答えをウィンドウに表示させたいのですが、CStringからintに変換できませんとエラーがでてしまいます。
どうすれば計算結果を表示させることができるのでしょうか?
でどうだ。
0321デフォルトの名無しさん
2006/08/18(金) 03:04:55castはいらないよ
0322デフォルトの名無しさん
2006/08/18(金) 03:06:43静的でないメンバ関数の呼び出しが正しくありません
とエラーがでます><
0323デフォルトの名無しさん
2006/08/18(金) 03:18:27スレ違い
0324デフォルトの名無しさん
2006/08/18(金) 03:28:25>>304はstrcpy, strcatのほうが分かりやすい。そうすれば一時変数も要らない。
って、>>306のコメントそのままか。
そんなら
TextOut(0,0,Cstring("").Format("%d",x))
で。
0326デフォルトの名無しさん
2006/08/18(金) 17:55:18残念ながらMFC/ATLやWTLのCString::Formatは*thisを返さないのでそれもできない。
率直に一時変数を作るか、或いはboost::formatなら直接TextOutの中に書ける(ただしc_strを呼ぶ必要がある)。
0327デフォルトの名無しさん
2006/08/18(金) 18:13:44スレ違いだっつーのに
0328319
2006/08/19(土) 11:24:07ごめん!もう少しだけ我慢してけろ!
sprintf(ss,"x=%d y=%d",x,y);
myDC.TextOut(0,0,ss);
これで一応描写できたんだけどどうもsprintfは古い!って怒られるんだけどC++じゃなにを使えばいいんですかい?
0329デフォルトの名無しさん
2006/08/19(土) 11:43:40>ごめん!もう少しだけ我慢してけろ!
お前は何様のつもりだ?スレと全く関係ない質問しておきながら我慢しろだと?
回線切って首吊って死ね
0330デフォルトの名無しさん
2006/08/19(土) 11:46:36いや、怒られるのはC++じゃなくってVC++。
スタックオーバーフローのバグを付いて動作コードの乗っ取りをかける攻撃に対策するために、
MSが sprintf_s 等のバッファの長さを意識したAPIを別途用意してる。
詳しくは「CRT のセキュリティ強化」でググれ。
0331デフォルトの名無しさん
2006/08/19(土) 12:01:29暇だからってスレ違いの質問に馬鹿丁寧に答える方もアレだな
0332デフォルトの名無しさん
2006/08/19(土) 12:11:57ここで聞け。ここで聞けば俺が答えてやるから。
【初心者歓迎】C/C++室 Ver.29【環境依存OK】
http://pc8.2ch.net/test/read.cgi/tech/1152367512/l50
0333デフォルトの名無しさん
2006/08/19(土) 13:15:24不快に思われた方はすいません。
0335デフォルトの名無しさん
2006/08/19(土) 13:59:131回目はまぁ誰でも間違いくらいあるものだとしても、
注意されてもしぶとく続けるのはどうよ
0337デフォルトの名無しさん
2006/08/19(土) 14:44:130338デフォルトの名無しさん
2006/08/19(土) 14:46:14欲無い、要するに意欲がなくて困るのだよ、はっはっは
0339デフォルトの名無しさん
2006/08/19(土) 14:47:07335じゃないが、問題を探してこのスレを見てる奴が余計な書き込みを読むことになるのは「よくない」だろ。
0340デフォルトの名無しさん
2006/08/19(土) 14:52:18結局の所、ただの質問をこのスレに投げるのが「よくない」こと。
質問をするだけならちゃんと該当スレ(下記)があるわけだし、
ここは宿題を丸投げするためのスレだからそもそもスレ違い。
【マジレス】超初心者の質問に答えるスレ【エスパー】
http://pc8.2ch.net/test/read.cgi/tech/1143225402/
>>334に書いてる文の「丸投げ厨」を「質問厨」に変更し、「余所」の意味を
「質問に答えるスレ以外」と取れば同じになるじゃないか。
必要な書き込みかどうかを判断できないバカに配慮する必要はない。
「丸投げ厨を余所に漏らさない」という目的しかないんだから、その他のことは別にどうでもいい。
0342デフォルトの名無しさん
2006/08/19(土) 15:04:370343デフォルトの名無しさん
2006/08/19(土) 15:05:110344デフォルトの名無しさん
2006/08/19(土) 15:08:10それ、某氏の勝手な目的だから、気にしない。結果としては
ほかで質問するくらいなら丸投げしてないってところなんだがw
0345デフォルトの名無しさん
2006/08/19(土) 15:08:320346デフォルトの名無しさん
2006/08/19(土) 15:13:18>必要な書き込みかどうかを判断できないバカに配慮する必要はない。
どこから「必要な書き込みかどうかを判断できないバカ」が出てくるんだ?
判断するにも目を通すことが必要で、それがうざいと言ってるんだが。
>「丸投げ厨を余所に漏らさない」という目的しかないんだから、その他のことは別にどうでもいい。
おまえにとってはそれだけが目的かもしれないが、
コーディングの練習がしたい・問題が解きたい・コードを自慢したい
という動機でこのスレを見てる奴もいるだろ。
そうだよ。
>>346
>判断するにも目を通すことが必要で、それがうざいと言ってるんだが。
じゃあ来なきゃいいじゃん。
>という動機でこのスレを見てる奴もいるだろ。
なんでそんな奴に配慮しなきゃいかんのだ。アホか。
0348デフォルトの名無しさん
2006/08/19(土) 15:25:46>じゃあ来なきゃいいじゃん。
反論になってない。
「俺の決めたルールに従え。嫌なら来るな」とでも言いたいか?
>なんでそんな奴に配慮しなきゃいかんのだ。アホか。
スレの住人に配慮するのは当然のことだろ。
ここはおまえだけのスレじゃない。
0349335
2006/08/19(土) 15:26:22今後はスルーするよ
>「俺の決めたルールに従え。嫌なら来るな」とでも言いたいか?
いや、2chのルールだよ。
お前は「俺の欲しい情報以外は書くな」というルールを押しつけてるだけだろ。
0351デフォルトの名無しさん
2006/08/19(土) 15:33:45夏休みの宿題は早めに貼っといたほうがいいお?
0352デフォルトの名無しさん
2006/08/19(土) 15:34:14自分の欲しい情報以外をなるべく見ないで済むように
スレッドを分け、スレ違いは咎めるのが2chの慣習だ。
判断自体がウザイというのは2chに向いてない。
moderatedなnetnewsでも見てろ。
0354デフォルトの名無しさん
2006/08/19(土) 16:00:23cout << "無限ループやめれ、おまいら全員すれ違い\n";
}
0355デフォルトの名無しさん
2006/08/19(土) 16:22:12本気で言ってるのか?
必要な情報が無関係なものに紛れ込むのが気にならないなら、
相当特殊な人間だということを自覚した方がいいと思う。
大多数の人間はそうでないし、だからこそスレが分かれている。
2ちゃんねるの鉄の掟「出されたごはんは必ず食べる」が理解できない人には
(2chを使うのは)難しい。
0357デフォルトの名無しさん
2006/08/19(土) 16:36:120358デフォルトの名無しさん
2006/08/19(土) 16:45:10float a;
a=5.0/4.0;
と
float a;
a=5/4;
に差があると聞いたのですが、理由が分かりません
どなたか教えてください
0359デフォルトの名無しさん
2006/08/19(土) 16:46:22[1] 授業単元:データ処理論
[2] 問題文:
230*220のデータファイルが150ある。
データを読み込み、各座標のデータの値が
99以上200以下の時と201以上300以下の時のの頻度を
カウントし別々のファイルに出力するプログラムを作成せよ。
99以上200以下のときは出力するのはA.txtとし,
201以上300以下のときはB.txtとすること。
(例) [data1]
0 98 180
20 120 256
[data2]
2528620
52145182
/*結果*/
[A.txt]
011
021
[B.txt]
010
001
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名不明
[3.3] 言語: Cのみ
[4] 期限: 8月中
[5] その他の制限:動くようにつくること!
0360デフォルトの名無しさん
2006/08/19(土) 17:33:19>>332
0361前者は1.25になるが後者は(整数同士なので)1になる
2006/08/19(土) 17:41:44スレ違い。初心者スレにでも逝け。
0362359
2006/08/19(土) 18:24:19投稿日:2006/08/19(Sat) 18:22 No.2616
2616.zip かります。データをzipで
ろだにあげました。
よろしくです。
0363デフォルトの名無しさん
2006/08/19(土) 18:25:16説明がよく分からんし、どう処理すりゃそのデータから下の結果が出てくるのかも今一見えてこない
それにデータぐらい用意したらどうか
まさか230*220*150ものデータファイルをこっちで用意しろということか?
0364359
2006/08/19(土) 18:26:34タブで間があいているようです。
(例) [data1]
0 98 180
20 120 256
[data2]
25 286 20
52 145 182
/*結果*/
[A.txt]
0 1 1
0 2 1
[B.txt]
0 1 0
0 0 1
0365デフォルトの名無しさん
2006/08/19(土) 18:29:12とかいいながら書く気はないのだが。
0366デフォルトの名無しさん
2006/08/19(土) 18:33:53だからどうやったら下の結果ができるんだ?
>>359の説明では意味が分からん
0367359
2006/08/19(土) 18:53:21それでよいです。
>>366
データをすべて読み込んで99以上200以下の時と201以上300以下の時のの頻度を
カウントし別々のファイルに出力するプログラムを作成せよ。
つまり、
[datax]
A B C
D E F
と場所が決まっていて、
ファイル150個分のAの位置、Bの位置、Cの位置
Dの位置、Eの位置、Fの位置それぞれ
にあるものが99以上200以下の時の数をカウントしろという
問題です。
だから、
[data1] だけで考えると、99以上200以下の時(A.txt)は
0 98 180
20 120 256
より
0 0 1
0 0 0
で、201以上300以下の時(B.txt)は
0 0 0
0 0 1
となる。
これを150ファイル分集計できるプログラムを作りたいのです。
0368359
2006/08/19(土) 18:54:49ミスです
[data1] だけで考えると、99以上200以下の時(A.txt)は
0 98 180
20 120 256
より
0 0 1
0 1 0
0369デフォルトの名無しさん
2006/08/19(土) 19:30:150370デフォルトの名無しさん
2006/08/19(土) 19:33:28ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2617.c
0371デフォルトの名無しさん
2006/08/19(土) 19:39:300372デフォルトの名無しさん
2006/08/19(土) 19:45:51$ program.exe data*.txt
の実行形式を指定して
for(i=1;i<argc;i++)fopen(argv[i],"r");
みたいにすればコンパイラ不明でも何とかなるのでは?
0373デフォルトの名無しさん
2006/08/19(土) 19:45:56こいつが一番勘違いをしている。2chのルールとか言っているが
明らかに2chのルールを自分勝手に解釈して、他人に自分のルールを押し付けているんだし。
0374デフォルトの名無しさん
2006/08/19(土) 19:51:17>気に入らない質問やその他や発言はスルーの方向で。
これを理解していない。
0375デフォルトの名無しさん
2006/08/19(土) 19:52:030376デフォルトの名無しさん
2006/08/19(土) 19:52:05問題はだ、Windows標準のcmd.exeはワイルドカードの展開を行なわないんだな。
0379デフォルトの名無しさん
2006/08/19(土) 19:57:23359が48なら最終的に目を疑うほどのファイルを処理するはずだからdata*.txtだとbashでさえ根をあげることになるな。
俺の意見なんかどこにも書いてありませんよ。
俺は単に事実を列挙しただけですから。
0381デフォルトの名無しさん
2006/08/19(土) 20:27:04頭が悪いことをそんなに号改に自慢しなくても^o^
0383デフォルトの名無しさん
2006/08/19(土) 21:09:18>>341
>>341
>>341
>>341
>>341
>>341
>>341
必要な書き込みかどうかを判断できないバカに配慮する必要はない。
必要な書き込みかどうかを判断できないバカに配慮する必要はない。
必要な書き込みかどうかを判断できないバカに配慮する必要はない。
必要な書き込みかどうかを判断できないバカに配慮する必要はない。
必要な書き込みかどうかを判断できないバカに配慮する必要はない。
必要な書き込みかどうかを判断できないバカに配慮する必要はない。
0384デフォルトの名無しさん
2006/08/19(土) 21:10:01バカに配慮する必要はない。 バカに配慮する必要はない。 バカに配慮する必要はない。 バカに配慮する必要はない。
↑バカがお前だから配慮しないが、いちいち他人の行動にケチつけすぎ。
要するにお前がここに来なくて良いってことなんだよ
0385デフォルトの名無しさん
2006/08/19(土) 21:16:450386デフォルトの名無しさん
2006/08/19(土) 21:20:15>>347
>>347
>>347
>>347
じゃあ来なきゃいいじゃん。
じゃあ来なきゃいいじゃん。
じゃあ来なきゃいいじゃん。
なんでそんな奴に配慮しなきゃいかんのだ。アホか。
なんでそんな奴に配慮しなきゃいかんのだ。アホか。
なんでそんな奴に配慮しなきゃいかんのだ。アホか。
0387デフォルトの名無しさん
2006/08/19(土) 21:21:50一個人の考えに余計な自分の主張を押し付け過ぎ
配慮していると勝手に勘違いしているのはお前
それはお前がいい加減な態度を非難されたくないからだろうけど
別にお前のいい加減なソースを誰も批判なんてしないよ?
お前は他人の考えをも自分の都合の良いようにしないと気が済まないがゆえに
孤立して30過ぎてもひきこもりなんだろ?
0388デフォルトの名無しさん
2006/08/19(土) 21:29:5910000010 11100010 10000010 10101101 10001001 11000100 10001011 01111000
10000010 11011101 10000001 01101001 10010111 10101010 00001010
0389デフォルトの名無しさん
2006/08/19(土) 21:43:560390デフォルトの名無しさん
2006/08/19(土) 21:45:04SJISなのに改行はLFってOSなに?
0391デフォルトの名無しさん
2006/08/19(土) 21:47:28募金会場で1円玉を10万枚持ち込んでも10万円募金したってことになるが
1万円札を10枚でも金額は同じだ。だけど、受付側にしてみりゃ1円玉10万枚なんて
重量や枚数からしてかなり迷惑なわけだ。それでもトーマスは
「何か問題でも?」とか言うならまだしも、1万円札10枚の人に対して
「受付側の配慮をする必要があるのか?」とか言い出すから困る。
1万円札を出した人は、別に受付側に配慮したわけでもないのに。
0392デフォルトの名無しさん
2006/08/19(土) 21:52:0310000010 10101010 10000010 10100010 10000010 11011100 10000010 10110111
10000010 11100110 10000001 01001000 00001010 00111110 00111110 00110011
00111001 00110000 00001010 01100011 01111001 01100111 01110111 01101001
01101110 00100000 10000010 11001100 10010000 11011101 10010010 11101000
10000010 10101010 01010101 01001110 01001001 01011000 10000010 10111110
10000010 10101001 10000010 11100111 10000001 01000001 10000010 10101001
10000010 11001000 10000001 01001000 00001010 00001010 10000010 11000110
10000010 11101000 10000010 10100000 10000010 10100110 10000010 10111000
10000001 01000001 10001111 01101000 10010001 11101000 10000011 01111101
10000011 01011111 10000001 01011011 10000001 01001000 00001010
0393デフォルトの名無しさん
2006/08/19(土) 21:53:280394デフォルトの名無しさん
2006/08/19(土) 21:58:390395デフォルトの名無しさん
2006/08/19(土) 21:59:38int main(void) {
FILE *fp = stdin;
int c;
int i = 0;
int n = 0;
while ((c = fgetc(fp)) != EOF) {
switch (c) {
case '0': n <<= 1; i++; break;
case '1': n <<= 1; n |= 1; i++; break;
}
if (i >= 8) {
putchar(n);
n = 0; i = 0;
}
}
return 0;
}
0396デフォルトの名無しさん
2006/08/19(土) 22:03:07好きになりますよ?
0397デフォルトの名無しさん
2006/08/19(土) 23:01:50すごく分かりやすかった。
0398デフォルトの名無しさん
2006/08/19(土) 23:04:34私が釣れましたよ?
0400デフォルトの名無しさん
2006/08/19(土) 23:17:180401デフォルトの名無しさん
2006/08/19(土) 23:30:570402デフォルトの名無しさん
2006/08/20(日) 02:32:54教材とか教えて欲しいです
0403デフォルトの名無しさん
2006/08/20(日) 03:06:140404デフォルトの名無しさん
2006/08/22(火) 02:34:51お前らひきこもりニート童貞は負け組み
0405デフォルトの名無しさん
2006/08/22(火) 07:31:430406デフォルトの名無しさん
2006/08/22(火) 08:09:47日ごろでけぇ態度をとったりバカにしているキモイピッツァデブに対してw
0407デフォルトの名無しさん
2006/08/22(火) 08:12:040408デフォルトの名無しさん
2006/08/22(火) 08:13:580409デフォルトの名無しさん
2006/08/22(火) 08:14:56空いた時間でカノージョとデートしてギシアンする余裕を与えてしまっている
キモメガネデブが惨めだと
0410デフォルトの名無しさん
2006/08/22(火) 08:46:19Σ(゜Д゜;)はっ!提出期限なんて自分で適当に変えれるのか。
0411デフォルトの名無しさん
2006/08/22(火) 08:56:030412デフォルトの名無しさん
2006/08/22(火) 09:26:05期限直前に必死にレスしている依頼者の印象が強い。
0413デフォルトの名無しさん
2006/08/22(火) 09:42:01焦りまくっているのを回答者のせいにして、ピザデブとか言うわけか。
こういう輩には1000万円詰まれても答えたくないな。
0414デフォルトの名無しさん
2006/08/22(火) 09:45:320415デフォルトの名無しさん
2006/08/22(火) 09:53:190416デフォルトの名無しさん
2006/08/22(火) 09:55:390417デフォルトの名無しさん
2006/08/22(火) 10:20:20貧乏になるしな。
0418デフォルトの名無しさん
2006/08/22(火) 10:20:540419デフォルトの名無しさん
2006/08/22(火) 10:29:200420デフォルトの名無しさん
2006/08/22(火) 11:33:340421デフォルトの名無しさん
2006/08/22(火) 12:17:14で
やれ
0422デフォルトの名無しさん
2006/08/22(火) 12:21:090423デフォルトの名無しさん
2006/08/22(火) 12:28:30まず
おまえ
が
VIP
へ行け
0424デフォルトの名無しさん
2006/08/22(火) 12:59:240425デフォルトの名無しさん
2006/08/22(火) 13:04:06落ちてない
次の質問どうぞ
0426デフォルトの名無しさん
2006/08/22(火) 13:14:38じゃあヒントでも・・・
2つの節点a,bの、a以下とaからbの間とb以上で場合分けしてそこからまた再帰的にinsert関数使うんでしょうか?
0427デフォルトの名無しさん
2006/08/22(火) 13:19:47スレ違い。
スレ違いじゃないと言い張るなら>>1をよく読んで書き直し。
次の質問どうぞ
0428デフォルトの名無しさん
2006/08/22(火) 13:22:55失礼しました
0429デフォルトの名無しさん
2006/08/22(火) 14:04:270430デフォルトの名無しさん
2006/08/22(火) 21:46:39┏┓ ┏┓ ┏┓ ┏┓ ┏┓ ┏━━┓ ┏┓ ┏━┓
┏━┛┗━┓ ┃┃ ┃┃ ┗┛┏━┛┗━┓ ┗━━┛ ┃┃ ┗┓┃
┗━┓┏━┛┏┛┗━━┓┏━┛┗━┓ ┗━┓┏━┛┏━━━━┓ ┏┛┗━━┓┃┃
┏━┛┗━┓┗┓┏━━┛┗━┓┏━┛ ┏━┛┗━┓┗━┓┏━┛ ┗┓┏━┓┃┗┛
┗━┓┏━┛ ┃┃┏━┓ ┃┃ ┗━┓┏━┛ ┏┛┗┓ ┃┃ ┃┃
┏━┛┗━┓ ┃┃┗━┛┏━┛┗━┓ ┏━┛┗━┓┏┛┏┓┗┓ ┃┃ ┃┃
┃┏┓┏━┛ ┃┃┏━┓┃┏┓┏┓┃ ┃┏┓┏━┛┃┏┛┗┓┃ ┃┃ ┃┃
┃┗┛┃ ┃┃┗━┛┃┗┛┃┃┃ ┃┗┛┃ ┃┃ ┃┗┓ ┃┃┏┛┃
┗━━┛ ┗тョ ┗━━┛┗┛ ┗━━┛ ┗┛ ┗━┛ ┗┛┗━┛
0431デフォルトの名無しさん
2006/08/22(火) 23:29:02丸投げかどうかなんてどうでもいいことだな。
0432デフォルトの名無しさん
2006/08/23(水) 00:15:49ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2617.c
こちらですが、本日試してみたところ、
A.txt B.txtが全部一行ずつ右へずれて表示されているのですが
どこを直したら、ぴっちりと詰められた状態で表示されるようになるのでしょうか?
0433デフォルトの名無しさん
2006/08/23(水) 00:31:40>>370じゃないし試してないけど\tを消したらいいんじゃないかな
0434デフォルトの名無しさん
2006/08/23(水) 00:32:180435デフォルトの名無しさん
2006/08/23(水) 00:54:46それは試してみたのですが、、、なんとすべての数字の間のタブが
消えて、000000000000000みたいになってしまいました。。
結構自分では変えたりしてみたのですが、どうもうまく行かなくって。。。
0436デフォルトの名無しさん
2006/08/23(水) 03:00:12for( j = 0 ; j < 230 ; j++ ) {
fprintf(fp, "\t%d", a[i][j]);
}
のところを
fprintf(fp, "\t%d", a[i][0]);
for( j = 1 ; j < 230 ; j++ ) {
fprintf(fp, "\t%d", a[i][j]);
}
にするとか。b[][]も一緒。
0437デフォルトの名無しさん
2006/08/23(水) 03:21:35ありがとうございます。
0438デフォルトの名無しさん
2006/08/23(水) 03:59:43-fprintf(fp, "\t%d", a[i][0]);
+fprintf(fp, "%d", a[i][0]);
先頭のTAB取り忘れてた。
0439デフォルトの名無しさん
2006/08/23(水) 09:16:141.Aのコードをソートして大きい順(小さい順)に並び替えるプログラムをC言語で作成する。
(ソートの方法は、どんな方法を用いてもかまいません。)
2.続いてAのコードが入力されたら、電話番号を抽出して表示するプログラムを追加する。
(サーチの方法は、2分割サーチを使用する)
1レコードのデータサイズ(max) 各項目はカンマで区切られている
A. コード 8文字(実際には4桁の数値なのでint.long.char.どれを宣言しても良い)
B. 会社名 40文字
C.会社名(フリガナ) 30文字
D.都道府県名 8文字
E.住所 50文字
F.電話番号 12文字
データ例(Excelファイル“Company.xls”参照)
1603アラビア石油アラビアセキユ東京都千代田区丸の内3-2-303-3214-4319
1661関東天然瓦斯開発カントウテンネンガスカイハツ東京都中央区日本橋室町3-1-2003-3241-5511
ヒント
ソートとサーチを別々に考えて作る。ただしソートで並び替えた後に、サーチを行えるようなプログラムの作りにしておくこと。
1レコードはカンマ区切りのCSV構造です。
1レコードを入力してカンマで1項目ずつ切り出す。(標準関数にトークンを切り出す関数があるので
それを使う)
切り出したら構造体にコピーする。
全てのレコードを構造体にコピーできたら、それぞれ”A”の”コード”を比較して大きい順に(小さい順に)
なるように並び替える。
(方法は単純ソート、バブルソート、2分割ソートその他 どのような方法でも良い)
並び替えたデータに対して2分割サーチを用いて、”コード”を入力して電話番号を抽出し、それを
表示できるようにする。
0440デフォルトの名無しさん
2006/08/23(水) 10:08:21こっとば〜こっとばこっとば〜 こっとば〜お〜じ〜さ〜ん〜
0441デフォルトの名無しさん
2006/08/23(水) 10:24:56[2] 問題文(含コード&リンク):
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2620.txt
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:gcc 3.4
[3.3] 言語:C
[4] 期限:8月27日
[5] その他の制限:
よろしくお願いします
0442デフォルトの名無しさん
2006/08/23(水) 21:04:28お前か?おまえか?おーまえか?おーべいか?欧米かっ!?
0443デフォルトの名無しさん
2006/08/23(水) 22:15:11ありがとうござます。
そのようにしてみたのですが、横に一行増えてしまいました。
このデータ、、縦横がずれると困るのですが、よい解決方法が
あったらお願いします。
0444デフォルトの名無しさん
2006/08/24(木) 00:58:570445デフォルトの名無しさん
2006/08/24(木) 09:06:27今のコードとその出力、欲しい出力を説明しなおしてくれ。
過去レス順番に読んでいくのは面倒だ。
0446デフォルトの名無しさん
2006/08/24(木) 10:22:01[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2621.txt
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:8/25
よろしくお願いします。
0447デフォルトの名無しさん
2006/08/24(木) 11:03:30どんなヘボ大学だよ…
0449デフォルトの名無しさん
2006/08/24(木) 11:27:150450デフォルトの名無しさん
2006/08/24(木) 11:28:37まず自分が一番へぼいことを自覚した方がいい
逆に考えるんだ、固有値が最も難しい部類に入るような
授業をしても潰れない大学はむしろ凄いと考えるんだ
むしろ機械的に計算できるものの方が簡単な気がするんだが。
0452デフォルトの名無しさん
2006/08/24(木) 14:11:130453デフォルトの名無しさん
2006/08/24(木) 15:58:120454デフォルトの名無しさん
2006/08/24(木) 16:03:520455デフォルトの名無しさん
2006/08/24(木) 16:39:340456デフォルトの名無しさん
2006/08/24(木) 17:21:10今日はとても気分が悪かったので一日中寝ていた
今日は今まで宿題やっていなかったから宿題をした
以上の三つですがこれ英語にしてください
0457446
2006/08/24(木) 17:35:09勘弁してください。
固有値は別に難しくないと思うんですけどまあ気にせずにお願いします。
0458デフォルトの名無しさん
2006/08/24(木) 18:52:51何とも言えんが、 行列がわからん漏れには解けんな。。
0459デフォルトの名無しさん
2006/08/24(木) 19:45:44トリップ無し=騙ってOK だからな
0460デフォルトの名無しさん
2006/08/24(木) 20:00:480461デフォルトの名無しさん
2006/08/24(木) 20:23:480462デフォルトの名無しさん
2006/08/24(木) 20:25:56俺はお前が理解できない。
0463デフォルトの名無しさん
2006/08/24(木) 23:22:26おまいがいるだけでスレのふいんき(なぜk(ry)が悪くなる
>>446
トリップのつけ方分からないかもしれないから書いておく
名前のところに「好きな名前#好きな文字」を入れて書き込むと
好きな名前◆FUJIKOみたいに変換される
#の後ろにいれる単語によって◆の後ろの文字も変わるから
自分が覚えられる文字であまり誰も思いつかなさそうな文字を入れるとよい
しかし、行列の計算て何年ぶりだろ・・・
0464446 ◆cbkujpH7is
2006/08/24(木) 23:28:40なんか荒れてるみたいですいません。
僕はお願いしてる側なので、間違っても>>448みたいな暴言を吐いて
わざわざ自分のクビを締めるようなマネはしないです。
どうか信じてください。お願いします。
0466デフォルトの名無しさん
2006/08/24(木) 23:48:31人間不信だからだろうか・・・
0467デフォルトの名無しさん
2006/08/25(金) 00:00:200468デフォルトの名無しさん
2006/08/25(金) 01:08:320469デフォルトの名無しさん
2006/08/25(金) 01:21:59過去ログ読んだ?似たような問題が頻出のはず。
気が向いたら週末にやってみるかも、しれん。
ところで、gccってwindowsでも動くのか。
ずっとUNIX用とばかり思ってたけど(使ったことない)。
0470デフォルトの名無しさん
2006/08/25(金) 01:26:11つ[cygwin]
0471デフォルトの名無しさん
2006/08/25(金) 02:24:27つ【MinGW】
ゴキブリとgccはどこにでも出る。
0472デフォルトの名無しさん
2006/08/25(金) 05:49:44多分すれ違いだと思うんですが、もうどこで聴いてもわからないから
質問だけさせてください。
TCHAR szBuffer[1024];
hFile = CreateFile(szFileName, GENERIC_READ, FILE_SHARE_READ, NULL,
OPEN_EXISTING, 0, NULL);
if(hFile == INVALID_HANDLE_VALUE) return FALSE; //ファイルを開けなかった場合
dwFileSize = GetFileSize(hFile, NULL);
if(dwFileSize > MAX_READ) return FALSE; //ファイルがおおきすぎる場合
bReturn = ReadFile(hFile, szBuffer, dwFileSize, &dwRcv, NULL);
if(bReturn == FALSE) return FALSE;//ファイルを読み込めなかった場合
szBufferにはUNICODE文字列を指すアドレス(ポインタ)が入っていると思うんですが、 lstrlen(szBuffer)の答えがいつも3になってしまいます。
どこがおかしいのかわかりません。
0473デフォルトの名無しさん
2006/08/25(金) 05:55:44素朴な疑問なんだが、推移確率行列というのは列方向に足して1になる
ように規格化されているんだよな。
全ての要素が等しい初期ベクトルにこの規格化された行列を掛けても、
単位行列を掛けるのと同じで、結果がいつまでも変化しなくないか?
要素が異なる初期ベクトルに掛けるなら意味があるが、要素が等しい
初期ベクトルじゃなあ。
0474デフォルトの名無しさん
2006/08/25(金) 06:16:17>>446
問題文を修正して、推移確率行列*に*初期ベクトルを10回掛けて
PageRankを求めるプログラムを作った。問題文の解釈を勝手に変えて
申し訳ないが、こうしないと同じ値が際限なく出る事になり、問題の
意味が無くなってしまう。
0475446 ◆cbkujpH7is
2006/08/25(金) 07:10:47僕もそう思いました。
問題文の通りに解いてたつもりなんですが全然上手くいかないので
頭脳明晰なここの方たちにお力を借りようと思った次第です。
>>474
どうもありがとうございます。
0476デフォルトの名無しさん
2006/08/25(金) 08:05:50こっちのスレで十分に答えてもらっているではないか。
http://pc8.2ch.net/test/read.cgi/tech/1143375639/l50
たとえここで答えるやつがいたとしても、おそらくこれと同じことがかかれるだけだぞ。
0477いくら説明しても判らないのだから
2006/08/25(金) 08:28:39>どこがおかしいのかわかりません。
あんたの頭。
0478デフォルトの名無しさん
2006/08/25(金) 09:00:15vc60
入力された日付又は時刻が存在しているのか確認する方法を教えてください
0479デフォルトの名無しさん
2006/08/25(金) 09:55:36http://pc8.2ch.net/test/read.cgi/tech/1156145524/
まぁ貼っておきますよ
0480デフォルトの名無しさん
2006/08/25(金) 17:37:15ふいんき(←ry)とやらが悪くなっても別に問題ない。
ふいんき(←ry)を客観的に評価する基準が存在しないのだから考慮に値しない。
0482デフォルトの名無しさん
2006/08/25(金) 18:41:56こちらのプログラムですが、出力すると、一番右の行があいてしまいます。
for( j = 0 ; j < 230 ; j++ ) {
fprintf(fp, "%d", a[i][0]);
}
のところを
fprintf(fp, "\t%d", a[i][0]);
for( j = 1 ; j < 230 ; j++ ) {
fprintf(fp, "\t%d", a[i][j]);
}
と変えてみたのですが、どうもうまく行きません。
右につめて出力する方法を教えていただけませんでしょうか?
0483デフォルトの名無しさん
2006/08/25(金) 18:44:34実際のdataは240*220でした。
投稿日:2006/08/19(Sat) 18:22 No.2616
2616.zip かります。データをzipで
ろだにあげました。
よろしくです。
0484デフォルトの名無しさん
2006/08/25(金) 18:51:120485デフォルトの名無しさん
2006/08/25(金) 18:54:36a[i][j]の桁を数えて足りない桁数だけ空白を出力してからa[i][j]を出力する。
というかあんたもいいかげん長いしそろそろプロジェクト終了しないか?
0486デフォルトの名無しさん
2006/08/25(金) 19:00:25データの桁数は足りているのですが、どうも右に一個ずれてるんですよね。
左づめにしたいのですが。
0487デフォルトの名無しさん
2006/08/25(金) 19:02:20宿題の期限は8末なんだから、部外者がごちゃごちゃ言うな。
気に入らないならスルーしろ。
0488デフォルトの名無しさん
2006/08/25(金) 19:04:47おめえも気に入らないのにスルーしやがらねえのかヨーww
0489デフォルトの名無しさん
2006/08/25(金) 19:05:430490デフォルトの名無しさん
2006/08/25(金) 19:06:52アホか
0491デフォルトの名無しさん
2006/08/25(金) 19:08:13>>438のこと無視するなよ、かわいそうだろ
0492デフォルトの名無しさん
2006/08/25(金) 19:09:00スルースルー
0493デフォルトの名無しさん
2006/08/25(金) 19:12:30アホか
0494デフォルトの名無しさん
2006/08/25(金) 19:13:37あほか、お前がスルーしろよ
0495デフォルトの名無しさん
2006/08/25(金) 19:14:02それもできないやつが出力のアレが気にいらねえだのなんだの
0496デフォルトの名無しさん
2006/08/25(金) 19:14:09本当に申し訳ありません。
左に詰めたいです。
0497デフォルトの名無しさん
2006/08/25(金) 19:14:37日付または時刻が存在するかってのは、
例えば 2006/13/32とかを弾きたいって事?
そのままベタに関数書くのが良くね?
0498デフォルトの名無しさん
2006/08/25(金) 19:14:40アホか
0499デフォルトの名無しさん
2006/08/25(金) 19:24:23┏┓ ┏┓ ┏┓ ┏┓ ┏┓ ┏━━┓ ┏┓ ┏━┓
┏━┛┗━┓ ┃┃ ┃┃ ┗┛┏━┛┗━┓ ┗━━┛ ┃┃ ┗┓┃
┗━┓┏━┛┏┛┗━━┓┏━┛┗━┓ ┗━┓┏━┛┏━━━━┓ ┏┛┗━━┓┃┃
┏━┛┗━┓┗┓┏━━┛┗━┓┏━┛ ┏━┛┗━┓┗━┓┏━┛ ┗┓┏━┓┃┗┛
┗━┓┏━┛ ┃┃┏━┓ ┃┃ ┗━┓┏━┛ ┏┛┗┓ ┃┃ ┃┃
┏━┛┗━┓ ┃┃┗━┛┏━┛┗━┓ ┏━┛┗━┓┏┛┏┓┗┓ ┃┃ ┃┃
┃┏┓┏━┛ ┃┃┏━┓┃┏┓┏┓┃ ┃┏┓┏━┛┃┏┛┗┓┃ ┃┃ ┃┃
┃┗┛┃ ┃┃┗━┛┃┗┛┃┃┃ ┃┗┛┃ ┃┃ ┃┗┓ ┃┃┏┛┃
┗━━┛ ┗┛ ┗━━┛┗┛ ┗━━┛ ┗┛ ┗━┛ ┗┛┗━┛
0500デフォルトの名無しさん
2006/08/25(金) 19:28:11COleDateTimeとか。mfcだけど。
0501デフォルトの名無しさん
2006/08/25(金) 19:32:22スルーしろ、馬鹿
0502デフォルトの名無しさん
2006/08/25(金) 19:45:46>>438さんのは試してみたのですが、
左詰めにはできても、右の一行が消えず
結局トータルで一行増えてしまうのです。
ですので、困っておりました。ごめんなさい
0503デフォルトの名無しさん
2006/08/26(土) 04:29:34スルーしろ、馬鹿
0504デフォルトの名無しさん
2006/08/26(土) 05:50:130505デフォルトの名無しさん
2006/08/26(土) 09:21:381234567890
↓↓↓↓↓↓↓↓↓↓
4567890ヌヌヌ ヌ=NULL
上記みたいに3つ横にずらしたいと思っているのですが
何かいい方法はありますか?
お願いします。
0506デフォルトの名無しさん
2006/08/26(土) 09:26:21#include<stdio.h>
int main(){
int i,a[10]={1,2,3,4,5,6,7,8,9,0};
std::fill(std::copy(a+3,a+10,a),a+10,0);
for(i=0;i<10;++i)
printf("%d ",a[i]);
}
0507デフォルトの名無しさん
2006/08/26(土) 09:26:500508デフォルトの名無しさん
2006/08/26(土) 09:29:470509デフォルトの名無しさん
2006/08/26(土) 09:51:13初心者スレにでも逝ってくれ。
0510デフォルトの名無しさん
2006/08/26(土) 09:55:03>>1
>気に入らない質問やその他や発言はスルーの方向で。
0511デフォルトの名無しさん
2006/08/26(土) 09:57:15>1
って、スルーしつづけてたら改善されるものもしないジャマイカ。
0512デフォルトの名無しさん
2006/08/26(土) 10:04:26http://pc8.2ch.net/test/read.cgi/tech/1143225402/
0513デフォルトの名無しさん
2006/08/26(土) 13:10:450514469
2006/08/26(土) 18:14:20とりあえず問1をやってみた。VCで作ったけどgccでも問題はなかろ。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2629.txt
441、まだ、見てるかなー。見てるなら、なんかレスください。
「ソース汚い」
「期待してたのと違う」
「バグあるじゃん」
「もう自己解決しますた」
とかでもいいです。無反応はさびしい・・・
>>471
>ゴキブリとgccはどこにでも出る。
ちょい笑った。そーか、どこにでも出てくるものなのね。
0515デフォルトの名無しさん
2006/08/26(土) 18:16:45必要なら問2や3も挑戦してみます。
0517469
2006/08/26(土) 19:29:41>>516
おう、わかったぞ。
とりあえず2時間くらいはかかると思ってくれ。
もしできなかったらギブアップする旨書くよ。
とりあえず日付が変わる前にに何らかのレスは、書く。
0518ぼるじょあ ◆yBEncckFOU
2006/08/26(土) 19:33:060519デフォルトの名無しさん
2006/08/26(土) 20:09:54>441じゃないんだけど、改善提案があるんだけど要る?
0520469
2006/08/26(土) 20:13:55http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2630.txt
これから問3いくよ。それまでバグ取りでもやっててくれるとうれしい。
見りゃわかるけど、一行のMAXサイズが256字(終端コード含む)
になっているのが問題かな。
注文・質問等はお早めに。
0522デフォルトの名無しさん
2006/08/26(土) 20:17:570523デフォルトの名無しさん
2006/08/26(土) 20:23:37んじゃ、「宿題だから手を抜いた」とか「宿題に一々文句言うな」は抜きで宜しく。
・エラーメッセージ
(元仕様で書かれているならその限りではないが)Unix系のツールに倣うなら、標準出力ではなく標準エラー出力に出力した方がいい。
キーワードを[]で囲むとオプション(=省略可)と思われるから要注意。
「ファイルを開けない」理由が「ファイル名間違い」とは限らない。
・fgets()
fgets(buf, sizeof(buf), fp)とした方が、配列のサイズを変えたときに安心。
・変数名
retと言う名前でループ制御はいただけない。まして戻り値でさえないのだから。
lenを違う目的に使い直すのはミスリードの元になる。けちらず別の変数にしたほうがよさそう。
・ループ
外側のループは、明らかに回しすぎ。どう実装するかは兎も角、
0からstrlen(line)まで回すのではなく0からstrlen(line) - strlen(str)だけ回せば済むはず。
0524デフォルトの名無しさん
2006/08/26(土) 20:24:50くだらん指摘するんじゃねーよ
0525469
2006/08/26(土) 20:38:58痛い指摘をありがとう。。。
>Unix系のツールに倣うなら、標準出力ではなく標準エラー出力に出力した方がいい。
確かに、printfで良いのか?という疑問は感じた。
普段標準エラー使ってないんだよね。。。Unixも。
fprintf(stderr, "エラーメッセージ"
という形にしてみようかと。
>キーワードを[]で囲むとオプション(=省略可)と思われるから要注意。
これは致命的ですね。今問3を作ってて思った。
オプション省略可のソースにするかどうか微妙に迷ってます。
>fgets(buf, sizeof(buf), fp)とした方が、配列のサイズを変えたときに安心。
fgetsに慣れていないのがばれたw 確かに、そう書くのが普通ですね。
>retと言う名前でループ制御はいただけない。まして戻り値でさえないのだから。
ここは手を抜いてしまったところです。
カウンタではないので、iとかjではなく、何か適当な名前がいいですね。
とりあえずstartにしましたが、いまいち・・・
0526デフォルトの名無しさん
2006/08/26(土) 20:40:200527デフォルトの名無しさん
2006/08/26(土) 21:09:44最近どうもあいまいなまま何気なくコーディングしている部分があり
かなり初歩的なことなんですが質問させていただきたいと思います。
char *hoge(char *arg){
0528527
2006/08/26(土) 21:11:04char *hoge(char *arg){
arg = NULL;
return arg;
}
のように、charポインタ型の引数にNULLを代入しても安全なんでしょうか?
0529デフォルトの名無しさん
2006/08/26(土) 21:11:050530デフォルトの名無しさん
2006/08/26(土) 21:15:34よとり教育の成果か…
結論から言って全く安全。
0531デフォルトの名無しさん
2006/08/26(土) 21:19:370532デフォルトの名無しさん
2006/08/26(土) 22:00:05MyStrstr() がわかりにくい。
int MyStrstr(const char *line, const char *str)
{
int ret;
for(ret = 0; line[ret] != '\0'; ret++){
int i;
for(i = 0; (str[i] == line[ret + i]); i++){
if(str[i] == '\0'){
return 1;
}
}
}
return 0;
}
あたりではどうか。
0533469
2006/08/26(土) 22:05:40問3だが・・・
>-v 検索結果を反転し、一致しない行を表示
問題の意味を誤解しているかも、しれん。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2631.txt
今のところ、オプション指定なし、-i、-v を想定しており、
オプション複数指定までは考えられていない。
(問題に書いてなかったから)
また、「とりあえず動けばいい」という考えで作ってあり、
ネストが深すぎる等、問題のありすぎるソースだし、
爆弾のようなバグが潜んでいるかもしれない。
気力があれば修正するけど・・・あまり期待しないで欲しい。
0534デフォルトの名無しさん
2006/08/26(土) 22:09:06>charポインタ型の引数にNULLを代入
まさかと思うが「argに代入」にはならないぞ
0535デフォルトの名無しさん
2006/08/26(土) 22:17:50ということは
arg=NULL;
の一行はあってもなくてもいいんですか
0536デフォルトの名無しさん
2006/08/26(土) 22:27:09そうだな。
char *hoge(char *arg){
return NULL;
}
とするのとなんら変わりない。
0537デフォルトの名無しさん
2006/08/26(土) 22:33:29argの中身は保障されないってことですよね
やっぱりarg = NULL;は必要ぽい
0538デフォルトの名無しさん
2006/08/26(土) 22:42:020539デフォルトの名無しさん
2006/08/26(土) 22:53:53いや、なってるでしょ。
ただそれは仮引数のargであって、実引数ではないけど。
0540デフォルトの名無しさん
2006/08/26(土) 23:05:45まあ言いたいことは色々あるが、
検索文字列を 256 バイト以上入力されたらちょっとまずいぞ
とだけ指摘しとくよ。
0541デフォルトの名無しさん
2006/08/26(土) 23:10:02なんで急に変な奴が出始めたのか。
0542527
2006/08/26(土) 23:10:46なんて関数があると思うんですが
あれは必ず戻り値も引数として渡すアドレスも同じものが帰ってくると思うんですが
あれはどうやってるんでしょうか
0543527
2006/08/26(土) 23:11:17帰ります。
0544デフォルトの名無しさん
2006/08/27(日) 03:40:32質問スレ行った方が良さそうだが…
そもそも、char*argを渡していて、
argに代入しても意味ないだろう。
それはポインタを示す変数であって、実体じゃない。
*arg = NULL;
とすべきだろ?
かなり基礎的な事だと思われ。
0545デフォルトの名無しさん
2006/08/27(日) 04:05:520546デフォルトの名無しさん
2006/08/27(日) 07:22:070547デフォルトの名無しさん
2006/08/27(日) 07:25:23ネタは止めようぜ
0549デフォルトの名無しさん
2006/08/28(月) 07:31:170550デフォルトの名無しさん
2006/08/28(月) 19:13:24カツゲン詰めよろ
0551デフォルトの名無しさん
2006/08/28(月) 19:14:010552デフォルトの名無しさん
2006/08/28(月) 19:49:10昨日の女神画像の詰めよろ
0553デフォルトの名無しさん
2006/08/28(月) 19:56:310554デフォルトの名無しさん
2006/08/28(月) 19:58:220555デフォルトの名無しさん
2006/08/28(月) 20:01:370556デフォルトの名無しさん
2006/08/28(月) 20:05:180557デフォルトの名無しさん
2006/08/28(月) 20:21:56とりあえずさ、嘘でもいいから>>1のテンプレに従って
宿題として聞こうよ。
0558デフォルトの名無しさん
2006/08/29(火) 00:42:14http://up.spawn.jp/file/up36834.zip
作ってみた。突っ込みどころ満載。
というかヒントが逆に辛いよ。
0559デフォルトの名無しさん
2006/08/29(火) 05:18:29確かに満載だが、我慢する。
0560デフォルトの名無しさん
2006/08/29(火) 06:00:08うちの大学は後期は9月下旬からだったが。
0561デフォルトの名無しさん
2006/08/29(火) 06:51:560562デフォルトの名無しさん
2006/08/29(火) 06:58:230563デフォルトの名無しさん
2006/08/29(火) 10:11:230564デフォルトの名無しさん
2006/08/29(火) 10:54:270565デフォルトの名無しさん
2006/08/29(火) 13:28:10新学期間近で焦り始めている香具師はとっとと質問しろお
0566デフォルトの名無しさん
2006/08/29(火) 13:41:03[1] プログラミング演習
[2] 多倍長整数クラスBigInt
[3] 環境
[3.1] Win/Linux
[3.2] vc7.1 or later
[3.3] C++
[4] 8/31まで
[5] 乗算はO(NlogN)、強い例外安全・中立、スレッドセーフを達成すること
四則演算は演算子をオーバーロードすること
その他は各々自由に設計して良い
0567デフォルトの名無しさん
2006/08/29(火) 13:43:490568デフォルトの名無しさん
2006/08/29(火) 14:32:532^24ビット以下の値しか表現できなくてもよければ、前に書いたのがあるが。
>例外中立
ユーザ定義型を扱う訳でもないのに例外中立とはどういうことだ?
std::bad_allocをちゃんと通せってことか?
0569デフォルトの名無しさん
2006/08/29(火) 14:51:5410月、休み明けの課題とかでスレが賑わいそう
0570デフォルトの名無しさん
2006/08/29(火) 16:20:04とりあえず夏休みの宿題は無かったぞ。w
0571デフォルトの名無しさん
2006/08/29(火) 19:04:58#include<boost/bigint.hpp>
typedef boost::bigint BigInt;
0572デフォルトの名無しさん
2006/08/29(火) 23:08:22gccでtoupperが使えないってことはないですよね?
0573ぼるじょあ ◆yBEncckFOU
2006/08/29(火) 23:09:360574デフォルトの名無しさん
2006/08/29(火) 23:22:42区別しないために全部大文字にして調べてるってのはわかるんだけどどうしても動かないんですよ
Cygwin使ってるんですが他の環境で実行すれば動くのかな?
0575469
2006/08/29(火) 23:29:51バグだった・・・指摘サンクス。
case OPTION_I:
for (j = 0; buff[j] != '\0'; j++)
{
upper_buff[j] = toupper(buff[j]);
}
upper_buff[j] = '\0';
for (j = 0; argv[2][j] != '\0'; j++)
{
upper_word[j] = toupper(argv[2][j]);
}
upper_word[j] = '\0';//ここが変だった
他にもバグ、あるかも・・・。イヤーーン。
0576デフォルトの名無しさん
2006/08/29(火) 23:43:29結構時間が経っているにもかかわらずすばやい修正ありがとうございます
これ以外におかしいところはありませんでした
0577デフォルトの名無しさん
2006/08/30(水) 20:15:360578デフォルトの名無しさん
2006/08/30(水) 21:15:360579関山先生大好き ◆GrLSr1x6e.
2006/08/31(木) 00:30:53[2]入力された計算式を解く電卓
(ex:1+1*1=と入力されたら2を返す)
[3] 環境
[3.1] OS: Mac OS X 10.4 Tiger
[3.2] gcc 4.01
[3.3] 言語: Cのみ
[4] 期限: 8月中?関山先生の気分次第
[5] その他の制限: 制限は特になし?
0580デフォルトの名無しさん
2006/08/31(木) 00:55:260581デフォルトの名無しさん
2006/08/31(木) 02:18:25> (ex:1+1*1=と入力されたら2を返す)
演算子の優先順位がわからん…。
0582デフォルトの名無しさん
2006/08/31(木) 02:22:03多分ずばりの答えが出てくるはずだ
0583デフォルトの名無しさん
2006/08/31(木) 09:00:481 1 + 1 *
にならないか?
0584デフォルトの名無しさん
2006/08/31(木) 09:28:020585デフォルトの名無しさん
2006/08/31(木) 09:33:591 1 1 * +
になる。
0586デフォルトの名無しさん
2006/08/31(木) 09:34:39ならねぇよ
0587デフォルトの名無しさん
2006/08/31(木) 13:04:55ほらよ。
#include<stdio.h>
#include<string.h>
int main(void){char tmp[100];fgets(tmp,sizeof(tmp),stdin);
if(strncmp("1+1*1=",tmp,6)==0)puts("2");return 0;}
0589デフォルトの名無しさん
2006/08/31(木) 15:30:14#define SHORYAKU(moji) if(strchr(moji,c=getc())==NULL) {\
unget(c,stdin); break;\
}
vget() {
int c,v=0;
for(;;) SHORYAKU("0123456789") else v=v*10+c-'0';
return v;
}
main() {
int c, v1=0;
for(;;) {
int v2=vget();
for(;;) {
SHORYAKU("*");
v2*=vget();
}
v1+=v2;
SHORYAKU("+"); }
printf("%d\n", v1);
abort();
}
0590デフォルトの名無しさん
2006/08/31(木) 18:56:28>>588以上の好解答が見当たりません><
0591デフォルトの名無しさん
2006/08/31(木) 18:56:48[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2633.txt
このマージソートのプログラムを、再起呼び出しを使って短くまとまるよう書き直せという問題です。
[3] 環境
[3.1] OS: WinXP
[3.2] コンパイラ名とバージョン: bcc
[3.3] 言語: C++
[4] 期限: 明日の朝
宜しくお願いします
0592デフォルトの名無しさん
2006/08/31(木) 19:01:40問題に書いてあるとおり、再起呼び出しで短くしたらいんじゃね?
つか、そのもともとのコードが見にくいな。
0593デフォルトの名無しさん
2006/08/31(木) 19:21:12こことか、Javaだけど再帰でやってるね。
0594593
2006/08/31(木) 19:41:56http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2634.cpp
0595デフォルトの名無しさん
2006/09/01(金) 09:31:290596デフォルトの名無しさん
2006/09/01(金) 10:36:230598デフォルトの名無しさん
2006/09/01(金) 11:26:09[2] 問題文(含コード&リンク):連珠(五目並べ)プログラムの作成
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2636.txt
問題文にも載せてますがサンプルプログラムです
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2635.zip
[3] 環境
[3.1] OS: mac
[3.2] コンパイラ名とバージョン:gcc 3.4
[3.3] 言語: C
[4] 期限: [2006年9月2日24:00まで]
どうかよろしくお願いします・・
0599デフォルトの名無しさん
2006/09/01(金) 18:26:42何でもっと早く言わなかったんだ。
面白そうだからやりたいがこれから出かけなくてはいけないんだ。
0600デフォルトの名無しさん
2006/09/01(金) 23:48:28帰ってきてからお願いします('・ω・`)遅れてでも提出したいです・・
0601デフォルトの名無しさん
2006/09/02(土) 00:00:370602デフォルトの名無しさん
2006/09/02(土) 00:13:110604デフォルトの名無しさん
2006/09/02(土) 00:20:000605デフォルトの名無しさん
2006/09/02(土) 00:21:12ちょっとは自分でやるという宣言?
0606デフォルトの名無しさん
2006/09/02(土) 09:46:10いいのか、おまえら?
0607リアル598
2006/09/02(土) 10:14:38大丈夫です('・ω・`)
0608デフォルトの名無しさん
2006/09/02(土) 10:34:28たかが宿題で癖なんか見るわけないだろ。よっぽと変な書き方してる
んだったら別だか。
ただ先生によっては、「ここなんでこんな処理なの?」とかカマかけ
てくるから、回答丸写しでもいいけど内容は理解しとけよ。
0609デフォルトの名無しさん
2006/09/02(土) 10:56:12>回答丸写しでもいいけど内容は理解しとけよ。
無理な注文w
0610デフォルトの名無しさん
2006/09/02(土) 11:06:330611デフォルトの名無しさん
2006/09/02(土) 11:53:29いや、普通にみるぞ?
0612ぼるじょあ ◆yBEncckFOU
2006/09/02(土) 12:04:19数人のソースだらだら見てるだけで共通点とか見えてくるんだぞ?
何十人ものソース見てその中にほとんど同じようなソースあったら
嫌でも気づくと思うがな
0613デフォルトの名無しさん
2006/09/02(土) 12:05:060614デフォルトの名無しさん
2006/09/02(土) 20:48:360615デフォルトの名無しさん
2006/09/03(日) 01:53:53ゴーストプログラマやってた頃は、人様の書いたソースの記述スタイルを
我ながら完璧に模倣できてたりしたが、見破る人は見破るんだよ、これが。
コードを書くのにかかった時間の中で起こりうるスタイルの微小な変化が
時系列上に乗ってないと、不自然に見られる。
その場その場でのコードの模倣だけだと駄目なのよ。
プログラマーがそのコードに投じた作業時間と、それに伴う成長までをも
汲み取ってやらないと、偽造がバレる。
いや本当マジな話。
そして学生さんにはあまり関係のない話。
ついでに言うと身分を偽ってゴーストプログラマなんてやらなきゃならなくなった人間が
この世にどんだけいるのかについては、俺は知らんぬ。
0616デフォルトの名無しさん
2006/09/03(日) 02:00:30たいして意味の無い責任回避のために嘘ついても、お互いのために良くない。
0617デフォルトの名無しさん
2006/09/03(日) 02:53:41官庁から受けたお仕事だと逃亡しちゃったとは言いづらいかのう
0618デフォルトの名無しさん
2006/09/03(日) 05:06:210619デフォルトの名無しさん
2006/09/05(火) 16:29:320621デフォルトの名無しさん
2006/09/05(火) 16:52:300622デフォルトの名無しさん
2006/09/05(火) 22:56:510623学生
2006/09/05(火) 23:21:3810個の任意の整数値(1〜100)を繰り返し入力し、それぞれの場合の
最大値、最小値、合計、平均値(平均値は小数点以下2桁まで求めること)
を求めるプログラムを作成せよ。その際、それぞれの変数を
max,min,sum,averageとする。
そのままです。 よろしくお願いします。
0624デフォルトの名無しさん
2006/09/05(火) 23:23:58せめて>>1よめ
0625学生
2006/09/05(火) 23:29:38失礼しました。
[1] 授業単元:単元?
[2] 問題文:>>623
[3] 環境
[3.1] OS: ペケピー
[3.2] コンパイラ名とバージョン:
[3.3] 言語: C
[4] 期限:明日の朝頃まで
[5] その他の制限:for文を使ってやれとのことです.
プログラミングは基本的なことしかできません
0626デフォルトの名無しさん
2006/09/05(火) 23:32:320627デフォルトの名無しさん
2006/09/06(水) 00:15:41お前は淘汰されるべきだ。
やる気がないのに単位だけ欲しがるな。
0628デフォルトの名無しさん
2006/09/06(水) 00:46:08これ以上簡単にできない。
#include <stdio.h>
int main() {
int a[10], i, max = 1, min = 100, sum = 0;
double average;
for (i = 0; i < 10; i++) {
scanf("%d", a + i);
if (a[i] < min) min = a[i];
if (max < a[i]) max = a[i];
sum += a[i];
}
average = sum / 10.;
printf("max:%d, min:%d, sum:%d, average:%.2f\n", max, min, sum, average);
return 0;
}
0629デフォルトの名無しさん
2006/09/06(水) 01:00:160630デフォルトの名無しさん
2006/09/06(水) 01:22:27> (平均値は小数点以下2桁まで求めること)
2桁目は必ず 0 になるような気が...。
0631デフォルトの名無しさん
2006/09/06(水) 03:41:07この問題は十分基本的なわけだが
0632デフォルトの名無しさん
2006/09/06(水) 08:11:00#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#define MIN_VAL 1
#define MAX_VAL 100
#define VAL_QTY 10
#define BUFFER_SIZE 256
#define FALSE 0
#define TRUE ~FALSE
int IsDigitStrings(char* p_str){
if(*p_str == NULL) return FALSE;
while(*p_str != NULL){ if(isdigit(*p_str++) == FALSE) return FALSE; };
return TRUE;}
main(){
int max, min, sum; double average;{
int i;
for(i = 0, sum = 0, min = MAX_VAL, max = MIN_VAL; i != VAL_QTY;){
int val; char str[BUFFER_SIZE];
printf("[%d]>", i); gets(str);
if(IsDigitStrings(str) == FALSE){
printf("入力エラー : 10進数の数値を入力してください。\n"); continue;}
val = atoi(str);
if(val > MAX_VAL || val < MIN_VAL){
printf("入力エラー : 入力できる数値の範囲は%dから%dです。\n", MIN_VAL, MAX_VAL); continue;}
sum += val; min = (val < min) ? val : min; max = (val > max) ? val : max;
++i;}}
average = (double)sum / (double)VAL_QTY;
printf("max = %d\nmin = %d\nsum = %d\naverage = %.2f\n", max, min, sum, average);}
0633デフォルトの名無しさん
2006/09/07(木) 22:20:14と1日以上前のレスに突っ込みを入れてみる
0634デフォルトの名無しさん
2006/09/08(金) 01:39:18[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2642.txt
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:9月10日まで
[5] その他の制限:なし
よろしくお願いします
0635デフォルトの名無しさん
2006/09/08(金) 02:34:39#include <string.h>
#include <stdio.h>
typedef int ELEMENT_TYPE;
#define QUE_SIZE 10
enum { Q_SUCCESS = -1, Q_FULL = -2, Q_EMPTY = -3 };
typedef struct { ELEMENT_TYPE *buf, *end; } QUE;
void initqueue(QUE *que, void *buf) { que->buf = que->end = buf; }
ELEMENT_TYPE enqueue(QUE *que, ELEMENT_TYPE element) {
if (que->end - que->buf == QUE_SIZE) return Q_FULL;
*que->end++ = element;
}
ELEMENT_TYPE dequeue(QUE *que) {
if (que->end == que->buf) return Q_EMPTY;
ELEMENT_TYPE value = *que->buf;
memmove(que->buf, que->buf + 1, sizeof(ELEMENT_TYPE) * (--que->end - que->buf));
return value;
}
int main() {
QUE que; char buf[1000]; int v;
initqueue(&que, buf);
enqueue(&que, 1);
enqueue(&que, 2);
while ((v = dequeue(&que)) != Q_EMPTY) printf("%d\n", v);
}
0636デフォルトの名無しさん
2006/09/08(金) 05:49:02小数点までもとめるのは、かったるいので省略
#include <stdio.h>
int main(void)
{
static int sum;
int a[10],i,b,average,min=1,max=1;
for(i=0;i<10;i++){
printf("数値を入力してください");
do{
scanf("%d",&b);
}while(b>100);
a[i]=b;
sum=a[i];
if(min>a[i])min=a[i];
if(max<a[i])max=a[i];
}
sum/10;
printf("平均値は%d",sum);
printf("最大値は%d",max);
printf("最小値は%d",min);
}
0637デフォルトの名無しさん
2006/09/08(金) 07:00:09上のサイトの問題番号10001(http://acm.uva.es/p/v100/10001.html)が解けません。
なぜ Sample Input の4行目が GARDEN OF EDEN になるのか分かりませんorz
154 = 10011010(2進数)
Left Cell Right New
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
だから 1010101010101010 -> 1000000000000000 になると思うんだけど。
0638デフォルトの名無しさん
2006/09/08(金) 07:53:331行だけしかない4段落目をよく読め
0639デフォルトの名無しさん
2006/09/08(金) 08:41:56実行結果をもとにレポートするように。
0641デフォルトの名無しさん
2006/09/08(金) 12:16:22きゅ〜ってなんだべと思って調べたら
こんなの出てきた
http://www.morikita.co.jp/soft/kiriyama/8399/1/r01-09.c
ココのをいじれば課題できそうじゃね?
0642デフォルトの名無しさん
2006/09/08(金) 12:20:07夏休みはまだ終わらないのか?
0643デフォルトの名無しさん
2006/09/08(金) 13:01:47だからお前がレベルをどうこう言うならお前が出せっつーんだが?
まだこのスレの趣旨を理解していないでけぇ面するだけのヘタレが多いんだなw
0644デフォルトの名無しさん
2006/09/08(金) 16:21:25知らなかった
0646デフォルトの名無しさん
2006/09/08(金) 16:40:23お前が思う趣旨などどうでもいい
0647デフォルトの名無しさん
2006/09/08(金) 17:32:480648デフォルトの名無しさん
2006/09/08(金) 19:03:23講義で毎週宿題出されるとこだったら、毎週毎週面倒見るのか?
0649デフォルトの名無しさん
2006/09/08(金) 19:10:37だとでも思っているのか?
0650デフォルトの名無しさん
2006/09/08(金) 19:16:23依頼者に解かせようとヒント与えるやら、回答を理解してもらうために説明するやら
そーいうことせずにただただ殺伐と宿題依頼と回答だけあればいいってこった
0651デフォルトの名無しさん
2006/09/08(金) 19:47:39丸投げって時点ですでに水準を決める基準なんてないんだよ
要するに、単位取得においては不可、ゴルフならOB、
入学以前に試験に合格していない、もはや評価される以前の場なんだよ、ここはw
0652デフォルトの名無しさん
2006/09/08(金) 21:34:02なんか残念(⊃д`)
0653デフォルトの名無しさん
2006/09/08(金) 21:38:31少なくとも漏れはそうだが何か。
#最近回答してないがな。
0654デフォルトの名無しさん
2006/09/08(金) 22:13:01でもまあ公衆の面前で発言してる以上、五月蝿い蚊の批判を受けることもあるだろ。
でも、このスレには勉強の為にコードを書いている人もいるらしいから、
そういうアレも多少はあってもいいんじゃないかと。
技術者なら他人の指摘を受け入れて技術を磨くべし。
0655デフォルトの名無しさん
2006/09/08(金) 22:20:10依頼者の表面上の要求だけは満たしている皮肉に満ち溢れているコードを出すのが好き。
まぁ、最近はネタ考えている時間がないからやってないけど。
0657デフォルトの名無しさん
2006/09/08(金) 23:55:03うちの学科では脈々と受け継がれている過去レポがあるのだが、
ご丁寧に誤字まできっちり受け継がれているせいで
毎年写した奴が晒される。
0658デフォルトの名無しさん
2006/09/09(土) 00:23:580659デフォルトの名無しさん
2006/09/09(土) 01:50:41提出納期の方が大事という事でしょ。
減らず口まで出してきて、そんなのにイチイチかまってあげてもね・・
0660デフォルトの名無しさん
2006/09/09(土) 01:54:02別にいちいち噛みつかんでも、聞きたい奴は聞いて、答えたい奴が答えれば。
0661デフォルトの名無しさん
2006/09/09(土) 02:41:500662デフォルトの名無しさん
2006/09/09(土) 03:10:54自分で書くときにそれと同じレベルで書けないと
人にやらせてたことが一発でバレる。
同じ人が書いてくれるとは限らないから、毎回筆跡の違うものになるし。
高校あたりなら注意されるだけだけど、
大学だとその年次の全ての単位を取り消しにされかねないぞ。
0663デフォルトの名無しさん
2006/09/09(土) 07:35:010664デフォルトの名無しさん
2006/09/09(土) 07:43:210665デフォルトの名無しさん
2006/09/09(土) 08:04:020666デフォルトの名無しさん
2006/09/09(土) 08:12:290667デフォルトの名無しさん
2006/09/09(土) 09:00:55皆理解できたら自分なりにアレンジくらいはしてるんじゃないのか?
0668デフォルトの名無しさん
2006/09/09(土) 12:26:180669デフォルトの名無しさん
2006/09/09(土) 12:33:14果たして理解できるのかどうか、そこが問題なだw
0670デフォルトの名無しさん
2006/09/09(土) 12:33:180671デフォルトの名無しさん
2006/09/09(土) 12:59:22>>669
0672デフォルトの名無しさん
2006/09/09(土) 13:10:09まあ、不正かどうかは正直微妙なところではあるけど、
一応宿題は自分のためにやるもだからなぁ...
2ch 丸写しをさせるために高い金出してる親の気持ちにもなってみれ。
社会人なら話は別。2ch だろうがなんだろうか、合法的な手段で業務
を遂行できれば ○
0673デフォルトの名無しさん
2006/09/09(土) 13:11:200674デフォルトの名無しさん
2006/09/09(土) 13:20:590675デフォルトの名無しさん
2006/09/09(土) 13:21:10大学かどうかに関わらず、
世間一般の不正行為は全て「ばれなければ問題ない」わけだ
ばれなければ当然大学の単位が帳消しになることもないし、
ばれなければ、どこぞの県庁の裏金だって、
誰かさんのインサイダー取引だって、問題なかったわけだ
要はそれだけのことだw
0676デフォルトの名無しさん
2006/09/09(土) 13:26:000677デフォルトの名無しさん
2006/09/09(土) 13:32:06大学行ったこと無いのかなぁ、この人。
0678デフォルトの名無しさん
2006/09/09(土) 13:34:240679デフォルトの名無しさん
2006/09/09(土) 13:56:56後期もまだ始まってないとこ多いだろし当分この流れな悪寒・・・!
0680デフォルトの名無しさん
2006/09/09(土) 15:11:00いいトピックを出して議論できるのが大人だろう、と言ってみるテスツ
0681デフォルトの名無しさん
2006/09/09(土) 15:25:460682デフォルトの名無しさん
2006/09/09(土) 15:42:380683デフォルトの名無しさん
2006/09/09(土) 19:39:140684デフォルトの名無しさん
2006/09/09(土) 20:52:130685デフォルトの名無しさん
2006/09/09(土) 21:58:260686デフォルトの名無しさん
2006/09/09(土) 22:45:580687デフォルトの名無しさん
2006/09/09(土) 22:54:280688デフォルトの名無しさん
2006/09/09(土) 22:59:290689デフォルトの名無しさん
2006/09/09(土) 22:59:500690デフォルトの名無しさん
2006/09/09(土) 23:16:050691デフォルトの名無しさん
2006/09/10(日) 00:53:27そういうのはさっさと淘汰されて居なくなるからいいけどね。
0692デフォルトの名無しさん
2006/09/10(日) 00:54:310693デフォルトの名無しさん
2006/09/10(日) 02:28:14正式名称は 二次元コード もしくはQRコードなんだけど、
二次元コードは範囲が広すぎでよくわからんし、QRコード
なんて一般人には通じない。
0694デフォルトの名無しさん
2006/09/10(日) 03:41:150695デフォルトの名無しさん
2006/09/10(日) 07:59:43あれはバーじゃないだろ・・・
0696デフォルトの名無しさん
2006/09/10(日) 08:00:460697デフォルトの名無しさん
2006/09/10(日) 10:33:320698デフォルトの名無しさん
2006/09/10(日) 10:47:11それに正式名称って二次元コードはQRコードだけじゃないし・・・
まぁかわいそうだから擁護してあげると、うちの携帯は
QRコード読み取りアプリの名称が「バーコードリーダー」だな
0699デフォルトの名無しさん
2006/09/10(日) 10:50:23図案としては2次元ですが、データの集積方向は1次元です。
0700デフォルトの名無しさん
2006/09/10(日) 11:58:520701デフォルトの名無しさん
2006/09/10(日) 13:32:58邪魔だろ。そんなバーコード。
0702デフォルトの名無しさん
2006/09/10(日) 14:33:57それ普通にバーコードが読めてついでにQRコードも読めるって意味では?
0703デフォルトの名無しさん
2006/09/10(日) 14:48:35・・・バーコードも読めるのか?
0704デフォルトの名無しさん
2006/09/10(日) 15:06:030705デフォルトの名無しさん
2006/09/10(日) 15:44:380706デフォルトの名無しさん
2006/09/10(日) 15:57:38そんなん言ったらQWERTYキーボードだってキーなんか無いんだぞ。
0707デフォルトの名無しさん
2006/09/10(日) 16:00:34普通にあると思うが
0708デフォルトの名無しさん
2006/09/10(日) 17:13:51キーボードって鍵盤なんだぞ。
鍵盤の鍵の出所はピアノのアレで、細長い白黒が食い合ってる様が
鍵に見えたからキーボード。トリビアにもならん。
そういう意味では、押し込みボタンの一つ一つをキーと呼ぶのは単なる後付。
そして拘泥するだけ馬鹿を晒す話。
ご清聴ありがとうございました。
0709デフォルトの名無しさん
2006/09/10(日) 18:30:340710デフォルトの名無しさん
2006/09/10(日) 20:54:470711デフォルトの名無しさん
2006/09/10(日) 21:17:050712デフォルトの名無しさん
2006/09/10(日) 21:30:35おまい頭いいな
0713680
2006/09/10(日) 21:52:09プログラマらしく話題の設計を事前に2、3回は推敲しようよι
突発的に組んでもろくな実装はできないと思われ
0714デフォルトの名無しさん
2006/09/10(日) 23:18:38安定しないからデバッグが難しいんだよ。
0715デフォルトの名無しさん
2006/09/10(日) 23:34:300716デフォルトの名無しさん
2006/09/10(日) 23:44:470717デフォルトの名無しさん
2006/09/10(日) 23:52:190718デフォルトの名無しさん
2006/09/10(日) 23:57:070719デフォルトの名無しさん
2006/09/11(月) 00:00:120720デフォルトの名無しさん
2006/09/11(月) 00:00:54[2] 問題文(含コード&リンク):
分割された領域としてキューを用いるマージソートを作成せよ
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:9/12
よろしくお願いしますよ
0721デフォルトの名無しさん
2006/09/11(月) 00:50:24マージソートの計算過程の、配列を二つに分割するという操作に、キューを使えってこと?
0722デフォルトの名無しさん
2006/09/11(月) 10:19:01…逝ってくる
0723デフォルトの名無しさん
2006/09/11(月) 10:32:520724sage
2006/09/11(月) 11:41:28[1] 授業単元: C言語応用問題?
[2] 問題
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2643.txt
(1)はなんとかできたんですが(2)の方法がわかりません。
[3] 環境
[3.1] OS: WindowsXP
[3.2] VC 6.0
[3.3] 言語: C
[4] 期限: 9/13日まで
[5] その他の制限:
よろしくお願いします。
独学でCを学び始めた超初心者ですが、解答例が載ってない問題でつまってしまったので。
0725デフォルトの名無しさん
2006/09/11(月) 11:59:000726デフォルトの名無しさん
2006/09/11(月) 12:21:010727デフォルトの名無しさん
2006/09/11(月) 12:23:46http://homepage2.nifty.com/tenk/cgokai/scanf.htm
0728デフォルトの名無しさん
2006/09/11(月) 12:55:19適当に作ったから、簡単にバッファオーバーランするが、気にするな。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2644.txt
0729sage
2006/09/11(月) 13:05:44ありがとうございます。
自分なりにこれを参考に、みないで作成してみます。
本当に助かりました。
>>727
何分、今月の頭から入門書からはじめたもので^^;
今後はなるべく気をつけたいと思います。
サイトをみて回ってて、scanfやgets()などがあまりよろしくないとは聞いていたんですが、
その理由がようやくわかりました。
ありがとうございました。
0730デフォルトの名無しさん
2006/09/11(月) 13:45:550731デフォルトの名無しさん
2006/09/11(月) 14:02:370732デフォルトの名無しさん
2006/09/11(月) 14:24:490733デフォルトの名無しさん
2006/09/11(月) 14:30:54っつか、そーっとしておいてくれ・・・
0734デフォルトの名無しさん
2006/09/11(月) 14:48:480735デフォルトの名無しさん
2006/09/11(月) 15:41:19[2] 問題 『指定したファイルに、文字列を挿入するファイルを作成せよ。(行数指定)』
ファイル名、文字列と行数を入力させ、もともと用意してあったテキスト(内容有)
の指定した行数目に、文字列を挿入するんですが、どうやったらできるのか検討がつきません。
よろしければ、教授いただければと、思います。
よろしくお願いいたします
[3] 環境
[3.1] OS: WindowsXP ProSp2
[3.2] VC 6.0
[3.3] 言語: C
[4] 期限: 9/14日迄
[5] その他の制限: 別ファイルを作成して、文字列の内容を退避させるのは駄目だそうです。
よろしくお願いします。
0736デフォルトの名無しさん
2006/09/11(月) 15:49:43釣り? 一般的に、テキストファイルの中間に文字列を挿入するにはファイルの内容を一旦退避する必要があるのだけれど。
#それとも、メモリ上に退避しろということなのかな?
0737デフォルトの名無しさん
2006/09/11(月) 15:54:22普通はメモリ上に退避させると考えるだろ。
別ファイルを作成してって部分が読めなかったのか?
0738デフォルトの名無しさん
2006/09/11(月) 15:58:00挿入するサイズの分だけファイルのサイズを増やし、
挿入終了位置より後ろのデータを全て挿入するサイズ分、後ろに動かす。
その後動かして開いた空間に文字列を入れる。
という方法を使えば退避なしに出来るんじゃね。
0739デフォルトの名無しさん
2006/09/11(月) 15:59:010740デフォルトの名無しさん
2006/09/11(月) 16:02:410741デフォルトの名無しさん
2006/09/11(月) 16:04:200742デフォルトの名無しさん
2006/09/11(月) 16:16:08うp
0743デフォルトの名無しさん
2006/09/11(月) 16:18:510744デフォルトの名無しさん
2006/09/11(月) 16:35:46main(int argc, char* argv[]) {
FILE *in, *out;
const char str = argv[3];
int ln = atoi(argv[4]);
in = fopen(argv[1], "rb");
out = fopen(argv[2], "w");
while(1) {
int c;
if(c == EOF) abort();
if(c != '\r') {
if(c != '\n') { fputc(c, out); continue; }
} else if((c = fgetc(in) != '\n') ungetc(c, in);
if(ln == 1) break;
fputs("", out);
ln--;
}
fputs(str);
while(1) {
char buf[1024];
int len;
if(0 => (len = fread(sizeof(*buf), sizeof(buf), in)) break;
fwrite(sizeof(*buf), len, out);
}
fclose(in);
fclose(out);
return 0;
}
0745デフォルトの名無しさん
2006/09/11(月) 16:50:54やはりおかしいので、再度教授に確認をとったところ、
別ファイルの作成はOKとのことでした。
お手数お掛けしてすみません。
ただ、ファイル作成せずできるのは興味はありますが。
ちなみに、741は私じゃないです TT
0746デフォルトの名無しさん
2006/09/11(月) 17:24:32普通は、作業ファイルを使う。
何故なら、挿入処理がなんらかの事情で中断したときにファイルが破壊されるのを敬遠するから。
#そうでない糞アプリもあるが、それは別の問題。
>>738
その方法も、同様の問題を孕んでいるね。
>>739
ミスリードも甚だしい。
>>740
言い出しっぺの法則。
>>744
1行目から正しくないばかりか、3行目でエラーが出るとはなかなか剛毅なソースだな。
0747デフォルトの名無しさん
2006/09/11(月) 17:33:50お前の言う「普通(の方法)」は問題文に明記された指定よりも優先されるのか?
ファイルに退避せずに処理する方法がある以上、それを求められていると考えるのが
「普通(の態度)」じゃないか?
0748デフォルトの名無しさん
2006/09/11(月) 17:51:54後者の立場だからこそ、>736は「釣り?」って書いてるんだろ。
>736もどうかとは思うが、結果的に正しかったわけだな。
0749デフォルトの名無しさん
2006/09/11(月) 18:54:38どこからどうみても釣りです
本当にありがとうございました
0750デフォルトの名無しさん
2006/09/11(月) 20:09:16君このスレに向いてないよ
0751デフォルトの名無しさん
2006/09/11(月) 20:35:52100バイト目から最後までを読み取って、150バイト目から上書きし、100バイト目から
挿入する50バイトを上書きする。
これで別ファイルはいらなくなる。
0752デフォルトの名無しさん
2006/09/11(月) 20:38:10ごちゃごちゃ言ってねーで、回答してみろや、な?
0753744
2006/09/11(月) 20:45:25完璧にはテストしてないから、バグってたらごめんよ。
>>746
すまん。それケータイから打ってたもんで。
0754デフォルトの名無しさん
2006/09/11(月) 20:50:154GB超えるとバグるね
0755デフォルトの名無しさん
2006/09/11(月) 20:52:41ホント?うーん、なんでだー
0756デフォルトの名無しさん
2006/09/11(月) 20:53:060757デフォルトの名無しさん
2006/09/11(月) 20:53:450758デフォルトの名無しさん
2006/09/11(月) 20:57:280759デフォルトの名無しさん
2006/09/11(月) 21:11:48案の定バグってた。修正: http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2646.c
0760デフォルトの名無しさん
2006/09/11(月) 21:44:46ただし、途中で操作に失敗すると、元のデータも失う諸刃の剣。
0761デフォルトの名無しさん
2006/09/11(月) 23:00:26http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2648.txt
これで2GB/4GBオーバーの不具合起こすなら、ランタイムが悪い、はず。
バッファを頻繁にフラッシュするので遅いけどな(w
0762デフォルトの名無しさん
2006/09/12(火) 00:52:18ファイルサイズ意識してないところがスマートですね。
0763デフォルトの名無しさん
2006/09/12(火) 00:55:530764デフォルトの名無しさん
2006/09/12(火) 01:03:13#define __USE_FILE_OFFSET64 1
が必要になるんじゃないの?
0765761
2006/09/12(火) 01:36:02lenとbuflenはsize_tで脳内修正よろ。
今気付いたけど、片方のバッファは大きくしても良かったな、これ。
>>764
そこは理想論て事で。fseekの相対移動の方が良かったかも。
本来fpos_tの中身は隠蔽されているのだから、素で動作して欲しいところだけど。
0766デフォルトの名無しさん
2006/09/12(火) 08:29:03プログラム基礎なのに問題のレベル高すぎ><
[1] 授業単元:プログラム基礎
[2] 問題文:メールアドレスか判定する関数を作りなさい。
BOOL IsMailAddress(char *Addr);
引数からわたされたAddrがメールアドレスのフォーマットに
則しているか否か判定する。
則していればTRUEを返し、そうでなければFALSEを返す。
[3] 環境
[3.1] OS:Windows
[3.2] VC++ 6.0
[3.3] 言語:C++
[4] 期限:9/17
[5] その他の制限:特になし
0767デフォルトの名無しさん
2006/09/12(火) 08:37:11kwsk
0768デフォルトの名無しさん
2006/09/12(火) 08:50:46メールアドレスのフォーマットは、これの3.4節の書式にそうようにとのことだそうです。
0769デフォルトの名無しさん
2006/09/12(火) 09:22:150770デフォルトの名無しさん
2006/09/12(火) 10:21:55http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2650.txt
dot-atom "@" dot-atom の対応だけ。
atmark += ((c = *Addr) == '@' && atmark < 2);
の行は
c = *Addr;
atmark += (c == '@' && atmark < 2);
に分けた方が良かったな。atmark<2も神経質過ぎるかも。
0771デフォルトの名無しさん
2006/09/12(火) 10:28:210772デフォルトの名無しさん
2006/09/12(火) 11:08:280773デフォルトの名無しさん
2006/09/12(火) 13:05:28プログラマ面して自分の部下として配属されるかと思うと寒気がする。
0774デフォルトの名無しさん
2006/09/12(火) 13:16:05お前のような上司に当たるほうが不幸せだろうがな。
0775デフォルトの名無しさん
2006/09/12(火) 13:18:35|
|
Σ°|||||Ε >>773
J
.∩____∩: :.+
ワク. | ノ ヽ+.:
:.ワク/ ● ● | 食べたいクマー
ミ '' ( _●_)' 'ミ
. / ._ |_/__ノヽ
-(___.)─(__)─
0776デフォルトの名無しさん
2006/09/12(火) 13:37:48あるいはお前の上司になるかもなwwwwwwwww
0777デフォルトの名無しさん
2006/09/12(火) 13:50:56脳みそ使うのが嫌ならさっさと退学しろ。
0778777
2006/09/12(火) 13:54:35[2] 問題文(含コード&リンク): ナインメンズモリスいう最古のパズルゲームの必勝手順(先手勝ちor後手勝ちor引き分け)を解くプログラムの作成。
ナインメンズモリスの紹介:http://www.bu.st8.arena.ne.jp/game.hp/morris/1.html
[3] 環境
[3.1] OS: Windows/Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C言語
[4] 期限: 2006年10月まで
[5] その他の制限: 特になしです。
ちょっと無理なお願いで難しいかもしれませんが、
どうかお助けください〜。
頼みます。
後期が始まる前に退学したら?
0780デフォルトの名無しさん
2006/09/12(火) 14:09:21顔真っ赤にして怒るなよw
0781デフォルトの名無しさん
2006/09/12(火) 14:16:500783デフォルトの名無しさん
2006/09/12(火) 14:32:080784デフォルトの名無しさん
2006/09/12(火) 16:35:06質問のタイミングが難しいな。
0785デフォルトの名無しさん
2006/09/12(火) 16:39:29だから丸投げするくらいなら早く質問しろと。
切羽詰ってからじゃ本当の意味での丸投げになるだけだがw
0786デフォルトの名無しさん
2006/09/12(火) 16:40:320787デフォルトの名無しさん
2006/09/12(火) 17:10:31そんな使えん後輩を思い出させるからやめれ。
0788デフォルトの名無しさん
2006/09/12(火) 17:34:08そうそう。そうすれば誰もやらないからw
0789デフォルトの名無しさん
2006/09/12(火) 17:38:08やらねーってやつが増えるだけかもなw
0790デフォルトの名無しさん
2006/09/12(火) 17:39:260792デフォルトの名無しさん
2006/09/12(火) 21:56:51ちなみに、総当りだと10^30通りぐらいらしい。
http://www.msri.org/publications/books/Book29/files/gasser.pdf
0793デフォルトの名無しさん
2006/09/12(火) 22:16:12千日手になる場合全部計算して検出か・・・まんどいな('A`)
0794デフォルトの名無しさん
2006/09/12(火) 22:33:330795766
2006/09/12(火) 23:16:25これから770をじっくり読んで勉強したいと思います。
ありがとうございました、また次も助けてください^^
0796デフォルトの名無しさん
2006/09/13(水) 00:30:5896年にやっと解法が見つかったのを、一学生が別の解き方を発見できるとは思わないが。
総当りだと膨大な時間が掛かるのは目に見えてるし。
0797デフォルトの名無しさん
2006/09/13(水) 02:32:020798デフォルトの名無しさん
2006/09/13(水) 02:54:16[2] 問題文(含コード&リンク):
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2652.txt
[3] 環境
[3.1] OS:Windows XP Pro SP2
[3.2] コンパイラ名とバージョン: Visual Studio .NET 2003
[3.3] 言語: C++
[4] 期限: 2006/9/13 23時59分
[5] その他の制限:
上記のソースを元に、コピーコンストラクタを利用してエラーを解消させる
malloc,flee関数をやめる
よろしくおねがいします
0799デフォルトの名無しさん
2006/09/13(水) 02:54:540800デフォルトの名無しさん
2006/09/13(水) 03:10:17http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2654.txt
コピーコンストラクタだけでは、オブジェクト定義時にsamp ob(input())
みたいにしなければならないので、勝手にoperator=も定義しといた。
不要なら削っといて。
0801デフォルトの名無しさん
2006/09/13(水) 03:39:04ありがとうございました
0802デフォルトの名無しさん
2006/09/13(水) 06:46:440803デフォルトの名無しさん
2006/09/13(水) 08:17:53開放くらい自分でやってくれって事なんだろうけど、
0804デフォルトの名無しさん
2006/09/13(水) 10:00:52[2] 問題 コマンドプロンプトで動作する、COPYコマンドと同様な動作をするプログラム
、My_COPY.exeを作成しなさい。ただし、エクセルやワードファイルもコピーできるようにすること。
※一応自分なりにやってみたのですが、どうしてもエクセル、ワード複製できませんでした。
よろしくお願いします。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2655.txt
[3] 環境
[3.1] OS: WindowsXP
[3.2] VC 6.0
[3.3] 言語: C
[4] 期限: 9/15日
[5] その他の制限:
バイナリで出入力しただけではダメなのでしょうか。
入門書で乗っている範囲+ネットで調べてがんばってみたのですが。
よろしくお願いいたします。
0805デフォルトの名無しさん
2006/09/13(水) 10:13:23バイナリ転送で何故fscanfとfprintfなのか、
そこを訊ねたい。w
0806デフォルトの名無しさん
2006/09/13(水) 10:13:46>>728さんのを参考にして、提出したんですが、quit関数に引数を渡す必要がないと、言われてしまいました。
自分の考えではbuf内の文字列を変更するため先頭アドレスの引渡しは必要だと思うのですが、なにか別に方法があるのでしょうか?
戻り値は真偽の数値を渡すので使用できませんし。
よろしくお願いいたします。
0807デフォルトの名無しさん
2006/09/13(水) 10:15:15そうですか、出力関数に問題があるのでしょうか。
何分持っている入門書レベルでは、ファイル出力をそこまで扱っていないため、
参考サイトなどがあればお願いしたいのですが。
0808805
2006/09/13(水) 10:20:26ほい
http://www.google.co.jp/search?hl=ja&q=fread+fwrite&lr=
どこでもどうぞー
0809デフォルトの名無しさん
2006/09/13(水) 10:41:37ありがとうございます。
さっそく、fread,fwriteを使って書き換えてみたのですが、エクセルをコピーさせてみると
いつまでたっても終了しない+複製先のエクセルデータが容量が増大していくといった事態になりました
終了条件やなにか、バイナリモードだと違うのでしょうか。
よろしくお願いいたします。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2656.txt
0810デフォルトの名無しさん
2006/09/13(水) 10:44:25>>808さんです
0811805
2006/09/13(水) 11:00:57http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2657.c
こんなんでどうよ?
0812デフォルトの名無しさん
2006/09/13(水) 11:20:23C:\>copy /?
1 つまたは複数のファイルを別の場所にコピーします。
COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B]送り側 [/A | /B]
[+ 送り側 [/A | /B] [+ ...]] [受け側 [/A | /B]]
送り側 コピーするファイル (複数可) を指定します。
/A ASCII テキスト ファイルとして扱います。
/B バイナリ ファイルとして扱います。
/D 受け側のファイルが暗号化が解除されて作成されるようにします。
受け側 新しいファイルのディレクトリまたはファイル名 (複数可) を指定し
ます。
/V 新しいファイルが正しく書き込まれたか検査します。
/N MS-DOS 形式以外の名前のファイルをコピーするときに、利用可能な
らば、短いファイル名を使用します。
/Y 受け側の既存のファイルを上書きする前に確認のメッセージを表示し
ません。
/-Y 受け側の既存のファイルを上書きする前に確認のメッセージを表示し
ます。
/Z ネットワーク ファイルを再起動可能モードでコピーします。
環境変数 COPYCMD でスイッチ /Y が設定されている場合があります。
このスイッチは、コマンド ラインから /-Y が指定されると無効になります。既定
では、COPY コマンドがバッチ スクリプトから実行されていない場合、上書き確認
メッセージが表示されます。
複数のファイルを付加するときは、受け側に 1 個のファイルを指定し、送り側に
複数のファイルを指定します (ワイルドカードを使うか、ファイル1+ファイル2+
0813804
2006/09/13(水) 11:28:08コピペしてみたらちゃんと動作しました。
これかれ、流れを一度見直して解読してから、自分で1から書いてみようと思います。
ありがとうございました
>>812
そうなんですか、一応実行例みると、ファイルを複製してる機能としか見えないので>>811さんの答えで問題ないかと
思われます。 ご指摘ありがとうございます。
0814デフォルトの名無しさん
2006/09/13(水) 12:57:10とか混乱させてみる(w
0815798
2006/09/13(水) 13:13:24[1] 授業単元: C言語研究1
[2] 問題文(含コード&リンク):
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2658.txt
[3] 環境
[3.1] OS:Windows XP Pro SP2
[3.2] コンパイラ名とバージョン: Visual Studio .NET 2003
[3.3] 言語: C++
[4] 期限: 2006/9/13 23時59分
[5] その他の制限:
上記のソースに含まれるエラーを修正せよ。
ただし、malloc,free関数の使用をやめ、演算子を用いて同様の処理を行う。
「参照」を利用してエラーを会費する。
neg()関数を呼び出すときに使用したoオブジェクトのpがさす整数を格納するメモリが
main関数で使用する前に解放されてしまっていることまではわかっています
どうぞよろしくお願いしますm( . . )m
0816724
2006/09/13(水) 14:29:56結局quit関数はメイン関数に記述したのですが、どうやら、エラーがでてた理由は
pinrt_data関数 sort_data関数に引数として入力処理のループ回数を引き渡せない(条件として関数に引き渡す引数の数が決まっている)
せいのようです。 この場合、関数内でどのようにして、n回の入力回数をメイン関数からそれぞれの関数に伝えたらいいでしょうか。
よろしくお願いいたします。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2659.txt
0817デフォルトの名無しさん
2006/09/13(水) 14:39:04free(p); -> delete p;
p = (int *)malloc(... -> p = new int;
int neg(dyna ob) -> int neg(dyna& ob)
0818777
2006/09/13(水) 19:04:02ただ決して丸投げしてるわけではなく、自分では精一杯頑張っているつもりです。
解法は論文通りでいいので、それをプログラム化してほしいということです。
0819デフォルトの名無しさん
2006/09/13(水) 19:29:300820デフォルトの名無しさん
2006/09/13(水) 22:03:030821デフォルトの名無しさん
2006/09/13(水) 22:22:120822デフォルトの名無しさん
2006/09/13(水) 23:55:420823デフォルトの名無しさん
2006/09/13(水) 23:57:530824デフォルトの名無しさん
2006/09/14(木) 00:00:18お前本当にC言語勉強してるのか?
というか、やる気ないだろ。
0825デフォルトの名無しさん
2006/09/14(木) 00:03:09お前が書けよ
0826デフォルトの名無しさん
2006/09/14(木) 00:03:13じゃあお前がやってやれよ。それとも口だけか?カス。
0827デフォルトの名無しさん
2006/09/14(木) 02:05:10ぐろーばる変数を導入しり
0828デフォルトの名無しさん
2006/09/14(木) 02:20:040829デフォルトの名無しさん
2006/09/14(木) 07:41:56唯一自分が得をする場合だけだ。w
0830デフォルトの名無しさん
2006/09/14(木) 07:45:10それに元々大して面白いモノでもないんだから、論文通り実装なんてやってられるか。
0831デフォルトの名無しさん
2006/09/14(木) 16:34:23[2] 問題文:
関数int GetFreq(char c, char *s)を用いて、文字列の中から
実行時に与えた1文字の出現率を調べるプログラムを作成する
関数の定義
int GetFreq(char c, char *s)
第2引数(上記定義の変数s)に与えらた文字列の中に,
第1引数(定義の変数c)で与えた文字が何個あるか数え上げる
そして,数え上げた結果を戻り値として渡す。
第1引数(変数c)には,探す文字を渡す。
第2引数(変数s)には,検索対象となる文字列を渡す。
戻り値は,見つかった文字の個数を返す。
実行結果の例
(入力)This is a pen.
(入力)i
(結果)0.142857 (2/14)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ:GCC
[3.3] 言語:C
[4] 期限:
よろしくお願いします
0832デフォルトの名無しさん
2006/09/14(木) 16:40:27int count = 0;
for(; *s; s++)
if (c == *s)
count++;
return count;
}
0833デフォルトの名無しさん
2006/09/14(木) 19:02:13ありがとうございます
0834デフォルトの名無しさん
2006/09/14(木) 19:49:000835デフォルトの名無しさん
2006/09/14(木) 20:28:300836A
2006/09/14(木) 22:06:07作るのですが、さっぱり分かりません。
2値化して、フィルタリングしてみたのですが
ナンバーをどのように検出したらいいのか思いつきません
教えてください。
[1] 授業単元: C言語画像処理
[2] 問題文(含コード&リンク):
http://mixi.jp/view_diary.pl?id=219949883&owner_id=4340300
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C++
[4] 期限: 2006年9月14日まで
0837デフォルトの名無しさん
2006/09/14(木) 22:25:31自分のファイル名(x.exe)を読み込んで
xの部分がAすなわちA.exeだったらaを実行して
xの部分がBすなわちB.exeだったらbを実行する
っていうようなCのプログラムを教えてください。
0838デフォルトの名無しさん
2006/09/14(木) 22:27:07pgrしとくべきなのかのう・・・
画像から文字検出とかは、それこそ色々やり方あるから講義で説明されたなりしたのを
使ったほうがいいと思うんだぜ
0839デフォルトの名無しさん
2006/09/14(木) 22:29:03>pgr
プギャー?
0840A
2006/09/14(木) 22:33:37文字までは検出しないんです・・・
ナンバーの枠を検出できたらいいんですが
0841デフォルトの名無しさん
2006/09/14(木) 22:37:54それがナンバーだ。
とか適当書いてみる。
>>837
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdllpro/html/_win32_getmodulefilename.asp
GetModuleFileName(NULL,buf,sizeof(buf))
で、ファイル名取って、あとは好きにするべし。
0842デフォルトの名無しさん
2006/09/14(木) 22:45:07そんな環境依存に手をださんでもargv[0]で十分じゃね。
0843デフォルトの名無しさん
2006/09/14(木) 22:47:33すいませんまったくの初心者なんでサンプルコードみたいなの
いただけるとうれしいです
0844A
2006/09/14(木) 23:10:06僕もまったくの初心者で
GetModuleFileName(NULL,buf,sizeof(buf))
をどぉしたらいいとかわからないのですが・・・
0845デフォルトの名無しさん
2006/09/14(木) 23:45:41実行ファイル名取って、ナンバーが識別できるのか?w
0846デフォルトの名無しさん
2006/09/14(木) 23:57:10そろそろ次の課題が出ると、なお良し。
0847デフォルトの名無しさん
2006/09/15(金) 00:07:14環境構築ができません。
どなたか、経験ある方いませんか?
0848デフォルトの名無しさん
2006/09/15(金) 00:15:32宿題解いてやるからMixiに招待汁。
0849デフォルトの名無しさん
2006/09/15(金) 01:02:420850デフォルトの名無しさん
2006/09/15(金) 03:24:09無駄なんだから。
0851デフォルトの名無しさん
2006/09/15(金) 03:26:12mixi株を100万株俺に無償譲渡で宿題解いてやる
0852デフォルトの名無しさん
2006/09/15(金) 03:47:28#include <stdio.h>
#include <libgen.h>
#include <string.h>
void methodA() {
printf("method A\n");
}
void methodB() {
printf("method B\n");
}
int main(int argc, char **argv) {
char *program_name;
program_name = basename(argv[0]);
if (!strcmp(program_name, "a.exe"))
methodA();
else if (!strcmp(program_name, "b.exe"))
methodB();
return 0;
}
0853デフォルトの名無しさん
2006/09/15(金) 04:09:30[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2663.txt
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン: Borland C++ 5.6
[3.3] 言語: C
[4] 期限: 平成18年9月15日17時まで
[5] その他の制限:外部変数は使用禁止
私、さっぱりのド素人で何がなんだかわかりません。
できればソースUPしていただきたいのですが、お願いできないでしょうか?
0854デフォルトの名無しさん
2006/09/15(金) 06:28:04mixi見れないよヽ(`Д´)ノ ウワァァァン
0855デフォルトの名無しさん
2006/09/15(金) 08:06:460856デフォルトの名無しさん
2006/09/15(金) 09:02:200857デフォルトの名無しさん
2006/09/15(金) 09:14:47問題文のテキストには
>外部関数は使用禁止とする
>853には
>外部変数は使用禁止
外部変数と外部関数じゃかなり意味が違うんだがw
しかも範囲もよく分からんw
普通にstdio.hは使っていいんだよな?
OSが限定されてるからWin32APIつかえとかか?
あとbcc5.6って?
0858デフォルトの名無しさん
2006/09/15(金) 14:15:01授業やってんのにさっぱりのド素人って言ってる意味がわからん。
課題が出るたび、誰かに解いてもらってるのか?いみねーだろ
0859デフォルトの名無しさん
2006/09/15(金) 16:04:19クズは消えてね。
0861デフォルトの名無しさん
2006/09/15(金) 17:40:210863デフォルトの名無しさん
2006/09/15(金) 18:54:260864デフォルトの名無しさん
2006/09/15(金) 18:56:01学生のためになりませんからいくら現実逃避したくても誘いにのってはいけません
私が言うのですから間違いありません
0865デフォルトの名無しさん
2006/09/15(金) 18:59:53なによりも自分のためになると思うんだけど
0866デフォルトの名無しさん
2006/09/15(金) 19:14:54ここに投下される大半は基本中の基本すぎてためになることないけどな
0867デフォルトの名無しさん
2006/09/15(金) 19:25:49できる奴は実行し、できない奴ほど教えたがる。
0868デフォルトの名無しさん
2006/09/15(金) 19:44:30このスレではそれが成り立たない気がするぜ。
その言葉の真意を察すると、
「教えるだけの人」っていうのは、口先だけで何だか正しいかどうかも分からない理屈を並べているだけで、
何もしないor出来ない人の事を指しているんだと思うよ。
本質的な意味は「机上の空論」に近いんじゃないかな?
0869デフォルトの名無しさん
2006/09/15(金) 20:08:050870デフォルトの名無しさん
2006/09/15(金) 20:27:25って自分が直前に言ったことしか示せないんだっけ?
文脈により相手の言ったことも示せたと思うんだけど。
0871デフォルトの名無しさん
2006/09/15(金) 21:05:490872デフォルトの名無しさん
2006/09/15(金) 21:25:39おかしいと思ったら指摘してくれよ。
0873デフォルトの名無しさん
2006/09/15(金) 21:58:00っというお前が日本語が理解できない在日朝鮮人なんだろ?
日本語は日本人のための言語、頼むから朝鮮民族が
他国にずけずけと入り込んで生活保護を受けているくせに
日本語で「日本嫌いだ」とか言わないでくれよ?な?
頼むから祖国に帰って税金を納めて徴兵もされてこいや、な?
0874デフォルトの名無しさん
2006/09/15(金) 22:02:42[2] 問題文:
一行に名前と身長[cm]、体重[kg]がそれぞれスペースで区切られて左詰めにされ、
且つ複数名のデータが、それぞれ改行で区切られて記述されているテキストファイルが
ある.その末尾に新たに入力された1名分のデータを追加してファイルを上書きする
プログラムを書きなさい.
入力される名前はスペースのない20文字以内の英文字
身長,体重は整数で記述をする
プログラムの実行後,入力すべきファイル名を受け付ける
構造体の名前をdataで、構造体のメンバは
名前はchar型とし,nameとする
身長はint型とし,heightとする
体重はint型とし,weightとする
[3] 環境
[3.1] OS:winXP
[3.2] コンパイラ:gcc
[3.3] 言語:C
長くなりそうですがおねがいします。
0875デフォルトの名無しさん
2006/09/15(金) 23:00:05struct data{
char name[21];
int weight,height;
};
main(_,filename){
struct data dat;
void*fp;
printf("filename? ");scanf("%d",filename);
printf("name ? ");gets(dat.name);
printf("height ? ");scanf("%d",&dat.weight);
printf("weight ? ");scanf("%d",&dat.height);
fprintf(fp=fopen(filename,"a"),"%s %d %d\n",dat.name,dat.weight,dat.height);
fclose(fp);
}
0876875
2006/09/15(金) 23:03:27× printf("filename? ");scanf("%d",filename);
○ printf("filename? ");gets(filename);
0877デフォルトの名無しさん
2006/09/15(金) 23:27:380878デフォルトの名無しさん
2006/09/16(土) 00:25:320879デフォルトの名無しさん
2006/09/16(土) 00:31:440880デフォルトの名無しさん
2006/09/16(土) 00:49:220881デフォルトの名無しさん
2006/09/16(土) 04:02:39未だにscanfも使えない初心者m9(^д^)プギャー
0882デフォルトの名無しさん
2006/09/16(土) 04:19:31まともな入力処理にしたければfgetsとsscanfを組み合わせて使え。
正しく入力される場合しか想定されてないプログラムなど糞だ。
まあ、ここに丸投げするようなレベルのアホにはscanfで十分だろうけど。
0883デフォルトの名無しさん
2006/09/16(土) 04:27:21書き込み疾きこと風の如し、
リアルの前では徐かなること林の如し、
2ちゃんで怒り狂うこと火の如し
PCの前を動かざること山の如し
0884デフォルトの名無しさん
2006/09/16(土) 06:47:34scanfを使って、初心者らしさを演出してるんですよ。
0885デフォルトの名無しさん
2006/09/16(土) 07:28:14遅くなりましたが、ありがとうございます
0886デフォルトの名無しさん
2006/09/16(土) 07:32:41プログラムを実行し、ファイルを読みとるため、
データファイル名を入力するとき、入力補完機能をつけるにはどうすればよいのでようか?
長いファイル名をイチイチうつのが面倒なのですが
UNIX環境みたいにscanfで文字を入力する際に補完とかできないかと思いまして
0887デフォルトの名無しさん
2006/09/16(土) 07:59:10Windowsの話?
だったらこれ試してみて。良ければ結果も教えてくれ。
ttp://gnuwin32.sourceforge.net/packages/readline.htm
0888デフォルトの名無しさん
2006/09/16(土) 10:17:450889デフォルトの名無しさん
2006/09/16(土) 12:10:29readlineはGPLだから安易に使うわけにはいくまい。
0890デフォルトの名無しさん
2006/09/16(土) 12:14:35[2] 問題文:数値をキー入力し、偶数、奇数を判定し、表示せよ。
[3] 環境
[3.1] OS:winXP
[3.2] コンパイラ:gcc
[3.3] 言語:C
[4] 期限: 平成18年9月17日24時まで
よろしくお願いします。
0892デフォルトの名無しさん
2006/09/16(土) 13:09:23#include <stdio.h>
int main() {
int num;
if (scanf("%d", &num))
printf("%s\n", num % 2 ? "odd" : "even");
return 0;
}
0893デフォルトの名無しさん
2006/09/16(土) 14:25:37だったら、なおさらreadlineを使え。
0894デフォルトの名無しさん
2006/09/16(土) 16:38:29実数の時はどうするの?
0895デフォルトの名無しさん
2006/09/16(土) 17:03:410896デフォルトの名無しさん
2006/09/16(土) 17:09:57ってことだと思うぞ。
0897デフォルトの名無しさん
2006/09/16(土) 17:13:19でいいんじゃない。
どうなるか知りたかったら、ちゃんとそこまで書いた問題をよこせ。
0898デフォルトの名無しさん
2006/09/16(土) 19:41:30未実装だと仕様は決まってるけど、まだ作って無いだけを指すことも多い。
0899デフォルトの名無しさん
2006/09/16(土) 20:42:08putsとかputcharの事も忘れないであげてください……
0900デフォルトの名無しさん
2006/09/16(土) 21:41:24プログラムが求めている正しい入力ができないユーザはダメな奴だ。
そういう奴らは両手の指を使え。
0901デフォルトの名無しさん
2006/09/16(土) 22:40:25[2] 質問です。
条件
AさんとBさんがいます。AさんとBさんは通信ができます。
AさんとBさんが通信を開始し、終了すると、その間の記録がログファイルとして
記録されます。
通信の開始は、キーボードからスタートと入力することにより開始されます。
終了は、キーボードからエンドと入力することにより、終了されます。
要求
通信を自動的に1時間ごと切り、1時間ごとのログファイルを作成したい。
アルゴリズムだけでもいいので
よろしくお願いいたします。
[3] 環境
[3.1] OS: WindowsXP
[3.2] Visual C++6.0
[3.3] 言語: C++
[4] 9月21日
よろしくおねがいします。
0902デフォルトの名無しさん
2006/09/16(土) 22:43:55何層からのログを取りたいのか
チャットのログを保存したいとかだったらぶちころすぞ(´・ω・`)
0903デフォルトの名無しさん
2006/09/16(土) 23:37:55誘導されてきたんなら、そう書いた方がいい。
マルチにも見えるぞ。
全体的に意味がよくわからんが、
一時ファイルにログを追加していき、切断のタイミングでファイルごと、
移動・リネームして一時間ごとのファイル名に変更、
一時ファイルは中身を削除して、さいしょからログを取るって流れじゃダメなのか?
不明点大杉。
・1時間ごとに切断するというのは、一時間毎にエンドとスタートを手動入力するのか?
・AさんとBさんというのは、システムではなく、生身のユーザなのか?
・つーか、卒研なら死ぬ気で手前でなんとかしやがれボケ
0904デフォルトの名無しさん
2006/09/16(土) 23:40:09こんなんが卒業研究としてまかり通るのか?
恐ろしい大学もあるもんだ。
0905デフォルトの名無しさん
2006/09/17(日) 00:53:120906デフォルトの名無しさん
2006/09/17(日) 01:56:200907デフォルトの名無しさん
2006/09/17(日) 03:30:480908デフォルトの名無しさん
2006/09/17(日) 03:51:42RS232Cを使った通信でやってみなよ。
0909デフォルトの名無しさん
2006/09/17(日) 05:11:27http://0n0.fc2web.com/bcc/ser/ser01.html
0910デフォルトの名無しさん
2006/09/17(日) 05:46:17卒研本番になって初めて基礎的な勉強を始める馬鹿というのもたまにはいる。
0911デフォルトの名無しさん
2006/09/17(日) 05:47:500912デフォルトの名無しさん
2006/09/17(日) 08:22:56通信というのは気にしないでください。
そこのプログラムはできています。
AさんとBさんが通信をするとログファイルが生成される。
これもプログラム済みです。
ただ、その通信をキーボードからスタートさせ、キーボードからエンドと入力するまで
、その通信を自動的に1時間ごとに切り、1時間ごとのログファイルを生成したいのです。
よろしくお願いします。
0913デフォルトの名無しさん
2006/09/17(日) 08:26:46流れとしては
キーボードからスタート入力→通信開始→1時間経過→通信終了→
ログファイル生成→通信開始→1時間経過→通信終了→ログファイル生成
→キーボードからエンド入力→終了。
みたいな感じです。
あとこの質問はほかのスレから誘導されてきました。
よろしくお願いします。
0914デフォルトの名無しさん
2006/09/17(日) 08:33:46画面に表示されるタイミングなり、通信のタイミングなり、自分のログを取りたいタイミングの
関数をwrapする関数を作り、それで元の関数を置き換える。
そのwrapする関数内でログに出力する。
ログの出力は、毎回ファイルオープン、書き込み、クローズを行う。
また、最後に出力された日時をstatic変数などで覚えておき、時刻の変わり目でログファイルの
切り替え(ログファイル名の変更)を行う。
0915デフォルトの名無しさん
2006/09/17(日) 08:34:53>>914は忘れてくれ。
0916デフォルトの名無しさん
2006/09/17(日) 08:41:27何を悩んでいるのかサッパリ解らん。
0917デフォルトの名無しさん
2006/09/17(日) 08:51:25コードに起こしてみていただけますか?
悩んでいる点としては、キーボードから入力をすると開始されるまでは、
わかるのですが、その後その通信を1時間ごとに切らなくてはいけない。
それをキーボードからエンドと入力されるまで、ずっと繰り返す。
この点がどうプログラムしていいかわかりません。
0918デフォルトの名無しさん
2006/09/17(日) 09:27:320919デフォルトの名無しさん
2006/09/17(日) 10:47:11よく知らないけどpselectとかでIOの状態を見てから読みに行けばいいのかな?
コンソールアプリに拘らなくていいなら、MFCとか.NETとか使ってGUIアプリのフレームワークの中でやればそういうことと無縁で済むかも知れない。
0920デフォルトの名無しさん
2006/09/17(日) 10:53:55誘導元ってどこなんだぜ?
0921デフォルトの名無しさん
2006/09/17(日) 10:55:10別にtimer用スレッド立てて、そっちでログ制御もやればよくね?
0922デフォルトの名無しさん
2006/09/17(日) 14:00:48while ( gets() ) {
if ( 通信中&サブスレッド死亡 ) 通信停止
if ( "start" ) 通信開始&サブスレッド開始
else if ( "end" ) サブスレッド停止&通信停止
else 通信開始してるなら送信
}
// サブスレッド
do { // 一時間で自動切断ならこのループはいらない
while ( 一時間経つまで ) {
if ( メインスレッドから停止指示 ) break;
select(); // 250ms位?
if ( IS_SET(受信) ) 受信文字列出力
}
ログ書き出し
} while ( !メインスレッドから停止指示 );
かなり適当だけど、こんな感じ?
0923デフォルトの名無しさん
2006/09/17(日) 17:37:030924デフォルトの名無しさん
2006/09/17(日) 18:18:190925デフォルトの名無しさん
2006/09/17(日) 18:22:45そこに卒研があるのかどうかは知らないが。
0926デフォルトの名無しさん
2006/09/17(日) 18:26:400927デフォルトの名無しさん
2006/09/17(日) 19:52:580928デフォルトの名無しさん
2006/09/17(日) 20:53:340929デフォルトの名無しさん
2006/09/17(日) 21:07:03>>901「東大です」
927「・・・え・・・!?」
901「東京帝国大学です。」
927「・・・う、うわあ・・・ああ・・・ああああああああああ(イスから転げ落ちる)」
901「どうかしましたか?」
927「ああ、あふゥッ・・・ひいいい・・ガクガク(足が震える)」
901「やだなあ、そんなにびびらないで下さいよ。ちょっと頭がいいだけです
から^^」
927「ああ・・あ・うんっ・ああ・・・ビクンビクン(小水を漏らす)」
901「ちなみに理3です。」
927「あんっ!ああん・・らめ・・・もうらめえ!ビクンビクン(射精する)」
0930927
2006/09/17(日) 21:37:170931デフォルトの名無しさん
2006/09/17(日) 21:39:06ありがとうございます。参考にしてみます!
あと卒業研究というのは、これじゃあありません。
もちろん。少し使うだけです。こんなんで卒業できたら、苦労しませんし。
みなさん親切にありがとうございました!
0932デフォルトの名無しさん
2006/09/17(日) 21:50:550933デフォルトの名無しさん
2006/09/17(日) 21:51:32こんなのを聞いてるようで卒業できるのかって思ってるだけで・・・
0934デフォルトの名無しさん
2006/09/17(日) 21:56:310935デフォルトの名無しさん
2006/09/17(日) 22:01:21正解!そうなんです。ぜんぜん分かってません!
本当に卒業できるかな?
就職決まってるし、ヤバス!
0936デフォルトの名無しさん
2006/09/17(日) 22:04:02頼むより自分でやったほうが楽じゃね?
0937デフォルトの名無しさん
2006/09/17(日) 22:10:04なら聞くなや…
0938デフォルトの名無しさん
2006/09/18(月) 21:25:03できないと思う
0939デフォルトの名無しさん
2006/09/18(月) 21:31:18割と何とかなるもんだ。
0940デフォルトの名無しさん
2006/09/18(月) 21:34:170941デフォルトの名無しさん
2006/09/20(水) 21:37:520942デフォルトの名無しさん
2006/09/20(水) 21:44:45総当りでその辺歩いている子に声掛ければ?
20人くらいに声掛けて一人も釣れなかったら恋は諦めろ
0943デフォルトの名無しさん
2006/09/20(水) 21:45:320944デフォルトの名無しさん
2006/09/20(水) 22:35:26安定な結婚のトピックはちょっとだけ面白かった
0945デフォルトの名無しさん
2006/09/20(水) 22:52:28kwsk
0946デフォルトの名無しさん
2006/09/21(木) 00:24:07「C言語によるアルゴリズム事典」じゃだめなん?内容同じでそ?
0947デフォルトの名無しさん
2006/09/21(木) 12:31:30[1] 授業単元:
[2] 問題文(含コード&リンク):
�@次の代入を実行したあとの変数aと変数bの値を予測せよ
例題 a=50; ++a; 答えa=51
問題1 a=50; b=++a; 答え a=? b=?
問題2 a=66; b=a++; 答え a=? b=?
問題3 a=30; b=-a; 答え a=? b=?
問題4 a=31; b=a--; 答え a=? b=?
�A下記を参考に 「入力される実数が負の数の場合」に四捨五入するプログラムを完成させよ
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2652.txt
[3] 環境
[3.1] OS: (Windows/Linux/等々) WindowsXP
[3.2] ボーランドC++コンパイラ
[3.3] 言語: Cのみ
[4] 期限: 明日まで・・お願いしいます;;
[5] その他の制限:
0948デフォルトの名無しさん
2006/09/21(木) 12:35:53正しくは 問題3 a=30; b=--a; 答え a=? b=?
素人で全くCプログラムが分かりません。助けて下さい。お願いします。
0949デフォルトの名無しさん
2006/09/21(木) 12:48:160950デフォルトの名無しさん
2006/09/21(木) 13:20:08福利計算の元利合計WOが元金a円の50%を超えるには何年かかるか計算しなさい。
なお、複利計算で生じる1円未満は切り捨てのこと。
お願いします。
0951デフォルトの名無しさん
2006/09/21(木) 13:24:39それC/C++の問題じゃねーだろww
0952デフォルトの名無しさん
2006/09/21(木) 13:47:58>>1読んで書き直せ
0953デフォルトの名無しさん
2006/09/21(木) 14:09:52ごめんなさい間違えました
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2673.txt
私にも定義がわかりません。
大変申し訳ないのですがサンプルから
読み取ることは不可能でしょうか。
本当にお手数掛けますがよろしくお願いします。
0954デフォルトの名無しさん
2006/09/21(木) 14:27:35それすごくmixiでも見た記憶があるんだけど
0955デフォルトの名無しさん
2006/09/21(木) 14:29:162次元配列とfor文を使って
1 2 3
4 5 6
7 8 9
と表示させるにはどうすれば出来ますか?
0956955
2006/09/21(木) 14:41:570957デフォルトの名無しさん
2006/09/21(木) 14:54:16#include<stdio.h>
int main(void)
{
int seisu;
double jissu;
printf("実数=");
scanf("%lf", &jissu);
seisu = jissu - 0.5;
printf("%lf の四捨五入は%d です。\n", jissu, seisu);
}
0958デフォルトの名無しさん
2006/09/21(木) 15:07:28ちゃんと講義に出席して、一番前の席に座って話を聞け。
それだけでわかるだろ。
0959デフォルトの名無しさん
2006/09/21(木) 15:12:33配列をどこに使うんだ?
#include <stdio.h>
void main(){
puts("1 2 3\n4 5 6\n7 8 9\n");
}
0960デフォルトの名無しさん
2006/09/21(木) 15:14:49ここは落ちこぼれの集まるとこだから、そいつらのためにならないように、俺たちが解いて
落ちるとこまで落とせばいいんだぜ?
0961957
2006/09/21(木) 15:20:56main 関数の戻り値に int を宣言しときながら、最後 return 0 するの忘れてた。
減点対象になるかも知れんので訂正。
#include<stdio.h>
int main(void)
{
int seisu;
double jissu;
printf("実数=");
scanf("%lf", &jissu);
seisu = jissu - 0.5;
printf("%lf の四捨五入は%d です。\n", jissu, seisu);
return 0;
}
0962デフォルトの名無しさん
2006/09/21(木) 15:25:14#include<stdio.h>
int main(void)
{
int i,j;
int hairetsu[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
for(i = 0; i < 3; i++)
{
for(j = 0; j < 3; j++)
{
printf("%d ",hairetsu[i][j]);
}
printf("\n");
}
return 0;
}
0963デフォルトの名無しさん
2006/09/21(木) 15:43:19ありがとうございます!何度も丁寧にすみません。無事にコンパイルできました。重ね重ねお礼申し上げます。明日に間に合いそうです。
>>958>>960
毎回欠かさずに授業に出ているのですが、さっぱりです。
>>954
mixiはやってないので分かりませんが、mixiに同じような問題があるのでしょうか?mixiやってみます!
厚かましいのですが、�@の問題も分かる方がいらっしゃいいましたらよろしくお願いいたします。
0965デフォルトの名無しさん
2006/09/21(木) 15:50:34それだと、-0.5を四捨五入すると-1になるけど、0.5の
四捨五入は1なので、四捨五入すると0になる範囲が
ほんのちょっと他の整数より狭いんだけど。
0966デフォルトの名無しさん
2006/09/21(木) 16:56:01問題2 a=66; b=a++; 答え a=66 b=67
問題3 a=30; b=--a; 答え a=29 b=29
問題4 a=31; b=a--; 答え a=31 b=30
だっけ。。
(a=a+1;って書くから 苦手なんだなw)
0967デフォルトの名無しさん
2006/09/21(木) 17:11:000を中心に正負が繋がった数列上で考えた場合、0.5以上 が 1 になり、
0.5 未満が丸めて 0 になる範囲なら -0.5 以上は 0 になるべきという意味?
そこまで、数学的厳密さは要求されてない問題だと思う。それに負数の
四捨五入自体の数学的定義にそもそも曖昧さがあるものだし。
もし、正負の一貫性を要求するとしたら、基本的に負の場合も 0.5 を足すべき、
という事になるだろうけど、そもそも“四捨五入”という行為には数学的な正負の
一貫性とかは問われてないと思う。
設問からして正の四捨五入とは別個に負の四捨五入を作らせてるわけだし。
個人的には、表計算ソフトの ROUND 関数に負数を放り込んだときに返ってくる
答えと同じ思考の四捨五入で答えればよい問題だと思う。
0968927
2006/09/21(木) 17:14:15というか、前置インクリメントか、後置インクリメントかで意味が変わってしまうようなコードの書き方自体がC言語の瑣末な言語仕様に依存したものであり、可読性も低く推奨できない。
当然意味を知っていて読めないといけないものだけど、宿題としては適切でないね。
悪いコード例を読み解きましょうなんて課題は、出題者の自己満足でしかない。
もっと重要なことをやるべきだろうに。
0969デフォルトの名無しさん
2006/09/21(木) 17:58:56>というか、前置インクリメントか、後置インクリメントかで意味が変わってしまうようなコードの書き方自体がC言語の瑣末な言語仕様に依存したものであり、可読性も低く推奨できない。
使い分けるためにわざわざ二種類の構文が用意されているわけだし、
何より意味は明確に定義されているんだから躊躇せずに使うべきだ。
この構文を避けるというスタイル/ポリシーはあり得るが、これ自体が悪いコードでは決してない。
お前の主観的な可読性を押しつけられてはたまらん。
0970デフォルトの名無しさん
2006/09/21(木) 18:12:19演算子の評価結果と副作用の説明に一番いいというのに。
結局、評価と副作用すら理解しとらんド素人がなんか言っとるだけか。
>前置インクリメントか、後置インクリメントかで意味が変わってしまうような
前置か後置かで意味を使い分けるために2種類のインクリメントがあるんだが。
0972デフォルトの名無しさん
2006/09/21(木) 18:34:48結局これでいいんかな・・
(俺が)あまり使わないから、自信無いんよ。。
0973デフォルトの名無しさん
2006/09/21(木) 18:36:58よくない。
1. 51,51
2. 67,66
3. 29,29
4. 30,31
0974デフォルトの名無しさん
2006/09/21(木) 18:39:450976デフォルトの名無しさん
2006/09/21(木) 20:41:51/* menuの値が1またはmenuの値が2かつdata2が0これらが偽の場合 */
これを実行するとmenuに1と2以外のときdata2に0が入るとエラー文がでてしまいます。
教えてください><
0977お願いします
2006/09/21(木) 20:44:40途中に空白のない半角英数字からなる任意の40文字以内の文字列を
文字型配列に入力する。それが英小文字のa〜zならばaをb,bをc,cをd,・・・
zをaというように1つずつずらして置き換え,別の文字型配列に格納する。
a〜z以外の文字はそのまま別の配列に移す。文字列すべての検索と置き換え・
移し変えが終わったら,元の文字列と変換後の文字列を出力するプログラム。
お願いします〜
0978デフォルトの名無しさん
2006/09/21(木) 20:48:460979デフォルトの名無しさん
2006/09/21(木) 21:09:50[2] 問題文(含コード&リンク):入力された数の半径の円の面積を求める
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C
[4] 期限: 数日中
[5] その他の制限: 特になし
0980デフォルトの名無しさん
2006/09/21(木) 21:10:16#include<stdio.h>
int main(void)
{
int menu = 3, data2 = 0;
if(!((menu == 1 || menu == 2) && data2 == 0))
{
printf("hoge\n");
}
return 0;
}
という、形で実行してみて何もエラーなんか出なかったけど。
てか、せめて環境とエラーメッセージの内容くらい最低限書いてくれ。
0981(^-^) ◆MONSOON/qo
2006/09/21(木) 21:13:34コンパイルしてないけど
char str1[40]="bAnVBFD8imMHG1lDNFGdMGHbMGH54kHJm8UKF6Sa", str2[40];
int i,m='a',n='z';
for(i=0;i<40;i++)
if( m<=str1[i] && str1[i]<n )str2[i]=str1[i]+1;
else if( str1[i]==n )str2[i]=m; else str2[i]=str1[i];
0982(^-^) ◆MONSOON/qo
2006/09/21(木) 21:20:51#include <stdio.h>
main(){
char str1[41]="bAnVBFz8imMHG1lDNFGdMGHbMGH54kHJm8UKF6Sa",
str2[41];str2[40]='\0';
int i,m='a',n='z';
for(i=0;i<40;i++)
if( m<=str1[i] && str1[i]<n )str2[i]=str1[i]+1;
else if( str1[i]==n )str2[i]=m; else str2[i]=str1[i];
printf("元の文字列=%s\n",str1);
printf("後の文字列=%s\n",str2);
}
0983デフォルトの名無しさん
2006/09/21(木) 21:20:53#include <math.h>
#include <stdio.h>
int main(){
float r;
printf("Please Input Radius>");
scanf("%f",&r);
printf("\n%f",r*r*M_PI);
}
0984お願いします
2006/09/21(木) 21:33:53freecommandlinetools_updateこんな名前です。
OSはXPです。
0985デフォルトの名無しさん
2006/09/21(木) 21:35:42C++を勉強している若い人は人生を無駄しないように別の言語も考えたほうが良い。perlとか。
Javaも同じ。
0986デフォルトの名無しさん
2006/09/21(木) 21:39:220987デフォルトの名無しさん
2006/09/21(木) 21:44:20GUIでも簡単だから学習意欲も沸くだろうし
0988デフォルトの名無しさん
2006/09/21(木) 21:54:48たぶんbcc
が、おまいは誰だ
0989お願いします
2006/09/21(木) 22:01:050990デフォルトの名無しさん
2006/09/21(木) 22:22:22http://pc8.2ch.net/test/read.cgi/tech/1158844912/
0991 ◆jG/Re6aTC.
2006/09/22(金) 08:12:43[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2679.txt
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: Visual Studio 2005
[3.3] 言語: ベターCとしてC++
[4] 期限: 2006年09月25日12:00まで
[5] その他の制限: Winsock2を使用します。
ライブラリは、Cの標準ライブラリとSTLは使って大丈夫です。
基本的にコンソールアプリになります。
コーディングに関してはほとんど教えられておらず、Winsock FAQやMSDNを参考にして組め、と言われています。
言語はC++ですが、別にstdio.hを使っても大丈夫です。cstdioでもいいです。
あと、Winsock2ってことですが、無理にWinsock2の新機能を使わなくても、Winsock1の機能の方が使いやすければそれでも大丈夫です。
どうか、よろしくお願いいたします!
0992991 ◆jG/Re6aTC.
2006/09/22(金) 08:15:44次スレ立っていましたね。
移動しますので、よろしくお願いします。
0993デフォルトの名無しさん
2006/09/22(金) 09:50:090994デフォルトの名無しさん
2006/09/22(金) 12:10:13main()
{
int r;
scanf("%d", &r);
printf("半径%dの円の面積は、およそ%d\n", r, r*r*3);
}
0995デフォルトの名無しさん
2006/09/22(金) 13:30:270996デフォルトの名無しさん
2006/09/22(金) 13:54:490997927
2006/09/22(金) 14:04:460998デフォルトの名無しさん
2006/09/22(金) 14:13:18出てくる答えはどちらも「およそ」の面積でしかないし。
0999デフォルトの名無しさん
2006/09/22(金) 15:20:351000デフォルトの名無しさん
2006/09/22(金) 15:23:2310011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。