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


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

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



1 名前:デフォルトの名無しさん [2008/12/16(火) 19:45:29 BE:198809273-PLT(36020)]
あなたが解けない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++の宿題を片付けます 119代目
pc11.2ch.net/test/read.cgi/tech/1228313292/

231 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:11:29 ]
>>225
右にずらすって考え方がそもそもおかしい。
元の素数に数値を足してそれが素数か判定してくのが早い。

232 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:12:18 ]
>>231
問題文がそうなんだが?いちいち五月蝿いなぁ、あんたは。

233 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:15:19 ]
いやいや、>>231じゃないが、そういう順で判定を行えとは書かれてないよ。
そういう形の数であるかどうかだけなので、組み立てた結果そういう数字になっているというのもありだと思う。
が、そっちの方が速いかどうかは俺には分からん。

234 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:16:20 ]
>>219
実行速度確認したかったけどコンパイルできなかった…
Borland C++なんですけど

235 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:17:28 ]
long longをintにすれば?

236 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:18:16 ]
それまで求めた素数を10倍して、10未満の素数を足してそれが素数か?
それを繰り返せばおkってか?

237 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:19:59 ]
10未満の素数ではなく、1 3 7 9 について吟味すればいいんじゃないかな。

238 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:22:31 ]
>>235
ありがとうございます!神よ!

239 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:37:43 ]
[1]授業単元:C言語
[2]問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8381.txt
[3]環境
[3.1]OS:windows XP
[3.2]コンパイラ名: visualC++2005
[3.3]言語:C
[4]期限:2008年12月18日AM7時30分まで
[5]特にありません,よろしくお願いします。




240 名前:デフォルトの名無しさん [2008/12/17(水) 23:37:47 ]
[1]授業単元:プログラミングC
[2]問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8382.txt
[3]環境
[3.1]OS:windows XP
[3.2]コンパイラ名: gcc
[3.3]言語:C
[4]期限:2008年12月20日 18時30分

よろしくお願いします



241 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:40:55 ]
[1] 授業単元:プログラミングU
[2] 仕様に基づいたシミュレーションプログラムを作成し、シミュレーション結果をExcelでグラフにしなさい。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8383.txt
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:Microsoft Visual Studio .NET 2003
 [3.3] 言語:c言語
[4] 期限:12月18日

よろしくお願いします

242 名前:191 mailto:sage [2008/12/17(水) 23:48:08 ]
レス遅くなりました  ごめんなさい

>>213,217,218
ですね。
最後の素数は、 999962683 です。

桁制限を外せば、
全部で 4260 個で
最後の素数は、357686312646216567629137 (24桁)だそうです。
どちらも有限集合なんですね。


にしても、回答が速いですね。
すごい。

>>216
32ビット CPU 動作周波数1GHz 以上を想定してました。

>>233 さんの言う通り、
求め方を指定したつもりは無かったです。

>>219
一桁の素数はハードコーディングでもよかった・・・スミマセン


243 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:49:37 ]
999962683 > 99996268 < ん?

244 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:51:43 ]
9999626 < んん?
999962 < んんん?
99996 < んんんん?
9999 < んんんんん?
999 < んんんんんん?
99 < んんんんんんん?
9 < えっ!?


245 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:51:48 ]
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):
数学と英語の成績の2つのファイルを読んで処理する。

数学の成績ファイル math.txt の各行は「学生番号」「名前」「数学の得点」のデータがあり

英語の成績ファイル english.txt は「学生番号」「名前」「英語の得点」のデータがある。

2つのファイルの行数は同じ。原則的に学生も同じ順序だが、いくつかは間違っている。

2つのファイルを読み込み、両ファイルで学生番号が一致する学生は「2科目得点の和が140点以上」

かを判定し、そうなら「学生番号」「名前」「数学の得点」「英語の得点」「合計得点」を、

