[表示 : 全て 最新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/

136 名前:デフォルトの名無しさん [2008/12/17(水) 15:47:10 ]
[1] 授業単元:
[2] 問題文(含コード&リンク):
aのx乗(a>0,a≠1,x∈Z)を求める関数power(a,x)を
作成してくなさい。
[3] 環境
 [3.1] OS: (Windows)
 [3.2] コンパイラ名とバージョン: (gcc32)
 [3.3] 言語: (C)
[4] 期限: ([2008年12月20日18:00まで] )
[5] その他の制限: (なし)

137 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 15:50:22 ]
>>136
返り値どうやって返せばいいの?

138 名前:デフォルトの名無しさん [2008/12/17(水) 15:51:14 ]
環境 unixだったけ? 言語: C 期限: 今日 12月17日16:30まで^^;
次のプログラムは、階乗計算の関数factを作りsin(x)をテーラー展開した式でsin(30°)をもとめるプログラムです、抜けている所があります。(___)を埋めて完成しなさい
           2k-1
5    k-1    x
Σ  (-1)     ーーーーーー
k=1       (2k-1)!
※うまく指数が表せませんでした、見にくくて申し訳ないです。
#include<stdio.h>
#include<(____)>
int (___)(int m);
int main(void);
int main(void){
double x, s;
int k;
x =(___*________________)/180.0;
s =(__);
for( k=__; k <=__ k++){
s__ pow(___,___)*pow(__,_______)/fact(____);
}
printf("sin=%.7__\n",s);
return(0);
}
int fact(int m)
{
int s = 1, i;
if (m___0) return (__);
else for(i=1;i<=m;i++) s (___) i;
return (___);
}

139 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 15:56:25 ]
授業中かよw

140 名前:デフォルトの名無しさん [2008/12/17(水) 15:59:25 ]
Unixな奴です。 C言語
1.正整数nを入力し、nまでで4で割り切れる数(4の倍数)の和を出力するfor文を利用したプログラムをつくりなさい
4+8+12+・・・・= ???
2.1の問題でfor文の変わりにWhile文を利用して作りなさい。
3.ある駐車場の駐車料金は、1時間(60分まで)350円で、以降15分ごとに90円です。
 入庫時刻と出庫時刻を入力し、駐車料金を算出すプログラムを作りなさい。
次のプログラムは、階乗計算の関数factを作りsin(x)をテーラー展開した式でsin(30°)をもとめるプログラムです、抜けている所があります。(___)を埋めて完成しなさい
です、お願いします。なにもわからず瀕死状態です。テスト中です;;

141 名前:デフォルトの名無しさん [2008/12/17(水) 16:05:10 ]
>136
全然わからないんです。
ヒントに
A=aのx乗
両辺の対数をとる
loge A=xloge a
となり
A=eのloge a
となる
log xはlog(x)と書く.

と書いてありました。


142 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 16:16:40 ]
>>136
#include <stdio.h>

double power(int a, int x)
{
if (x == 0) return 1.0;
if (x < 0) return power(a, x + 1) / a;
if (x > 0) return power(a, x - 1) * a;
}
int main()
{
printf("%g\n", power(2, -3));
return 0;
}


143 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 16:23:05 ]
>>140
今テスト中なの?

144 名前:テスト中 [2008/12/17(水) 16:23:45 ]
>>143
そうです>_<



145 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 16:24:24 ]
すげえ。

146 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 16:25:50 ]
そろそろタイムリミットなんじゃないの?テスト。
テスト中に2chリロードしまくってるとか超笑える

147 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 16:28:30 ]
提出の余裕をもってる可能性も考慮しろ

148 名前:テスト中 [2008/12/17(水) 16:29:05 ]
もう\(^o^)/ オワタ ...

149 名前:テスト中 [2008/12/17(水) 16:30:52 ]
ぐは OUT のゴング(チャイム)

