[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 08/07 07:50 / Filesize : 147 KB / Number-of Response : 453
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2008/04/15(火) 23:07:41 ]
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。

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

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

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html
【過去ログ検索】        chomework.sakura.ne.jp/
【wiki】               www23.atwiki.jp/homework/

【前スレ】
C/C++の宿題を片付けます 104代目
pc11.2ch.net/test/read.cgi/tech/1202135539/

404 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:06:00 ]
いちいちそんなこと書かなくていいから。
ほんとレス乞食はうぜーな。

405 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:08:27 ]
>>390 >>401 うわぁ〜〜〜〜
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6323.c

406 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:08:56 ]
>>404
んじゃあーげないっと、お前も見たけりゃ余計なことを言わなきゃ良いのになw

407 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:17:31 ]
>>406
お前のうんこ見なくてすむかと思うとほっとしたよ。

あと、かまって欲しいのわかるけど、いいかげんコテつけてくんない?
速攻NGにするから。

408 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:18:44 ]
自作自演って、あーた・・・そうやって煽って、本当は見たいんだろぉ〜?
必死だなw


409 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:20:03 ]
>>407=>> 249
名前:デフォルトの名無しさん 投稿日:2008/04/22(火) 06:09:41
>>248
おまえが考えてる入力の意味ってなに?

↑こいつうぜー

410 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:30:52 ]
それが同一人物に見えるのはお前だけだからw

411 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:31:22 ]
>>409
反論できてねーだろwwwww顔真っ赤すぎて超うけるwwwww

412 名前:390 mailto:sage [2008/04/24(木) 17:33:08 ]
一応自分でこんな感じに作ったのはいいんですが、
キャストと配列への格納がうまくいかずお手上げ状態です
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6324.txt



413 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:43:10 ]
>>412
もうちょっと速ければ見せてもらえたのに。
元生徒もうへそ曲げちゃったから。。。

414 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:50:20 ]
>>404
そいつにレスしているお前も同じだろ・・・お前が  言 う な

415 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:52:58 ]
>>83-88のコピペに反応しているお前が言うなレス乞食の
>>404が痛すぎ・・・
>>413 しつけぇ。所詮お前みたいなカスは妬むだけだろ。
失せろ、答えないくせに粘着する無能

416 名前:デフォルトの名無しさん mailto:age [2008/04/24(木) 17:57:52 ]
414 :デフォルトの名無しさん [sage] :2008/04/24(木) 17:50:20
>>404
そいつにレスしているお前も同じだろ・・・お前が  言 う な
415 :デフォルトの名無しさん [sage] :2008/04/24(木) 17:52:58
>>83-88のコピペに反応しているお前が言うなレス乞食の
>>404が痛すぎ・・・
>>413 しつけぇ。所詮お前みたいなカスは妬むだけだろ。
失せろ、答えないくせに粘着する無能

顔真っ赤wwwww

417 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:06:47 ]
>>390 >>401
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6325.c

418 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:07:51 ]
>>416 お前を通報しておく。用がないなら来るな、見るな、書くな、鬱陶しい

419 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:13:07 ]
>>417
設問ちゃんと読んだら?

420 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:53:23 ]
>>390 >>401
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6326.c

421 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:58:32 ]
>>390 >>401
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6327.c

422 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 19:55:47 ]
>>412
21:00 まで待てますでしょうか?



423 名前:422 mailto:sage [2008/04/24(木) 20:57:17 ]
>>412
当方で確認した環境は WindowsXP, 処理系は cygwin(gcc 3.4.4) です。
提示されたソースをもとに、考え直してみました。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6328.txt

424 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:59:53 ]
>>423
ソースコード見てないけど納期を守るお前がすばらしい
うちの会社来ないか?

425 名前:デフォルトの名無しさん [2008/04/24(木) 21:24:38 ]
[1] 授業単元:プログラミング実習
[2] 問題文:一覧ファイル(infile.csv)に「グループ名,学籍番号,名前」の順でデータが入っています。学籍番号のみをDATAに格納せよ。
[3] 環境
 [3.1] OS: Windows 2000
 [3.2] コンパイラ名とバージョン: わかりません
 [3.3] 言語:C