不一致ならば「<番号>と<番号>で一致せず」を1行でreport.txtという名のファイルに出力。

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限: 2008年12月18日12時00分

246 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:56:35 ]
>>243
2種類あるから。。

247 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:57:47 ]
>>242
へええ、有限なんだねぇ。
そりゃそうか、と納得する一方で、なんか残念な気持ちも。

248 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 00:14:45 ]
麻呂の会社は有限でおじゃるが、残念でもないでおじゃるよ。

249 名前:デフォルトの名無しさん [2008/12/18(木) 00:26:52 ]
[1] 授業単元:データ構造とアルゴリズム
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8384.txt
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8385.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: 明日の12時まで
[5] その他の制限:特になし




250 名前:デフォルトの名無しさん [2008/12/18(木) 01:20:48 ]

p1-up.axfc.net/uploader/He/
[1] 授業単元:
[2] 構造体の配列を作った住所録(メニューを使った選択式)
  関数を使ってプログラムの最初にファイルを呼び出し 入力ファイルから構造体を読み込む(readモード)
    メニューから終了を選ぶと配列からファイルへ出力
 
[3] 環境:普通
 [3.1] WindowsVista
 [3.2] visualstudio 2005
 [3.3] 言語 C
[4] 期限: ([2008年12月18日12:00まで]
[5]住所録のcppファイルは↓にうpしてあります キーワードは「C言語」です
p1-up.axfc.net/uploader/He/upload.cgi?1229529794103920171

251 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 02:08:15 ]
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):下のレス
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2008年12月24日 13:00
[5] その他の制限: ヒントを使って作るらしいです。よろしくお願いします。

252 名前:251 mailto:sage [2008/12/18(木) 02:10:48 ]
[2]問題文
下記プログラムは 文字列Tokyo を逆順に表示するプログラムである.

#include<stdio.h>
main()
{
static char string[ ]=“Tokyo”;
char *cp;
cp = string + 6;
while(--cp >= string)
putchar(*cp);
putchar(‘\n’);
}

実行結果
oykoT

上記プログラムを関数recpy()を作成して書き直しなさい.main関数をヒントに示す.データのやり取りにはポインタを用いること

253 名前:251 mailto:sage [2008/12/18(木) 02:11:20 ]
関数作成のヒント
*ptr1 *ptr2 tempc  の3つの変数を宣言して使用する.
逆に表示させるためには,文字の入れ替えをしなくてはならない.ソートプログラムを思い出す.

char *recpy(ptr)
char *ptr;
{
char *ptr1, *ptr2, tempc;
ptr1 = ptr2 = ■■■ ここは考える ■■■;
while(■■■ ここは考える ■■■){
■■■ ここは考える ■■■
}
--ptr2;
while(■■■ ここは考える ■■■)
{
文字列の入れ替え
}

254 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 02:24:43 ]
スレ違いで申し訳ありませんが、>>191 の答えのソースはありますか?
自分でも作ってみましたが、83個でしたが、昇順に並べるところまでは出来なかったものでして。

255 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 02:54:25 ]
どうスレ違いか分からないが、>>191が満足してるということはどこかにうまく動作するコードがあるだろう。
そのコードを入手、提出することで>>254 >>191のいずれかまたは両方の評価が下がるだろう。

256 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 02:55:32 ]
>>255
> どうスレ違いか
宿題じゃないから。ある人が出した、突発的な課題だから。

257 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 02:56:38 ]
授業単元が暇つぶしだw

258 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 02:58:12 ]
>>255
> のいずれかまたは両方の評価が下がるだろう。
なんで評価が下がるか、こっちの方が分からんわ・・・

259 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 03:29:21 ]
同じコードが複数提出されたらそりゃ減点だろ