150 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 16:41:27 ]
>>140 (1)
#include <stdio.h>
#define HOGE 4
int main(void)
{
  int n=50;
  int num;
  int result = 0;
  for (num = n / HOGE; num>0; num--)
    result += num * HOGE;
  printf("n=%d sum=%d\n", n, result);
  return 0;
}

151 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 16:42:17 ]
無茶しやがって・・・

152 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 16:42:42 ]
>>140 (2)
#include <stdio.h>
#define HOGE 4
int main(void)
{
  int n=50;
  int result = 0;
  int num = n / HOGE;
  while (num>0)
    result += num-- * HOGE;
  printf("n=%d sum=%d\n", n, result);
  return 0;
}

153 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 16:50:59 ]
[1] 授業単元:プログラミング演習
[2] 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8367.txt
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:Borland
  [3.3] 言語:C++
[4] 期限:2008年12月22日(12:00)までです。

よろしくお願いします。

154 名前:デフォルトの名無しさん [2008/12/17(水) 16:57:45 ]
>>128
1.
#include <stdio.h>

int main(void){
char c[100] = "";
int i;
printf("文字列を入力:");
gets(c);
printf("逆向き出力:");
for(i = 99; i >= 0; i--) putchar(c[i]);
putchar('\n');
return 0;
}



155 名前:デフォルトの名無しさん [2008/12/17(水) 16:58:42 ]
>>128
2.
include <stdio.h>

int main(void){
char c[100] = "";
char key;
int i, j = 0;
printf("文字列を入力:");
gets(c);
printf("文字key:");
key = getchar();
printf("文字%cの頻度=", key);
for(i = 0; i < 100; i++) if(c[i] == key) j++;
printf("%d\n", j);
return 0;
}


156 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 17:00:56 ]
>>140 (3)
#include <stdio.h>
int main(void)
{
  int time0, time1, temp;
  int result = 350;
  printf("入庫");
  scanf("%2d:%2d", &time0, &temp);
  time0 = time0 * 60 + temp;
  printf("出庫");
  scanf("%2d:%2d", &time1, &temp);
  time1 = time1 * 60 + temp;
  if (time0 >= time1)
    return 1;
  time1 -= (time0 + 60);
  if (time1 > 0)
    result += 90 * (time1 / 15 + 1);
  printf("%d円\n", result);
  return 0;
}

157 名前:デフォルトの名無しさん [2008/12/17(水) 17:09:50 ]
>>119です。
>>91をiostreamを使った型に>>95>>120を参考に書き直してみたのですが以下
のようなエラーが出ます。
21行目は「t-2?(cin >> p >>i),p+=i*9:):++p;」なのですが)の前に;を入れた
ら余計に沢山エラー文が出てしまいます。どうかお助けください!


#include <iostream>
using namespace std;

int p,t,a,d,c,v,i,m[90]={0},s,r[]={-10,-9,-8,-1,1,8,9,10};
void k(){if(m[p]==0)
for(i=0;i<8;i++){
for(c=0,v=p+r[i];m[v]==3-t;v+=r[i])c++;
if(c&&m[v]==t){a+=c;v=p;if(d)do m[v]=t,v+=r[i];
while(m[v]!=t);}}}
char*h="・○●\n";int main(){for(i=1,m[41]=m[49]=2;i<10;m[i++*9]=3)m[40]=m[50]=t=s=1;
for(;;a=d=0){for(p=9;p<82;++p)k(),cout<<h[m[p]*2];
if(a)
for(d=a=s=p=8;a==8;k())
t-2?(cin>>p>>i),p+=i*9):++p;else if(s)s=0,cout<<"pass";
else break;
t=3-t;
}return 0;}
エラー文
In function 'int main()':last.cpp:21: error:expected primary-expression before ')' token
last.cpp:21: error: expected `;'before ')' token

158 名前:デフォルトの名無しさん [2008/12/17(水) 17:14:35 ]
あ、改行が多すぎて書き込めなくて改行を消したので21行目ではないですが、該当ヶ所は同じです。

宜しくお願いします!

159 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 17:17:57 ]
括弧の数がおかしいじゃん
っつーか、やめとけ。

160 名前:デフォルトの名無しさん [2008/12/17(水) 17:23:03 ]
>>159
なにがやめとけなんですか?

161 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 17:23:44 ]
そんなペースでやってるようじゃらちがあかんということ。
1年ぐらいかけるつもりなら止めないけど

162 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 17:26:30 ]
レイアウトを整えて
変数の意味を理解し次第replaceして
短くするための記述方法を開く。i++*9とか。
理解してないうちにprintfをcoutにしてみました!とか何でそう無謀な方向に進むのかがわからんよ。

163 名前:デフォルトの名無しさん [2008/12/17(水) 17:38:54 ]
>>161-162
必修だから仕方なくやってるだけなんで、自分のものにしたいなんて思ってないんです。
どう直せばよろしいんでしょうか…('`)

