宿題手伝います
■ このスレッドは過去ログ倉庫に格納されています
0278272
NGNGbccでは動いたけどなあ。
#include <stdio.h>
#define LIMIT 8
#define NUMBER 5
#define MIN_SIZE 1
struct nimotu
{
char *name;
int size;
int price;
} data[]={{"a",4,450},{"b",5,570},{"c",2,225},
{"d",1,110},{"e",6,670}};
int main(void)
{
int newvalue,value[LIMIT+1];
int item[LIMIT+1],i,s,p;
for(s = 0;s <= LIMIT;s++)
{
value[s]=0;
}
for(i = 0;i < NUMBER;i++)
{
for(s = data[i].size;s <= LIMIT;s++)
{
p = s - data[i].size;
newvalue = value[p] + data[i].price;
if(newvalue > value[s])
{
value[s] = newvalue;
item[s]=i;
}
}
}
printf(" 品 目 重量 価格\n");
for(s = LIMIT,p=0;s >= MIN_SIZE;s-=data[item[s]].size)
{
printf("%10s %5d %5d\n",data[item[s]].name,data[item[s]].size,data[item[s]].price);
p += data[item[s]].size;
}
printf(" 合 計 %5d %5d\n",p,value[LIMIT]);
}
■ このスレッドは過去ログ倉庫に格納されています