260 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 03:31:45 ]
>>191 なんか乗り遅れて悔しいぜ。 昇順にしてない分だけ >>219 より早いかもしれない
#include<stdio.h>
#include<time.h>
int isprime(int value){
int i;
if(value<=1) return 0;
if(value%2==0) return value==2;
for(i=3;i*i<=value;i+=2) if(value%i==0) return 0;
return 1;
}
void foo(int value, int digit, int maximum){
int i, next_value;
if(isprime(value)){
printf("%d\n", value);
if(value>=maximum/10) return;
next_value=value, digit*=10; // こっちが左から消しても素数
// next_value=value*10, digit=1; // こっちが右から消しても素数
for(i=1;i<=9;i++){
next_value+=digit;
if(next_value>maximum) return;
foo(next_value, digit, maximum);
}
}
}
int main(void){
int i;
clock_t s;
s=clock();
for(i=1;i<=9;i++) foo(i, 1, 1000000000);
printf("%.3f[sec]\n", (double)(clock()-s)/CLOCKS_PER_SEC);
return 0;
}

261 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 03:37:55 ]
>>260
右からのは83個と少ないから速いね。自分のも>>260のも、自分の環境では
0 〜 15ms で終了してるから、ほぼ処理時間は同じかな。自分も並び替えてはいないけど。

262 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 03:48:27 ]
>>226
エラトステネスの篩でやってみた
10^9 以下の素数をすべて求める段階だけで 60 秒かかる (PentiumM 1.7GHz)
素数テーブルが完成した後から時間を計ると早い(0.10秒)けどねw

263 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 04:01:54 ]
>>262
すまん、思いつきで言ったが、明らかに効率が悪いとすぐに分かったw

264 名前:250 [2008/12/18(木) 04:04:06 ]
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=8352
さっきつながらなかったので送れてしまいましたがうpしました。
お願いいたします

265 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 05:10:07 ]
>>209=>>90
てんめぇ、せっかく人が作ってやってんのに、同じ宿題書き込んでんじゃねーよ。
10個程度しかレス見られないのかよ、カス。

266 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 05:51:12 ]
同じ学校の別の生徒だろ

267 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 05:59:02 ]
>>229
>>239
>>240
>>241
>>245
>>249
>>251



268 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 06:11:42 ]
[1]授業単元:C言語
[2]問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8392.txt
[3]環境
[3.1]OS:windows XP
[3.2]コンパイラ名: visualC++2005
[3.3]言語:C
[4]期限:2008年12月18日AM8時00分まで(それか昼まで・・)
[5]急で申し訳ないのですがよろしくおねがいします


269 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 06:24:24 ]
>>268
#include<stdio.h>

int main(void)
{
unsigned int x=0x10fa; /*演算対象の初期化*/
unsigned int y=0x000F;

printf("%X AND %04X : %04X\n",x,y,x&y);
printf("%X OR %04X : %04X\n",x,y,x|y);
printf("%X XOR %04X : %04X\n",x,y,x^y);
printf("%X >> 2 : %04X\n",x,x>>2);
printf("%X << 2 : %04X\n",x,x<<2);
return 0;
}




270 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 06:25:12 ]
スイマセン、どなたか
>>239 の方を解いてもらえないでしょうか?

271 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 06:38:13 ]
>>239(あまり検証してない)

#include <stdio.h>

#define NINZU 3
#define KAMOKU 4

int main()
{
int ten[NINZU][KAMOKU]={ /*国語、算数、理科、社会の順に格納*/
{69,62,68,72}, /*伊藤くんの成績*/
{28,100,88,48}, /*田中さんの成績*/
{60,48,65,76}}; /*林くんの成績*/
int total = 0; /*合計点数*/
int i, j, all60over;

for (i=0; i<NINZU; i++) {
total = 0;
all60over = 1;
for (j=0; j<KAMOKU; j++) {
total += ten[i][j];
if (ten[i][j] < 60) all60over = 0;
}

if (total >= 260 || all60over) {
printf("OK\n");
} else {
printf("NG\n");
}
}
return 0;
}