164 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 17:44:24 ]
>>163
>必修だから仕方なくやってるだけなんで、自分のものにしたいなんて思ってないんです。
その心意気が気に入ったのでコンパイル時にエラーが出ないようにしといた。

#include <iostream>
using namespace std;int p,t,a,d,c,v,i,m[90]={0},s,r[]={-10,-9,-8,-1,1,8,9,10};
void k(){if(m[p]==0)for(i=0;i<8;i++){for(c=0,v=p+r[i];m[v]==3-t;v+=r[i])c++;if(
c&&m[v]==t){a+=c;v=p;if(d)do m[v]=t,v+=r[i];while(m[v]!=t);}}}char*h="・○●\n"
;int main(){for(i=1,m[41]=m[49]=2;i<10;m[i++*9]=3)m[40]=m[50]=t=s=1;for(;;a=d=0
){for(p=9;p<82;++p)k(),cout<<h[m[p]*2];if(a)for(d=a=s=p=8;a==8;k())t-2?(cin>>p
>>i),(p+=i*9):++p;else if(s)s=0,cout<<"pass"; else break;t=3-t;}return 0;}



165 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 17:48:59 ]
>>163
元のソースは他人のだな。

ttp://pc11.2ch.net/test/read.cgi/tech/1087979678/1-25

21

166 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 17:54:08 ]
前スレ868です。
遅くなってすみません。
970さん、ありがとうございました。
しかし、問題文が不十分だったため、もう一度お尋ねします。
すみませんが、よろしくお願いします。

[1] 授業単元:プログラミングII
[2] 問題文:
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8368.txt
[3] 環境
 [3.1] OS:WinVista
 [3.2] コンパイラ名とバージョン:VC++2008
 [3.3] 言語:C言語
[4] 期限:2008年12月17日18:00
[5] その他の制限:問題文のテキストファイルに、例を載せておきました。

何度もすみませんが、どうかよろしくお願いします。

167 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 18:00:22 ]
>>166
pc11.2ch.net/test/read.cgi/tech/1228313292/972
じゃね?

168 名前:前スレ987 [2008/12/17(水) 18:02:50 ]
何度もすいません。自分では解らないので
再度、できる方がいればよろしくお願いしますm(-_-)m

[1] 授業単元: プログラミングU
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8353.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] VC 6.0
 [3.3] 言語: C++
[4] 期限: 2008年12月17日3:00まで
[5] その他の制限:

課題2のみお願いします。
課題2で使う課題1のソースは自作して問題文に張っておいたので
それを使用して作成おねがいします。


169 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 18:03:46 ]
>>154-155
ありがとうございます!


170 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 18:06:11 ]
>>90
ほい。過去の資産流用。(笑)
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8369.c

後から表示例見たんで、もうそのままにしてある。
表示ぐらいは何とかしてくれ。必要な要素は揃ってるはず。
後、整数で計算ということだが、作ったテストデータで都合が悪かったんで、
double でやってる。これも気に入らんかったら変えてくれ。

しかしお前、誤字多いな。w

171 名前:デフォルトの名無しさん [2008/12/17(水) 18:06:57 ]
>>164
ありがとうございます!
>>165
このスレの119代目で教えてもらいましたw
そのスレの中身も参考になりました。どうやって動くか分からなかったのでw