[4] 期限: 本日中(4/24)
[5] その他の制限: 特に制限はありません。C初心者で全く分かりません。時間があまりないですがよろしくお願いします。


426 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 21:31:07 ]
>>425
> DATAに格納せよ。
の意味をおしえてください。DATA という名前のファイルに順に記録していけばいいのでしょうか?

427 名前:デフォルトの名無しさん [2008/04/24(木) 21:42:23 ]
[1] 授業単元:CプログラミングU
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6329.txt
[3] 環境
 [3.1] Windows
 [3.2] Visual C++ 6.0
 [3.3] C
[4] 期限:2008年4月26日まで
[5] その他の制限: 関数と再帰法を使って完成させるそうです,関数辺りが全く分からないので,よろしくお願いします.

428 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 21:48:11 ]
>>427

倫理的によくないと思います。

429 名前:デフォルトの名無しさん [2008/04/24(木) 21:56:58 ]
>>428
・・・・・・課題なので仕方ないんですよ.

430 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 22:05:19 ]
#include <stdio.h>

int num_of_pairs(int year)
{
int y, num;
if(year < 1)
return 0;
else if(year == 1)
return 1;
else {
num = 0;
for(y = 1; y < year; y ++)
num += num_of_pairs(y);
return num;
}
}

int main()
{
int y, num = 0, num_last;
for(y = 1; y <= 10; y ++) {
num_last = num;
num = num_of_pairs(y);
printf("\n%d年目のつがい数は%d", y, num);
if(num_last)
printf("で、前年の%f倍、", (double)num / num_last);
}
printf("\nかな?\n");
return 0;
}

431 名前:143 mailto:sage [2008/04/24(木) 22:08:28 ]
>>144
ありがとうございましたっ・・・と言いたいのですが、またクレームがきてしまいました;

>>149
いえいえ、わざわざ作っていただいたので、参考にさせていただきます。

>>150,152,155
ありがとうございましたっ、なんとか解決できそうです。

432 名前:デフォルトの名無しさん [2008/04/24(木) 22:15:19 ]
>>430
回答ありがとうございました,しかし実行したら

1年目のつがい数は1
2年目のつがい数は1で、前年の1.000000倍、
3年目のつがい数は2で、前年の2.000000倍、
4年目のつがい数は4で、前年の2.000000倍、
5年目のつがい数は8で、前年の2.000000倍、
6年目のつがい数は16で、前年の2.000000倍、
7年目のつがい数は32で、前年の2.000000倍、
8年目のつがい数は64で、前年の2.000000倍、
9年目のつがい数は128で、前年の2.000000倍、
10年目のつがい数は256で、前年の2.000000倍、
かな?
と表示されました,10年目のつがいの数は55になるはずなので
ちょっと違っているみたいです.つがいの数はフィボナッチ数になる
らしく
1,1,2,3,5,8,13・・・と続くみたいなんです,すみません.



433 名前:425 [2008/04/24(木) 22:16:02 ]
プログラム機能仕様に、
「一覧ファイル(infile.csv)を開き、char型配のDATAに学籍番号を読み込む。」とありました。
説明不足で申し訳ないです。

434 名前:425 [2008/04/24(木) 22:18:30 ]
>>426
アンカーつけ忘れました。すいません

435 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 22:24:13 ]
>>432
そっか、各世代がまた産むからと思って、足しすぎた。
num_of_pairs(year - 2)が生まれる全数だね。

int num_of_pairs(int year)
{
if(year < 1)
return 0;
else if(year == 1)
return 1;
else
return num_of_pairs(year - 2) + num_of_pairs(year - 1);
}

436 名前:デフォルトの名無しさん [2008/04/24(木) 22:26:45 ]
>>435
これで何とか間に合いそうです.完璧な回答ありがとうございました!

437 名前:426 mailto:sage [2008/04/24(木) 22:32:59 ]
>>434
今ひとつ、はっきりしません。
問題を全部さらしていただくとありがたいのですが。