272 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 06:55:16 ]
>>268
っつか、演算子を使わずに実装しろってオチは無かろうな?

273 名前:268 mailto:sage [2008/12/18(木) 07:15:39 ]
>>272
ハイ、それはないです。

274 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 07:53:27 ]
>>240
それくらい短い問題文なら、upローダ使わなくて、直接書いても大丈夫だと思う。
#include <stdio.h>

int getTeenagerCount(int *age){
return *age<0?0:(*age/10==1)+getTeenagerCount(age+1);
}

int main(){
int age[] = {18,29,10,19,22,9,20,-1};
printf("The number of teenager:%d\n",getTeenagerCount(age));
}

275 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 09:12:37 ]
>>264
どれ?

276 名前:250 [2008/12/18(木) 10:59:58 ]
8391zip 住所録 と書いてあるものです

277 名前:デフォルトの名無しさん mailto:age [2008/12/18(木) 11:40:27 ]
>>245のものですが
リミットが迫ってるので出来るだけ早くお願いします。

278 名前:250 [2008/12/18(木) 12:25:46 ]
リミット過ぎてしまいましたが
もしよろしければ引き続きお願いたします<(_ _)>

279 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 12:37:59 ]
「2科目得点の和が140点以上」かを判定したらどうするの?
入力はどんな形式のファイルになっているの?
入力は正しい形式になっていると仮定してもよいの?



280 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 12:43:50 ]
>>277
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8393.txt

281 名前:166 mailto:sage [2008/12/18(木) 12:44:27 ]
>>167
習ってない関数が多いので、だめだと言われました・・・

すみませんが、もう一度お願いします。

282 名前:デフォルトの名無しさん mailto:age [2008/12/18(木) 12:53:25 ]
>>280
ありがとうございます。

283 名前:デフォルトの名無しさん [2008/12/18(木) 13:20:40 ]
>>245
ファイル形式はcsvでよろしいでしょうか?


284 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 13:26:32 ]
>>281
習ってない関数ってどれのことだよ

285 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 13:39:17 ]
カマかけられたんじゃないの?

286 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 13:42:58 ]
前スレ972のどこに習ってない関数が・・・

287 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 14:03:24 ]
>>278
そもそも課題の内容が分からないし、
そのコンパイルも通らないファイルをどうしたいのかさえ

288 名前:281 mailto:sage [2008/12/18(木) 14:23:38 ]
>>284
>>286
const、boolなどです。

というより、例あるのだから、それにあてはめてやれと言われました。

289 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 14:40:34 ]
>>288
自分で当てはめればいいだろ



290 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 14:45:42 ]
>>229をよろしくお願いします

291 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 14:59:36 ]
>>290
はじめのは
GET /
が見つからなかったときに無限ループしてるんじゃないかと思った。
後のは、無限に読み込もうと待ってる気がする。
UNIXプログラムはうろ覚えだから的外れだったらごめんw

292 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 15:00:35 ]
>>290
>後、のこった要求を
何が残る予定なんだ?

293 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 15:35:44 ]
>>292
client側から以下(client.cの76,77行目)でGET /%s HTTP/1.1\r\nHOST: %s\r\n\r\nを送信します
size = sprintf (str, "GET /%s HTTP/1.1\r\nHOST: %s\r\n\r\n", url.path, url.host);
write (s, str, size+1);

server側はこれを受け取って処理するんですが
パスだけ取得できればいいんで、はじめは、fgets (str, STR_SIZE, ns_read);でGET /%s HTTP/1.1だけ読み込んで
そこからパスを取得してそれ以降の処理をしてました
でも、どうやらclient側から送信された文字列を全部受け取らずにそれ以降の処理に進むとパイプ破壊のエラーが出ることが分かったんで、
while(fgets (str, STR_SIZE, ns_read));でclient側から送信された文字列を全て(残りの”HOST: %s\r\n\r\n”の部分)取得しようとしたら、このwhile分の2回目のループのfgetsの部分で
止まってそれ以降プログラムが動かないみたいなんです
とりあえず、while(fgets (str, STR_SIZE, ns_read));をfgets (str, STR_SIZE, ns_read);に書き換えればパイプ破壊も起きず問題なく動くんですが、
ネット上のechoサーバサンプルコード見てても、特に何が原因でこうなってるのかよく分からなかったので質問させてもらいました