あ、>>162さんの短くする方法を使って申し訳ないんですがまた書いて欲しいです…学校で習った記述と違う部分があるので…

本当にすいません'`


172 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 18:15:15 ]
>>163
なーんだ。じゃあそれが必修であるような学科に入ったのが間違いだよ

173 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 18:15:20 ]
>>153
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 128
#define Y 15
#define H 5
int main(void)
{
char buff[N];
int year[Y], height[H];
int i, j;
FILE *fp = fopen("cshukudai.csv", "r");
for (i = 0; i < Y; ++i) year[i] = 0; for (i = 0; i < Y; ++i) height[i] = 0;
while (fgets(buff, N, fp) != NULL) {
strtok(buff, ",");
year[atoi(strtok(NULL, ",")) - 1975]++;
height[(atoi(strtok(NULL, ",")) - 166) / 5]++;
}
puts("生まれた年のヒストグラム");
for (i = 0; i < Y; ++i) {
printf("%4d:", 1975 + i);
for (j = 0; j < year[i]; ++j) putchar('*'); puts("");
}
puts("\n身長のヒストグラム");
for (i = 0; i < H; ++i) {
printf("%3d-%3d:", 166 + 5 * i, 170 + 5 * i);
for (j = 0; j < height[i]; ++j) putchar('*'); puts("");
}
fclose(fp);
return 0;
}

174 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 18:16:32 ]
1箇所間違えてた
>for (i = 0; i < Y; ++i) year[i] = 0; for (i = 0; i < Y; ++i) height[i] = 0;
for (i = 0; i < Y; ++i) year[i] = 0; for (i = 0; i < H; ++i) height[i] = 0;




175 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 18:18:10 ]
>>153
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8370.txt

176 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 18:32:44 ]
>>153です

>>174さん
すいません、書くのを忘れていましたが
読み込みファイル(cshukudai.csv)の数値を変えると、表示結果も変わるようにするんでしたorz

例えば、生まれた年の最低値は1975年ですが
cshukudai.csvの誰か一人の生まれた年を1970年に変更すると
ヒストグラムは、1970:* 1971: 1972:... と表示されるようにしたいんです。

分かりにくくてすいません。。。

177 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 18:41:44 ]
>>176
>>175 のはそうなってる。レコード数は25で決めうちしてるけど

178 名前:168 [2008/12/17(水) 18:47:24 ]
期限は18日3時の間違えです
すいません

179 名前:デフォルトの名無しさん [2008/12/17(水) 19:19:41 ]
なんで7行オセロを宿題に出すの?自由課題なの?

180 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 19:20:12 ]
>>87
ありがとうございます、助かりました


181 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 19:53:23 ]
>>179
なんでそんな、個人的などうでも良い質問をして
宿題に答えるのとは直接関係の無いレスしてんの?
馬鹿なの?野次馬なの?

182 名前:前スレ866 [2008/12/17(水) 19:54:31 ]
[2] 問題文(含コード&リンク)
1.数式を入力する(例:x^2y^3 + 2x^2z^3 - y^5)
2.並び替える(優先順位:乗数が大きいものが先、乗数が同じ場合は係数が大きいものを優先する)
[3] 環境
 [3.1] OS: Windows
 [3.2] gcc
 [3.3] 言語:C
[4] 期限: 2008年12月17日
数式を読み込んで式を個別に別けるとこまでは出来たんですが、(x^2y^3, +2x^2z^3, -y^5)
この別けた式から係数と乗数をどのようにして摘出するかアドバイスもらえませんか?

183 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 19:54:37 ]
>>181
無能ほど退屈

184 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:10:52 ]
7行オセロとか変態的だからコピってもバレること請け合いなのに。



185 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:15:19 ]
前スレの931の方
どうもありがとうございます。

186 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:17:17 ]
[1]C
[2]kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8371.txt
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8372.txt
[3]LINUX
C
[4]6時間後(木曜日午前2時)
よろしくお願いします。

