C/C++の宿題を片付けます 58代目
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん
2006/01/18(水) 03:35:45【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して
投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
[3.1] OS: (Windows/Linux/等々)
[3.2] コンパイラ名とバージョン: (gcc 2.9 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++の宿題を片付けます 57代目
http://pc8.2ch.net/test/read.cgi/tech/1136768567/l50#tag993
【過去スレ一覧】
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
0809デフォルトの名無しさん
2006/01/25(水) 23:12:10>間違っててもしらね
0810795
2006/01/25(水) 23:21:31これを使おうとはなかなかチャレンジャーだな。
0811デフォルトの名無しさん
2006/01/25(水) 23:25:190812お願いします
2006/01/25(水) 23:45:120813デフォルトの名無しさん
2006/01/25(水) 23:50:390814お願いします
2006/01/26(木) 00:17:170816デフォルトの名無しさん
2006/01/26(木) 00:21:48うんうん。知りたいのはわかったから。
本気なら調べるくらいはしたら?
追記:
くれぐれもセンセに教えるとかVIPに知らせるとか、
メールアドレス晒すとかしないよーに。
0817デフォルトの名無しさん
2006/01/26(木) 00:24:08整数型の変数を0〜2^5-1でループさせて・・・って組んだんで、UPはできないなぁ・・・。
0818お願いします
2006/01/26(木) 00:34:160819デフォルトの名無しさん
2006/01/26(木) 00:46:38>_ [仕事] 認証のやりなおし
>
>このサーバに設置している講義のサポートページには認証をかけ、特定の人以
>外には見られないようにしている。その認証に必要な ID とパスワードが流出
>した。
>
>流出させた人は、課題が書かれた PDF を見せて質問したかったらしい。課題
>そのものが曝されるのはともかく、その他に外部に曝したくない情報までアク
>セス可能になってしまうのは好ましくないと判断し、アクセス制限とパスワー
>ドの変更で対処した。どういう経緯で知ったか、具体的に何がまずいと考えた
>かについてはここでは伏せる。
>
>それにしても、課題について訊きたいことがあるなら、メールを筆者宛に出す
>なり、直接筆者のところまで質問しに来ればいいのに。ちょっと落ち込むなあ
いい先生だなぁ。
先生。講義資料をOPENにしてくださると、独学してる人間は助かります。
それと、学校でマジメに勉強しようとは思わない人間にいくら課題だしても
自分でやらんと思います。
0820805
2006/01/26(木) 00:50:06正しく数値出るけど、要求してる式とは違うって事?
0821デフォルトの名無しさん
2006/01/26(木) 00:58:24[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1547.txt
[3] 環境
[3.1] OS: WindowsXP
[3.2] gcc
[3.3] 言語: C
[4] 期限: [2006年01月27
[5] その他の制限:特にないです。よろしくお願いします
0822デフォルトの名無しさん
2006/01/26(木) 00:59:55課題の関数部分もちゃんと簡単な擬似コーディングしてあるし、
説明も平易でわかりやすく書いてある。
0823デフォルトの名無しさん
2006/01/26(木) 01:00:370824デフォルトの名無しさん
2006/01/26(木) 01:05:23>先生。講義資料をOPENにしてくださると、独学してる人間は助かります。
俺漏れも。なんだったら月会費払ってもいいよ。1000円ぐらい。
0825デフォルトの名無しさん
2006/01/26(木) 01:09:33IPに地域名でるんだ‥九州からじゃ丸分りだったな。
0826デフォルトの名無しさん
2006/01/26(木) 01:13:19いい先生だ・・・受けるなら、こんな先生の講義を受けたいね。
普通だったらこんな事態になったら、酷い場合は退学処分にすら
なるのに。
0827ww
2006/01/26(木) 01:28:02どこの情報だよ? それ
0828ぷろっぷ
2006/01/26(木) 01:33:040829デフォルトの名無しさん
2006/01/26(木) 01:38:38正直に言うけど、Makefileまで書いてくださってるので、すんごく親切。
あの資料作るのに何時間かけてるんだろ…。
0830デフォルトの名無しさん
2006/01/26(木) 01:54:550831デフォルトの名無しさん
2006/01/26(木) 02:00:58さて○○○して寝るか
0832805
2006/01/26(木) 02:02:250833デフォルトの名無しさん
2006/01/26(木) 02:46:20さぁお前らの宿題なんてやってらんね勉強しよ
宿題出すやつもちっとは自分で考えてみやがれ
0834デフォルトの名無しさん
2006/01/26(木) 03:18:240835デフォルトの名無しさん
2006/01/26(木) 04:12:05なんの試験勉強なんだ?
0836デフォルトの名無しさん
2006/01/26(木) 04:19:21確率統計と科学英語
まぁ大学の試験勉強
0837デフォルトの名無しさん
2006/01/26(木) 04:24:16そうかー
宿題はなんとかするからガンガレ! 健闘を祈る ノシ
0838デフォルトの名無しさん
2006/01/26(木) 04:28:11回答者なのか依頼者なのか
0839デフォルトの名無しさん
2006/01/26(木) 06:59:21[1] 授業単元: ファイルの入出力
[2] 問題文(含コード&リンク):
3個の数を入力し、それぞれを係数a, b, cとみなして
関数f(x) = ax2+bx+cが描くグラフを'*'を用いて表示するプログラムを作成せよ。
X軸、Y軸もつけて
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2006年1月26日10時
[5] その他の制限:特になし
誰か助けてください。atoiでも使うんでしょうか・・・
0840デフォルトの名無しさん
2006/01/26(木) 07:08:480841デフォルトの名無しさん
2006/01/26(木) 07:48:07x,yの範囲は?
0842デフォルトの名無しさん
2006/01/26(木) 08:26:030843デフォルトの名無しさん
2006/01/26(木) 08:28:39時間ないから超適当w
$ a.out .2 .4 .1 みたいな感じで。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define RANGE 20
int main(int argc,char *argv[]){
int graph[RANGE*2][RANGE*2],i,j,temp;
float x,y,a,b,c;
memset(graph,0,sizeof(graph));
a = atof(argv[1]);
b = atof(argv[2]);
c = atof(argv[3]);
for(i=0,x=(float)(-1)*RANGE/10;x<(float)RANGE/10;x+=.1,i++){
y = a*x*x + b*x + c;
temp =(int) RANGE + y * 10;
graph[temp][i]=1;
}
for(i=RANGE*2-1;i>=0;i--){
for(j=0;j<RANGE*2;j++){
if(graph[i][j]==1) printf("*");
else if (i==RANGE) printf("-");
else if (j==RANGE) printf("l");
else printf(" ");
}
printf("\n");
}
return 0;
}
0844デフォルトの名無しさん
2006/01/26(木) 08:36:58if((0<=temp)&&(temp<RANGE*2)) graph[temp][i]=1;
だな。
0845デフォルトの名無しさん
2006/01/26(木) 09:54:10[2] 問題文(含コード&リンク):
リストA:2,5,9,10
リストB:1,4,7,11
この2つのリストを先頭から順に読んで、以下の様なリストCを作る。
リストC:1,2,4,5,7,9,10
この様な操作はA,Bが整列されている事を前提とした上で、各リストの長さの和に比例する時間でリストマージが終了する。アルゴリズムとして書けば以下の様になる。
リストCを空とする
リストAの先頭をtopA、リストBの先頭をtopBとする(以降の動作では現在の位置となる)
topAもしくはtopBが空でない間、以下を繰り返す
topA->data<topB->dataならばtopA->dataをリストCにつなぎ、topA=topA->nextとする。topA->data>=topB->dataならばtopB->dataをリストCにつなぎ、topB=topB->nextとする。
注1:リスト構造は一方向とし、各要素はdata領域とnext領域を持つものとする。
注2:上記のアルゴリズムのままではtopAもしくはtopBが空になっても存在しないdata領域を使おうとするので、修正の要がある。
注3:リストマージの結果としては生成されたリストCを返す事。
課題:リストマージの関数を実現し、それを利用してリストマージを行え。リストのデータとしては整数を想定せよ。データは上記のデータを想定せよ。各リストに対して標準入力から入力するものとする。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2006/01/27
[5] その他の制限: 留年かかってますなんとかお願いします
0846デフォルトの名無しさん
2006/01/26(木) 10:02:15土日ならやってやれるんだが…。
0847デフォルトの名無しさん
2006/01/26(木) 10:13:020848デフォルトの名無しさん
2006/01/26(木) 10:14:19適当に大学に入ったカスどもがwwwww
0849デフォルトの名無しさん
2006/01/26(木) 10:20:07適当に行詰めたから自分で適宜改行してくれ
>>848
口だけだから高卒止まりなんですか?
言うだけなら幼稚園児でも出来ますよ
#include<stdio.h>
#include<stdlib.h>
typedef struct list list;
struct list{list*next;int data;};
list*cons(int data,list*next){
list*p=(list*)malloc(sizeof(list));
p->next = next;p->data = data;return p;}
list*maaaaazi(list*a,list*b){
list*base=NULL;list**c = &base;
while(a && b){
list**p=a->data < b->data ? &a : &b;*c = *p;*p = p[0]->next;c = &c[0]->next;
}
*c = a?a:b;
return base;
}
int main(void){
list*A = cons(2,cons(5,cons(9,cons(10,NULL))));
list*B = cons(1,cons(4,cons(7,cons(11,NULL))));
list*C = maaaaazi(A,B);list*itr;for(itr = C;itr;itr = itr->next)printf("%d,",itr->data);
return 0;
}
0850デフォルトの名無しさん
2006/01/26(木) 10:24:08まぁ、それ位は出来ると思うからその辺は自分でやってくれ。
fgets + strtolで簡単に出来るから
0851デフォルトの名無しさん
2006/01/26(木) 10:35:51上のソースのmain関数の部分をこれと置き換えて
list*inputList(char*p){
char*next=p;
int v = strtol(p,&next,0);
if(p == next)return NULL;
else return cons(v,inputList(next));
}
int main(void){
list*A,*B,*C,*itr;
char buf[80];
printf("A:");A = inputList(fgets(buf,80,stdin));
printf("B:");B = inputList(fgets(buf,80,stdin));
printf("C:");C = maaaaazi(A,B);
for(itr = C;itr;itr = itr->next)printf("%d,",itr->data);
return 0;
}
0852デフォルトの名無しさん
2006/01/26(木) 11:34:14ありがとうございます。
でもコンパイルするとmemsetの前がエラーって出るんですが・・・
0853デフォルトの名無しさん
2006/01/26(木) 11:38:54エラーメッセージの内容も書かない奴に何を言えと?
0854デフォルトの名無しさん
2006/01/26(木) 11:43:590855821
2006/01/26(木) 12:06:200856デフォルトの名無しさん
2006/01/26(木) 12:25:21寝てる間にえらいことになってるなw
まぁ先生に通報したのは俺な訳だが。
普段ならスルーしてるが、ID/Passまで晒したのが
仮にもム板に来てる人間にしてはモラル無さ杉だと思ったんでな
ってか、ほんとにいい先生だな
0857デフォルトの名無しさん
2006/01/26(木) 12:31:28#include <stdio.h>
#include <math.h>
#define PI 3.141592653589793238462643383279502884197169399375105820974944
double deg2rad(int deg){
return ((2*PI*deg)/360);
}
main(){
int i;
double d;
for(i=0;i<=360;i++){
d=deg2rad(i);
if(
printf("%d deg=%.6f[rad], sin=%.6f, cos=%.6f, tan=%.6f\n", i, d, sin(d), cos(d), tan(d));
}
}
途中まで
0858767
2006/01/26(木) 12:55:310859デフォルトの名無しさん
2006/01/26(木) 13:30:11#include <stdio.h>
#include <math.h>
#include <float.h>
#define PI 3.141592653589793238462643383279502884197169399375105820974944
typedef struct {
int c1;
int c2;
}comp;
double deg2rad(int deg){
return ((2*PI*deg)/360);
}
main(){
int i;
double d;
comp c;c.c1=0;c.c2=0;
for(i=0;i<=360;i++){
d=deg2rad(i);
if(i==90||i==270){
printf("計算不可\n");continue;
}
if(fabs(sin(d)/cos(d)-tan(d))<DBL_EPSILON){c.c1++;}else{c.c2++;}
printf("%d deg=%.6f[rad], sin=%.6f, cos=%.6f, tan=%.6f, c1=%d, c2=%d\n", i, d, sin(d), cos(d), tan(d), c.c1, c.c2);
}
}
c1が一致回数、c2が不一致回数ね
0860デフォルトの名無しさん
2006/01/26(木) 14:03:31ほんとありがとうございます!
0861デフォルトの名無しさん
2006/01/26(木) 14:34:25なんというか言動から高卒臭が漂ってきます
0862デフォルトの名無しさん
2006/01/26(木) 15:13:550863デフォルトの名無しさん
2006/01/26(木) 15:17:420864デフォルトの名無しさん
2006/01/26(木) 15:19:22貯金も無いようだけど
0865デフォルトの名無しさん
2006/01/26(木) 15:21:130866デフォルトの名無しさん
2006/01/26(木) 15:39:17そんな珍しくもなくね?
0867デフォルトの名無しさん
2006/01/26(木) 15:55:23先輩スゲーよ。高卒の漏れは最近まで年収240万だった。・゚・(ノД`)・゚・。
0868デフォルトの名無しさん
2006/01/26(木) 15:56:32[2] 問題文(含コード&リンク):
以下のチャットプログラムを参考にして、特定のIPからのアクセス制限をつける。
(アクセス権が無い旨のメッセージをクライアント側に表示)
サーバー側ソース
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1548.txt
クライアント側ソース
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1549.txt
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: [2006年1月30日]
[5] その他の制限: なるべく簡単な変更でお願いします。
過去ログにアクセス制限の宿題が載っていたのですが、
すでにリンク切れで参考にできませんでした。
よろしくお願いします。
0869デフォルトの名無しさん
2006/01/26(木) 15:57:48俺無理
0870デフォルトの名無しさん
2006/01/26(木) 16:01:55入れるのがめんどくさい
0871デフォルトの名無しさん
2006/01/26(木) 16:06:270872デフォルトの名無しさん
2006/01/26(木) 16:11:39[3.1] OS: Windows
こう書いてある割りにはやけにLinuxなソースだな
#ifdef多用で読みづらいし何て糞ースだよ
0873デフォルトの名無しさん
2006/01/26(木) 16:14:460874デフォルトの名無しさん
2006/01/26(木) 16:37:45本当に感謝。
明日提出してなんとか留年免れてきます!
0875デフォルトの名無しさん
2006/01/26(木) 16:39:110876デフォルトの名無しさん
2006/01/26(木) 16:41:45大分前のスレで信州大の講義用ウェブサイトが貼られてて、その中で見た記憶がある。
ついでに信州大のそのサイトの講義内容は酷かった。
0877デフォルトの名無しさん
2006/01/26(木) 16:42:230878デフォルトの名無しさん
2006/01/26(木) 16:47:28大学のレベルを下げる生徒が卒業したら大問題だ
0879デフォルトの名無しさん
2006/01/26(木) 16:50:470880デフォルトの名無しさん
2006/01/26(木) 17:12:30これって乗せた人間も不正アクセス禁止法にひっかかるんだっけ?
0881デフォルトの名無しさん
2006/01/26(木) 17:37:53[2]ダイクストラ法により隣接行列で表されるグラフの最短経路を求めるプログラムを書きかけた。
このプログラムを完成させ、下の例のグラフで0番の節点から,4番の節点に至る最短経路を求めよ、
プログラム中には、動きがわかるように詳しいコメントを記すこと。
特に、shortestpath関数の詳しい説明を求める。
未完成プログラム⇒http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1550.txt
[3.1]Linux[3.2]gcc[3.3]c言語
[4] 1/31まで
[5] (↓グラフ例)
0 1 2 3 4 ⇒最初の行は節点番号
0 2 0 2 0
2 0 2 1 3
0 2 0 5 4
2 1 5 0 2
0 3 4 2 0
因みにこれを画像で表すとこうなります。↓
⇒http://ccfa.info/cgi-bin/up/src/up23553.bmp
念のため、ダイクストラ法の分かり易い説明が書いてあるサイトを貼っておきます。
⇒http://karel.tsuda.ac.jp/class2005/algo/c24.html
それではお願いしますm(__)m
0882デフォルトの名無しさん
2006/01/26(木) 18:54:19鬼w
でも今回の件で、苦労して問題出す先生もいるんだから、あんまり
完全回答しない方がいいのかなって気もした。一箇所だけ空欄とかw
0883デフォルトの名無しさん
2006/01/26(木) 19:05:050884デフォルトの名無しさん
2006/01/26(木) 19:08:22[2] 問題文(含コード&リンク):個数が未知のデータをメモリにためる方法の例
(http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1551.txt)において
メモリがどのように確保されるかを説明せよ.説明に図を用いる場合には,
その図と図中の文字は手書きでもかまわない.
[3] 環境
[3.1] OS: mac
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2006年1月27日17時まで
[5] その他の制限: 大学1年です。配列、ポインタあたりまでやりました。
0885デフォルトの名無しさん
2006/01/26(木) 19:19:36[2] 問題文(含コード&リンク):関数 mlc1 と mlc2 の違いを以下の観点から
500字以内で説明せよ.説明にソースコードの引用を用いる場合には,
その部分は字数制限の対象にはしない.説明に図を利用する場合,
その図と図中の文字は手書きでもよい.
・「値渡し」と「アドレス渡し」
・実行時間
プログラムhttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1552.txt
[3] 環境
[3.1] OS: mac
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2006年1月27日17時まで
[5] その他の制限: >>894のものですが、
全部で五問あるのでお願いします。これは二問目です。
0886ど素人
2006/01/26(木) 19:27:23#include <stdio.h>
int main()
{
float x = 3.0, y = 8.0;
printf("商は%f, 余りは%f",x / y, x % y);
return0;
}
これでコンパイル通らず、%無効なオペランドです と出ます。
なんででしょうか・・・
0887デフォルトの名無しさん
2006/01/26(木) 19:30:110888デフォルトの名無しさん
2006/01/26(木) 19:30:13[2] 問題文(含コード&リンク):標準ライブラリとして提供されている
文字列処理の機能を使用することなく,標準関数strcmp()と同等の処理を行う
関数mystrcmp()を定義せよ.
[3] 環境
[3.1] OS: mac
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2006年1月27日17時まで
[5] その他の制限: >>894のものです、これは三問目です。
0889デフォルトの名無しさん
2006/01/26(木) 19:33:13>>884の間違いです、すんません
0890デフォルトの名無しさん
2006/01/26(木) 19:34:49[2] 問題文(含コード&リンク): 10人の名前、年齢、電話番号の入ったファイルを作り、それを読み出すファイルを作れ。
そのとき、ファイル名は画面上で自由に設定でき、ファイルの拡張子はdatとなるようにせよ。
また、ファイル名が8文字を越えると、入力したファイル名は無効となり、再度ファイル名の入力を要請できるようにせよ。
問題上のファイルに新たに1人のデータを追加するためのプログラムを作れ。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン: すいませんわかりません
[3.3] 言語:C
[4] 期限:2006年1月30日まで
[5] その他の制限: 初心者なので、あまり難しくないものでお願いします。
0891デフォルトの名無しさん
2006/01/26(木) 19:35:17int mystrcmp(const char*a,const char*b){
int diff;
for(;(diff = *a - *b)==0 && *a;++a,++b){}
return diff;
}
0892デフォルトの名無しさん
2006/01/26(木) 19:35:20printf("商は%.5f, 余りは%d",x / y, (int)x % (int)y);
0893デフォルトの名無しさん
2006/01/26(木) 19:37:38字数は数えてない。ポインタ経由でのアクセスによる影響は無視。どうせ両方スタックにあるんだし。
関数 mlc1 と mlc2の引数機構(parameter mechanism)は共に値渡しである。そもそもCには値渡し以外の引数機構は存在しない。故に「「値渡し」と「XXX」」という観点からこれら2つの関数の「違い」を説明するならば、「違いはない」としか言いようがない。
また、実行時間については
mlc1はstruct data型という巨大な方の引数をとるため、仮引数オブジェクトの生成に時間がかかる可能性がある
mlc2はstruct data*型という比較的小さな方の引数をとるため仮引数オブジェクトの生成にはmlc1程には時間はかからない可能性が高い
0894デフォルトの名無しさん
2006/01/26(木) 19:38:16>>885だった。
0898デフォルトの名無しさん
2006/01/26(木) 20:08:13ありがとうございます!
0899デフォルトの名無しさん
2006/01/26(木) 20:10:220900デフォルトの名無しさん
2006/01/26(木) 20:12:58どうもありがとうございます!
0901デフォルトの名無しさん
2006/01/26(木) 20:34:25最初、i=0のループを回すとき、D[i-1][???]のi-1って負になる気が
するんだが、気のせいかな?
ついでにいうと、ヒントの1535.txtはロダから流れている。
0903デフォルトの名無しさん
2006/01/26(木) 21:00:38アルゴリズムが大体同じならヒント通りじゃなくてもいいです。
0904デフォルトの名無しさん
2006/01/26(木) 21:04:39「全ての組み合わせのうち、最高のものを見つける」
ってアルゴリズムでOK?>>903
0905デフォルトの名無しさん
2006/01/26(木) 21:06:480907デフォルトの名無しさん
2006/01/26(木) 21:26:420908デフォルトの名無しさん
2006/01/26(木) 21:45:06Cらしく書いたつもり。
#include <stdio.h>
/* 問題の定義 */
#define n 5 /* 品物の種類 */
#define WMAX 10 /* 重さの最大 */
static int w[n]={2,3,4,5,6}; /*各物品の重量*/
static int v[n]={4,5,8,9,11}; /*各物品の価値*/
int sum(int *p, unsigned x) { int retval = 0; for (; x; p++, x >>= 1)
if (x & 1) retval += *p; return retval; } void print(unsigned x) {
int i; int sumw = sum(w, x); int sumv = sum(v, x); for (i = 0; x;
i++, x >>= 1) if (x & 1) printf("(%d, %d) ", w[i], v[i]);
printf("%d %d\n", sumw, sumv); } int main(void) { unsigned x, best
= 0; for (x = 0; x < (1 << n); x++) { if (sum(w, x) <= WMAX &&
sum(v, x) > sum(v, best)) { best = x; print(x); } } return 0; }
レス数が900を超えています。1000を超えると表示できなくなるよ。