>>291
一応それ以降まで進んでることは確認してます
”HOST: %s\r\n”も読み込んで次に実行されたfgetsで止まってる見たいです

294 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 15:58:53 ]
>>293
>止まってそれ以降プログラムが動かないみたいなんです
client側が次に何か送って来るのを待っているんだから

295 名前:182 [2008/12/18(木) 16:01:54 ]
int i=0,j=0,//イテレータ
jousu[10],//乗数を格納
TEMP;//ソート用
char bunkatsu[10][NAGASA] = {},//別けた式を格納
TEMP_MOJI[10][NAGASA] = {};
for(i=0;i<tate-1;i++){
for (j=tate-1;j>i;j--){
if (jousu[j-1] < jousu[j]) {//前の要素のほうが大きいなら

//乗数配列の交換
TEMP = jousu[j];
jousu[j] = jousu[j-1];
jousu[j-1]= TEMP;

//分割式配列の交換
TEMP_MOJI[j] = bunkatsu[j];
bunkatsu[j] = bunkatsu[j-1];
bunkatsu[j-1] = TEMP_MOJI[j];
}
}
}
これでソートしようと思ってるんだけど、分割式配列の交換で代入できない型ってエラーが出ます。
char型で統一してるのに駄目なの?

296 名前:デフォルトの名無しさん [2008/12/18(木) 16:05:17 ]
>>295
プログラム全体を貼り付けてよ
できればうpろだに

297 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 16:10:53 ]
>>293
>>291だけど、言いたかったのは>>293がうまく言ってくれたw
ns_readから読み込むと、普通のファイルと違ってパイプから読みこむから、読み込みたいときにパイプが空っぽだと、誰からパイプに入れてくれるのをずっと待ってるんだよ。

298 名前:デフォルトの名無しさん [2008/12/18(木) 16:38:48 ]
[1] 授業単元:
[2] 問題文(含コード&リンク):
「エラトステネスのふるい」は素数を求めるアルゴリズムです。
このアルゴリズムを用いて、100までの素数をすべて表示する
プログラムを作成してみよう。
(ヒント)
101個の配列aを用意して、添字2〜100を数として扱います。
数2がふるいに入っている状態はa[2]=1、ふるいから取り
除かれた場合はa[2]=0となるようにします。
[3] 環境
 [3.1] OS: (Windows)
 [3.2] コンパイラ名とバージョン: (gcc32)
 [3.3] 言語: (C)
[4] 期限: ([2008年12月20日18:00まで] )
[5] その他の制限: (なし)


299 名前:デフォルトの名無しさん [2008/12/18(木) 16:50:55 ]
[1] 授業単元:
[2] 問題文(含コード&リンク):
year年 month月のカレンダーを表示するプログラムを作成してみよう。
ヒント
次の関数を作ってカレンダーを作成してみよう。
int leap(int year)  閏年の判定
int days(int year,int month) year年(month-1)月終了時までの日数のずれ
void cal_print(int year,int month) year年month月の表示
[3] 環境
 [3.1] OS: (Windows)
 [3.2] コンパイラ名とバージョン: (gcc32)
 [3.3] 言語: (C)
[4] 期限: ([2008年12月20日18:00まで] )
[5] その他の制限: (なし)





300 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 17:05:54 ]
>>299
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8394.c

301 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 17:11:15 ]
>>298
#include <stdio.h>