187 名前:デフォルトの名無しさん [2008/12/17(水) 20:18:27 ]
>>181
じゃあお前が7行オセロの宿題に答えてやれよwww

188 名前:デフォルトの名無しさん [2008/12/17(水) 20:23:41 ]
>>182
係数、xの乗数、yの乗数をひとまとめにしてスタックに入れてやればいいんじゃね?
xの2乗と1乗が同時に出ることがないのならば。

189 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:23:53 ]
>>181はコンパイルできなくてイライラがたまってきた質問者

190 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:35:01 ]
>>187
> じゃあお前が
ここは個人を指定、名指しして答えてもらうスレでもないんだが、
マジでスレタイと>>1が読めるようになってから、社会に出ろよ、ガキ

191 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:35:48 ]
[1] 授業単元: 暇潰し
[2] 問題文:

 9桁までの素数で、
  右から一桁ずつ桁数を減らしていった数が全て素数であるもの
 を昇順に全て出力する (1行に1つずつ)。
 最後に、1行空けて総数を出力すること。
 出力先は、標準出力のこと。

 例) 233 => 23x => 2xx
  23 や 2 も上記条件を満たす素数である。

 また、
  「左」から一桁ずつ桁数を減らしていった数が全て素数であるもの
 も同様に求めよ。

 例) 223 => x23 => xx3

[3] 環境
  OS,コンパイラは、特に指定しない。
 言語は、 C/C++ のどちらでも。
[4] 期限: 12/25
[5] その他の制限:
 プログラムの実行時間は、2秒以下とする。


192 名前:182 [2008/12/17(水) 20:37:29 ]
>>188
どうしたらいいですかね?
^の後の数字にしたら乗数が2桁以上のときに対応できないし…
文字列から数字だけを抽出する方法とかないですか?

193 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:39:32 ]
>>192
strto?()たとえば、strtol()で調べてみるといいよ。

194 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:40:02 ]
>>192
^の後ろに続く数字は全部乗数(っていうんだっけ?)として扱えばいいんじゃない?



195 名前:デフォルトの名無しさん [2008/12/17(水) 20:41:23 ]
>>192
いや乗数が2桁のときはスタックの考え方でいけるだろ
例えば1つ目の数値があったとして2つ目の数値が来たら
1つ目の数値×10+2つ目の数値を記憶するとか。

196 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:47:39 ]
[1] 授業単元:C++
[2] 問題文(含コード&リンク): ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8373.txt
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:VC 2005
 [3.3] 言語:C++
[4] 期限: 12月18日18:00迄
[5] その他の制限:strlenを使ってはいけない。for,if,while文は可。
よろしくお願いします。

197 名前:デフォルトの名無しさん [2008/12/17(水) 20:49:12 ]
>>196
同じ学校か?
>>154-155

198 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:52:44 ]
>>197
!?
うわ、見てませんでした。すいません。
ありがとうございます。

199 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 21:13:14 ]
>>196 きんもぉ〜★なクソースでおじゃる。
他人と似たソースを提出したら、疑われるでおじゃるよ。
麻呂のソースを採用してたもう。

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8374.c

200 名前:デフォルトの名無しさん [2008/12/17(水) 21:15:44 ]
>>199
これまた酷いクソースだなwww

201 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 21:15:52 ]
>>191
1個目は166個?

202 名前:201 mailto:sage [2008/12/17(水) 21:19:29 ]
83に訂正!


203 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 21:22:16 ]
>>196 2つめのクソースでおじゃる。チムポファイルを使うでおじゃるよ。
さすれば、環境によるけど、文字数の制限は気にせず、チムポファイルの
許容範囲にまで広がるでもじゃる。

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8375.c

204 名前:デフォルトの名無しさん [2008/12/17(水) 21:24:31 ]
>>199 >>203
いちいちファイルに読み書きしてるのかよ