438 名前:デフォルトの名無しさん mailto:age [2008/04/24(木) 22:36:17 ]
[1] 授業単元:Cプログラミング言語
[2] 問題文(含コード&リンク):
@kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6330.txt
Akansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6331.txt
[3] 環境
 [3.1] OS: (Windows)
 [3.2] コンパイラ名とバージョン:CPad for Borland
 [3.3] 言語: (C)
[4] 期限:明日まで
[5] その他の制限:txt参照

連投ですいません。前回質問させていただいたのですが、また質問させてもらいます。
@で有効範囲外に数字以外が入ると、エラーを起こしてしまい
数字以外を無視するということができなかったのですが、どうすればいいでしょうか?
@プログラムとして見づらいとこのことで、少し修正もできればよろしくお願いします。

そしてAの方なのですが、nを使用してとのことで>>144さんのやり方をしたのですが、
どうもa自体を使うなとのことだったので、少しいじってみたのですが、
警告 W8008 wa_prc19.c 30: 条件が常に真(関数 main )
警告 W8008 wa_prc19.c 30: 条件が常に真(関数 main )
警告 W8066 wa_prc19.c 31: 実行されないコード(関数 main )
と出てしまい、書き方が悪かったせいで、反転作業が常に0に;
そして、先ほどの@とは逆に、
例)255asdと書くとそのまま255で処理してしまい、不正入力として扱わない。
  256はエラーだが、2550は255の処理をする。
といった感じになってしまってます。

今日中で申し訳ないのですが、よろしければよろしくお願いします。

439 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 23:13:22 ]
>>438
@ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6332.txt

440 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 23:20:36 ]
>>425
当方で確認した環境は WindowsXP, 処理系は cygwin(gcc 3.4.4) です。
とりあえず、「char 型配列 である DATA に順に格納する」ことにして作成しました。
プログラムの最後で、char DATA[] の中身を画面に出力させています。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6333.txt

441 名前:425 [2008/04/24(木) 23:27:06 ]
>>437
えっと、作業をチームで分担していて自分は学籍番号検索処理を任されています。
全体的なプログラム内容は、一覧ファイル(infile.csv)に生徒の情報(グループ名、学籍番号、名前など)を登録していくことです。
その際、学籍番号は入力必須で、検索機能を使うことで重複していないか確認するというものです。
現在、手元にプログラム設計書のプログラム機能仕様書しかないのでとりあえずこれを書き出します。(機能仕様書は講師の方に一応okをもらいました)

概要:学籍番号欄に入力されたデータ(char型配列)が学生の一覧ファイルに入っているかの判定処理。
関数名:int GKS(char *value) //学籍番号のみをMAIN関数から受け取って使う。
戻り値:int error_no //初期値0のエラー判定フラグ
引数:*value //ブラウザから学籍番号欄に入力されたchar型配列データ。
詳細:@MAIN関数からvalueを受け取る。
A一覧ファイル(infile.csv)を開き、char型配列のDATAに読み込む。
A-1 temp.csvを開く。
Binfile.csvの学籍番号とvalueを比較する。
B-1 valueと一致するデータがある場合、該当する全データ(グループ名、学籍番号、名前等)をtemp.csvに書き込む。
B-2  valueと一致するデータがない場合、int型error_noに”1”を格納する。
C一覧ファイル、temp.csvを閉じる。
DMAIN関数に、error_noを渡す。

プログラミング初心者で説明できることもこのくらいしかなく申し訳ないです。
分からなければそれはそれで結構ですので分かった場合のみ解答お願いします。
今日中と書きましたが2時頃まで待ちます。もしくは明日の朝に確認します。


442 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 23:28:10 ]
>>439
横から口出してもうしわけないけど
欲を言えばinputIntの戻り値はenumにするともっとまとまると思うよ。

キレイなコードごちそうさまでした。



443 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 23:33:31 ]
ケツから押し込むようで申し込みたいんだけど
欲を言えばisdigitでも使っておk

444 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 23:34:42 ]
>>438
んー、これの一部は、私が書いたものですね。
@では、cnt が 0〜7 の間のときに数字以外のものが入力されたら err = 1 とすればいいのではないでしょうか。