int main(void)
{
int i, j;
int a[101];

for(i=2; i<101; i++)
a[i] = 1;

for(i=2; i<=10; i++){
for(j=i+1; j<101; j++){
if(j%i == 0){
a[j] = 0;
}
}
}

for(i=2; i<101; i++){
if(a[i]){
printf("%d\n", i);
}
}

return 0;
}

302 名前:301 mailto:sage [2008/12/18(木) 17:19:13 ]
間違えた
for(i=2; i<=10; i++){
if(a[i]){
for(j=i+1; j<101; j++){
if(j%i == 0){
a[j] = 0;
}
}
}
}

303 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 17:20:18 ]
>>301 ちょっとふいたw 答えは合っているが、ちょっと違う。

304 名前:デフォルトの名無しさん [2008/12/18(木) 17:20:27 ]
>>296
お願いします。

www.uploda.org/uporg1864479.c.html
パス:1111

305 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 17:20:38 ]
>>229
クライアントの write (1, str, size+1);も変だな。サイズ大きすぎるだろ。

306 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 17:27:38 ]
>>298
#include <stdio.h>
#define MAX 101
int main(void) {
int i,j,k;
int a[MAX]={0,0,1};
for(i=3; i<101; i++) a[i] = 1;
for(i=2; i<=10; i++) {
if(a[i]==1) for(k=i,j=i*2; j<101; j+=k) a[j] = 0;
}
for(i=2; i<101; i++)
if(a[i]) printf("%d ", i);
return 0;
}


307 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 17:29:03 ]
>>298
#include <stdio.h>
#define MAX 101
int main(void) {
int a[MAX]={0,0,1},i,j,k;
for(i=3; i<MAX; i++) a[i] = 1;
for(i=2; i*i<=MAX; i++) { if(a[i]==1) for(k=i,j=i*2; j<101; j+=k) a[j] = 0; }
for(i=2; i<MAX; i++) if(a[i]) printf("%d ", i);
return 0;
}


308 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 17:38:51 ]
struct Point
{
int x;
int y;
}p;
int length_vector(struct Point p)
{
int a,b,c,d;

a=pow(p.x , 2 );
b=pow(p.y , 2 );

c = a + b;
d =sqrt(c);
return d ;
}

int main(void)
{
struct Point p;

printf("Input Point X: ");
scanf("%lf", &p.x);
printf("Input Point Y: ");
scanf("%lf", &p.y);

print_v(p); /* print_vを使用して,座標の表示 */
    printf("The length of vector: %f\n", length_vector(p) );
return 0;
}
なぜ動かん!

309 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 17:45:18 ]
print_v()を定義していないし、整数型じゃなくて浮動小数点型を使うべき



310 名前:デフォルトの名無しさん [2008/12/18(木) 18:03:36 ]
>>300
ページを開くことができませんでした…

311 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 18:04:04 ]
>>310 嘘は言わなくて良いから。

312 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 19:29:35 ]
>>215
ありがとうございマス!

313 名前:デフォルトの名無しさん [2008/12/18(木) 19:33:38 ]
>>245の者ですが>>280で少し間違いがあったみたいなのでもう一度お願いします。
途中まで、あってるか確証はありませんが、自分でやったのでこの続きをお願いします。

#include<stdio.h>

int main(void)
{
FILE *fp1,*fp2, *fp3;
int num, math, eng, total;
char name[20];
fp1=fopen("/home/sample/PE1/2008/e12math.txt","r");
if(fp1==NULL){
printf("open error\n");exit(1);
}
fp2=fopen("/home/sample/PE1/2008/e12eng.txt","w");
if(fp2==NULL){
printf("open error\n");exit(1);
}
fp3=fopen("report.txt.","x");

while(fscanf(pf1,"%d %s %d",&num,name,&math)!=EOF){

314 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 19:48:12 ]
>>313
どう間違えてたの?

315 名前:デフォルトの名無しさん [2008/12/18(木) 19:51:22 ]
>>314
一致せずが1つあるはずなのになかった

316 名前:デフォルトの名無しさん mailto:age [2008/12/18(木) 19:52:40 ]
やり方も、できれば>>313のような漢字でお願いします

317 名前:デフォルトの名無しさん mailto:age [2008/12/18(木) 19:56:17 ]
>漢字
感じ

318 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 20:07:35 ]
何で英語が"w"ww