205 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 21:30:41 ]
>>204
いちいち文字配列に書き込むのは良いのかよ?
どちらにしろ、一時的に記憶領域を確保して記録している点は同じだろ。
意見するにしても、考えが浅はか過ぎるんだよ、未熟者ってのは。
自分がそうしないこと=ありえない、間違っているという考えは、
多様化する社会では通用しない、孤立する考え、思想。

206 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 21:33:11 ]
まぁ、この世は不平等でも、C言語のライブラリは開発環境さえあれば、
誰でも同じものを共通して利用することが出来る。
しかし、経済力や技術力の差で、一般ピーポー君は
いくら高性能なエンジンを積んでも、混雑する路上を移動。
一方、金持ち、ヘリの免許とヘリを所有している大企業の社長は
昼食のために、ヘリで移動。費用は雲泥の差だがなw
そういうこと。

207 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 21:33:26 ]
独走過ぎて他人に読めないソース書かれても困ったもんだがなw

個人的にはあのクソースはGJだとは思うがwww

208 名前:191 mailto:sage [2008/12/17(水) 21:36:53 ]
>>202
83 で正解です。
因みに、最後(83番目)の素数は、73939133。


209 名前:デフォルトの名無しさん [2008/12/17(水) 21:39:46 ]
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
「果物名 単価 個数」の形式の取引のデータのファイルを読み込む。ファイルを読み込み終わった後に、「取引の総数」、

「合計の金額」、「金額が最大であった取引の(整数計算でする)」、「1取引あたりの平均金額(整数計算でする)」、

「金額の最大であった取引(最初を1とする)の番号」と「その金額」をprintfを用いて標準出力に表示するプログラムを作れ。

入力データファイルには /home/sample/PE1/2008/e12.txt を用いる。(ファイル名はfopenの因数に文字列定数として書いてよい)

ファイルの全データを格納できるような大きな配列を用いてはいけない。(平均は、金額の合計と取引の総数から計算できる)

個数と金額は、ゼロまたは府の値にならないとする。また、取引金額の最大値が複数の取引に現れることはないものとする。

出力の形式は次の実行結果の例。

取り引数10
合計金額6424円 合計個数57個
平均112円/個 642円/取引
最大の取引は6番目で2064円

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限: 2008年12月17日23時59分
[5] その他の制限:制限なし


210 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 21:41:25 ]
使えるものは使え。テンポラリーファイルだって、普通に使われているんだが?
技術力にしても、知識にしても、ここの連中はレベルが低すぎるんだよ。

211 名前:デフォルトの名無しさん [2008/12/17(水) 21:54:03 ]
>>172
そうなんですよねー
>>179
はいそうです。
>>184
なんとまぁ!w
ばれないように部分的に変えようと思うのでまた聞きにきますw
>>189
>>164でコンパイルできないんですか!?
まだ確かめられてなくて・・・

212 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 22:10:27 ]
>>209
ちょーてきとー
#include<stdio.h>
int main(){
    int max_i=0,max_total=0;
    int i,num,cost;
    int sum = 0;
    int total_num = 0;

    if(!freopen("/home/sample/PE1/2008/e12.txt","r",stdin)){
        perror("/home/sample/PE1/2008/e12.txt");
        return;
    }

    for(i=0;scanf("%*s%d%d",&num,&cost)!=EOF;++i){
        int total = num*cost;
        if(total > max_total){
            max_total = total;
            max_i   = i;
        }
        sum += total;
        total_num += num;
    }
    printf("取り引数%d\n",i);
    printf("合計金額%d円 合計個数%d個\n",sum,total_num);
    if(i)printf("平均%d円/個 %d円/取引\n",sum/total_num,sum/i);
    printf("最大の取引は%d番目で%d円",max_i+1,max_total);
}

213 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 22:11:28 ]
>>191
2個目は2166?

214 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 22:30:14 ]
[1] 授業単元: 科学実習T
[2] 問題文:
以下の配列を小さい順にならべ変えるプログラムを作れ。
int numbers{10} = {82,47,2,29,95,15,38,66,51.72}
[3] 環境
 [3.1] OS: windows xp
 [3.2] コンパイラ名とバージョン:gcc -o
 [3.3] 言語: C言語
