求解钢材切割的最佳订单

leiyang970 2011-09-10 10:59:56
求解钢材切割的最佳订单。
(1)描述:编写程序,从订单中选择一组订单对钢材作切割加工,使钢材得到最佳利用,约定每一次切割会损耗固定长度的钢材(约定该值为2)。已知线型钢材总长度、订单数和各订单需要的钢材长度;
(2)输入:钢材总长度s、订单数n、各定单需要的钢材长度;
(3)输出:可以使钢材得到最佳利用的订单号、该订单需要的钢材长度。
例如:
Please input total length of the steel s: 28(回车)
Please input number of order n: 8(回车)
Please input the orders :
5(回车)
6(回车)
7(回车)
8(回车)
9(回车)
10(回车)
12(回车)
15(回车)
屏幕输出:
Choice one order 1 length=5 order 3 length=7 order 7 length=12
Choice two order 2 length=6 order 4 length=8 order 6 length=10

Press any key to quit …
...全文
222 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
做得太复杂,考试的时候容易掉链子
  • 打赏
  • 举报
回复
#include <stdio.h>

void init(int *p)
{
int i;
char word[2][50]={"please input total length of the steel:","please input the number of steel:"};
for(i=0;i<2;i++)
{
printf("%s\n",word[i]);
scanf("%d",p);
p++;
}
}

void input(int *p,int a)
{
int i;
printf("please input the orders:\n");
for(i=0;i<a;i++)
{
scanf("%d",p);
p++;
}
}

int getorder(int *p1,int a,int (*p2)[3],int b)
{
int i,j,k,m;
m=0;
for(i=0;i<a-2;i++)
{
for(j=i+1;j<a-1;j++)
for(k=j+1;k<a;k++)
{
if(*(p1+i)+(*(p1+j))+(*(p1+k))==b)
{
*(*(p2+m))=i;
*(*(p2+m)+1)=j;
*(*(p2+m)+2)=k;
m++;
}
}
}
return m;
}

void clear(int (*p)[3],int m)
{
int i,j,k,l;
for(i=0;i<m;i++)
{
for(j=i+1;j<m;j++)
{
for(k=0;k<3;k++)
{
for(l=0;l<3;l++)
{
if(*(*(p+i)+k)==(*(*(p+j)+l)))
{
*(*(p+j)+0)=100;
*(*(p+j)+1)=100;
*(*(p+j)+2)=100;
}
}
}
}
}
}

void main()
{
int i,steel[2],order[100],m,x;
int good[10][3];
i=0;x=0;
init(steel);
i=steel[0]-4;
input(order,steel[1]);
m=getorder(order,steel[1],good,i);
if(m!=0)
{
clear(good,m);
for(i=0;i<m;i++)
{
if((good[i][0]!=100)&&(good[i][1]!=100)&&(good[i][2])!=100)
{
x++;
printf("choose %d:",x);
printf(" order %d length=%d order %d length=%d order %d length=%d\n",good[i][0]+1,order[good[i][0]],good[i][1]+1,order[good[i][1]],good[i][2]+1,order[good[i][2]]);
}
}
}
}
第一题:
leiyang970 2011-09-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tianxiao1101 的回复:]
呵呵 哥们也报信息大赛了把。。
[/Quote]

我们是必须得报。没办法啊
tianxiao1101 2011-09-11
  • 打赏
  • 举报
回复
呵呵 哥们也报信息大赛了把。。
fox000002 2011-09-10
  • 打赏
  • 举报
回复
线性规划啊

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