319 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 20:14:53 ]
>>316
どこら辺が>>313っぽくなればいいのかが読み取れないなぁ。
別に>>280と大差あるように見えない。

変数名をtypoしたりcloseをOS任せにする辺りが特徴?



320 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 20:34:32 ]
[1] 授業単元: 科学実習T
[2] 問題文: 16進数を入力するプログラムを作れ。
[3] 環境
 [3.1] OS: windows xp
 [3.2] コンパイラ名とバージョン:gcc -o
 [3.3] 言語: C言語
[4] 期限: 2008年12月31日23時59分
[5] その他の制限:scanfは使用禁止。よろしくお願いします。

321 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 20:37:55 ]
>>320
#include <stdio.h>
#include <stdlib.h>
int main()
{
char s[1000];
int x;
fgets(s, 1000, stdin);
x = strtol(s, NULL, 16);
return 0;
}


322 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 20:40:15 ]
>>320
#include <stdio.h>
int main()
{
char str[256];
unsigned int n;
fgets(str, 256, stdin);
sscanf(str, "%x", &n);
return 0;
}


323 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 21:23:54 ]
>>313=315であると仮定して

検証に使った math.txt と eng.txt
そして実際にはどういう結果(出力)が欲しかったのか
それを示さないと何とも言えない。

324 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 21:29:24 ]
math.txtに10人、eng.txtに11人あると最後の人が検出できなさそうにも見える

325 名前:280 mailto:sage [2008/12/18(木) 21:32:49 ]
今気づいたが29行目くらいに else を漬け忘れているような気がする
>>324
問題文に > 2つのファイルの行数は同じ とあるので。

326 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 21:43:49 ]
C言語にて、数列(12,43,17,23,57,50,17,41, 7,63)をクイックソートを用いて降順にソートしなさい。
なお、整列完了までの途中経過を表示せよ。

いろいろなサイトで公開されているクイックソート昇順のプログラムを弄ってみたのですが
どうしてもうまく行きません。よろしくお願いします。


また、このプログラムを改良し、左端・中央・右端の3要素の中をうちを枢軸
右端)とする
場合のプログラムを考えよ。

に関しては自分で考えてみるつもりなのですが、もし良ければお願いします

327 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 21:51:09 ]
>>325
ほんとだ。よく見ず難癖つけてすまんかった>行数

328 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 22:14:16 ]
>>326
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8395.c

329 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 22:24:35 ]
>>326 途中経過の表示を追加
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8396.c



330 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 22:38:43 ]
>>328,329
ありがとうございます。
ですが、今回は数列(12,43,17,23,57,50,17,41, 7,63)が指定されているので、
これをscanfでの入力もしくは、プログラム内に埋め込みという形で出来ないでしょうか?

331 名前:デフォルトの名無しさん [2008/12/18(木) 22:40:26 ]
授業単元:C言語
問題
0〜9、+、−、×、÷、(、)、を使った整数式を
ポーランド記法を使ったツリー構造に変換し出力。
さらに計算し解を出力するプログラムを作成。
ただし整数式は標準入力から式ブロックで入力され"quit"が
入力されるまで繰り返し入力できるものとする
※割り算によって発生する小数部は切り捨ててよい
※入力式の誤り判定は不必要とする
※ただし−符号は考慮すること
環境:WS
コンパイラ:gcc
制約:breakは原則使用禁止(Selectcase文は除く)
   scanfは使用禁止
以上です。お願いします






[ 続きを読む ] / [ 携帯版 ]

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

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