[4] 期限: 2008年12月31日23時59分
[5] その他の制限:特になし、お願いします。



215 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 22:33:06 ]
>>214
ほい
#include <stdlib.h>

int compare(const int *a, const int *b)
{
return *a - *b;
}

main()
{
int numbers{10} = {82,47,2,29,95,15,38,66,51.72} ;

int i;

qsort(numbers, sizeof(numbers) / sizeof(int), sizeof(int), (int (*)(const void*, const void*))compare);
for (i = 0; i < 10; i++) {
printf("%d", data[i]);
}
printf("\n");
}


216 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 22:34:47 ]
>>191
> プログラムの実行時間は、2秒以下とする。
CPUの性能で差が出るのに?

217 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 22:42:29 ]
>>191
2166個目の数は999962683で合ってる?
2166個だとprint文で結構掛かりそう

218 名前:202=213 mailto:sage [2008/12/17(水) 22:51:55 ]
>>217
実はちゃんと昇順で出してなかったから、最大値をはかってみたんだけど、999962683になってたよ。
2166なのは出るけど超遅い!これ2秒でできるのだろうか?
1個目は0.8秒(Core2Duo3Ghz)だけど2個目は40秒くらいかかる。。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8376.txt
もしよかったらどう解いたか教えてください。

219 名前:217 mailto:sage [2008/12/17(水) 22:55:47 ]
>>218
前の桁で求めた数値を利用するくらいしかしてない
自分の環境だとギリギリ2秒くらい
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8378.txt

220 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 22:56:47 ]
それまで求めた素数を使ってもおkなんでしょ?
右にずらす、つまり10で割っていった値がそれ以前に求めた素数に
該当すればおk。

221 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:00:13 ]
なにいってんだ?

222 名前:217 mailto:sage [2008/12/17(水) 23:00:26 ]
>>220の方法が最速っぽいな

223 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:01:08 ]
>>221
だから理解力のない、日本語力もない馬鹿はレスするなつってんだよ、基地外

224 名前:217 mailto:sage [2008/12/17(水) 23:01:23 ]
ん、右にずらす前の素数判定で時間食うか



225 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:01:46 ]
>>221
それまで求めた値を使えば、わざわざ右にずらした値が
素数か、また求めなおす必要もないんだが?池沼は黙ってろよ。

226 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:02:41 ]
>>224
エラトステネスの篩を使うのもありじゃね?ただ、いくら速度を求めても
最終的にはCPUの性能に左右される。

227 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:04:44 ]
単純にふるいがけすると10億要素必要だからキツイ。
2 3の倍数を除いたとしても3億なのでキツイ。
9桁までの素数を配列に詰めて2分探索するのがいいと思う

228 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:06:17 ]
>>227
それ言うと>>191の解をあらかじめテーブルに持っておきたくなるなw

229 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:07:47 ]
[1] 授業単元: ネットワークプログラミング演習
[2] 問題文:
HTTP1.1プロトコルを満たすサーバとクライアントを作れ

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8377.zip
までは出来たんですが、
サーバが、fgetsしてクライアントの要求のGET /index.htmlを確認したら、残りの要求を無視するようにすると、ときどきパイプ破壊と表示されてプログラムが停止します。
これってどういう原因で起きてるんでしょう?(sarver.cの70行目前後です)
後、のこった要求を
while(fgets (str, STR_SIZE, ns_read));
で読もうとするとfgetsのところから進まなくなります。
これもなぜなんでしょう?
[3] 環境 Linux gcc
[4] 期限: 明日の昼頃まで
[5] その他の制限: とくになし

みにくいソースですけどよろしくお願いします。
他にも改善点などあれば教えていただきたいです。

230 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:08:23 ]
処理の中で求めてその一覧をキャッシュして使うのは何も問題ないっしょ
9桁だからintにおさまるし、悪くはないと思う。

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ってか?






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

前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