Aでは cnt は使わなくてもいいと思います。
またまた同じことを言うのはもうしわけありませんが、
同じような処理(二進数を表示する)は、サブの関数にするのがわかりやすいと思うのですが、いかが?
「n を左にシフトさせる -> 表示する -> また右にシフトして元に戻す。」
とするくらいならば、
「n を左にシフトさせた結果をサブの関数に渡す。サブの関数は渡された値を表示する。」と考えるのです。
メインでは n の値自身は変化しないので、「元に戻すためにシフトする」必要がなくなると思います。
全ビットを反転させる演算子は ^ ではなくて ~ です。

当方で確認した環境は WindowsXP, 処理系は cygwin(gcc 3.4.4) です。
@ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6335.txt
A kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6336.txt

445 名前:439 mailto:sage [2008/04/24(木) 23:37:31 ]
>>438
A
問題点を挙げるので、それぞれ理解してください。
・入力処理でunsigned charに入れると、256以上が入らないので、エラーチェックができない。
・不正文字のチェックがif(cnt<3)の中に入っているので、4文字目以降をチェックしていない。
・unsigned charの上限は255なので、if(n>255)の条件は絶対に成立しない。(警告の原因)
・nを直接左シフトすると、右シフトしても左端のビットは戻ってこない(必ずビットは0)。
・n^=n は、n=n^nと等価。n^nは必ず0になる。^は排他的論理和。
・printfの引数にnは3つもいらない(実害無し)

ということで、はいデバッグ済みのソース
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6334.txt

>>442
それは思ったが、当人のレベルを考えて控えた・・・。

446 名前:425 [2008/04/24(木) 23:37:32 ]
>>440
ありがとうございます!明日これでやってみます。
説明不足でほんとすいませんでした。

447 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 00:00:56 ]
>>441
では、GKS() 自体については私はくわからないので、すみませんが考えていただくことにして、
「GKS() を動作させる準備として、配列 DATA[][] に infile.csv の学籍番号データを読み込んでおく」プログラムを up します。

DATA は、DATA[i][1024]にして、
一人目の学籍番号は DATA[1][0]〜DATA[1][学籍番号の桁数 - 1] に記録、
二人目の学籍番号は DATA[2][0]〜DATA[2][学籍番号の桁数 - 1] に記録、
...
i 人目の学籍番号は DATA[i][0]〜DATA[i][学籍番号の桁数 - 1] に記録,

としました。

確認した環境は WindowsXP, 処理系は cygwin(3.4.4) です。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6337.txt

448 名前:TT mailto:s_040095@hotmail.co.jp [2008/04/25(金) 01:46:08 ]
「Continue文」を使った宿題が出ました
内容が「60点以上を合格とし、合格者の平均点を出力する」です
誰かソースを教えて下さいm(_ _)m

449 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 01:49:20 ]
>>1を読んで書き直し

450 名前:デフォルトの名無しさん [2008/04/25(金) 02:07:32 ]
>>436
内部はやっぱり頭悪いなw

451 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 05:00:29 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6339.txt
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2008年4月25日22:00まで
[5] その他の制限:先生が言ってたヒントでは問1は二重ループを、
         問2はメモリの動的確保を使えばいいということです。

自分でもかなり考えたのですが結局どうやればいいのか分かりませんでした…。
よろしくお願いします。

452 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 05:41:34 ]
>>451
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int myStrstr(char *strA, char *strB){
int i, j, pos;
pos = -1;
for(i=0; strA[i] != '\0'; ++i){
if(strA[i] == strB[0]){
for(j=1; strB[j] != '\0' && strA[i+j] == strB[j]; ++j);
if(strB[j] == '\0'){
pos = i;
break;
}
}
}
return pos;
}
char* strDouble(char *strA){
char *p;
int i;
p = (char*)malloc(sizeof(char) * (strlen(strA) * 2 + 1));
if(p == NULL) return NULL;
for(i=0; strA[i] != '\0'; ++i){
p[i*2] = strA[i];
p[i*2+1] = strA[i];
}
p[i*2] = '\0';
return p;
}








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<147KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef