#include <iostreamh>
#include<iomaniph>
#include<stringh>
int min(int w,int c)
{int temp;
if (w<c) temp=w;
else
temp=c;
return temp;
}
int max(int w,int c)
{
int temp;
if (w>c) temp=w;
else
temp=c;
return temp;
}
void knapsack(int v[],int w[],int c,int n,intm) {
int jmax=min(w[n]-1,c);
for(int j=0;j<=jmax;j++)
m[n][j]=0;
for(int jj=w[n];jj<=c;jj++)
m[n][jj]=v[n];
for(int i=n-1;i>1;i--){ jmax=min(w[i]-1,c);
for(int j=0;j<=jmax;j++)
m[i][j]=m[i+1][j];
for(int jj=w[i];jj<=c;jj++)
m[i][jj]=max(m[i+1][jj],m[i+1][jj-w[i]]+v[i]);
}
m[1][c]=m[2][c];
if(c>=w[1])
m[1][c]=max(m[1][c],m[2][c-w[1]]+v[1]);
cout<<"最优值:"<<m[1][c]<<endl;
for(int l=2;l<=n;l++)
for(int j=0;j<=c;j++)
{
cout<<m[l][j]<<setw(c-1);
}
cout<<endl;
cout<<""<<endl;
}
int traceback(int m,int w[],int c,int n,int x[]) {
cout<<"得到的一组最优解如下:"<<endl;
for(int i=1;i<n;i++)
if(m[i][c]==m[i+1][c]) x[i]=0;
else {x[i]=1;
c-=w[i];}
x[n]=(m[n][c])1:0;
for(int y=1;y<=n;y++)
{
cout<<setw(5)<<x[y];
}
return x[n];
}
void main()
{
int n,c;
int m;
cout<<"&&&&&&&&&&&&&&&&&&&&&欢迎使用0-1背包问题程序&&&&&&&&&&&&&&&&&&&"<<endl;
cout<<"请输入物品个数和重量上限:";
cin>>n>>c;
int v=new int[n+1];
cout<<"Pls input the property (v[i]):"<<endl;
for(int i=1;i<=n;i++)
cin>>v[i];
int w=new int[n+1];
cout<<"Pls input the weight (w[i]):"<<endl;
for(int j=1;j<=n;j++)
cin>>w[j];
int x=new int[n+1];
m=new int[n+1]; for(int p=0;p<n+1;p++)
{
m[p]=new int[c+1];
}
knapsack(v,w,c,n,m);
traceback(m,w,c,n,x);
}
这个是DEV-C++
上一个版本的部分快捷 *** 作指令;
编译器的不同,有些快捷 *** 作也是不一样的,
不过大部分相似
新建源代码
Ctrl
+
N
打开工程或文件
Ctrl
+
O
另存为
Ctrl
+
F12
关闭
Ctrl
+
F4
打印
Ctrl
+
P
恢复
Ctrl
+
Z
重做
Shift
+
Ctrl
+
Z
剪切
Ctrl
+
X
复制
Ctrl
+
C
粘贴
Ctrl
+
V
设置书签
Ctrl
+
(1-9)
跳至书签
Alt
+
(1-9)
Ctrl
+
取消注释
Ctrl
+
M
缩进
Shift
+
Ctrl
+
I
取消缩进
Shift
+
Ctrl
+
U
搜索
Ctrl
+
F
搜索文件内容
Shift
+
Alt
+
F
继续查找
F3
替换
Ctrl
+
R
在线搜索
Ctrl
+
I
跳至函数
Shift
+
Ctrl
+
G
到指定行
Ctrl
+
G
转至工程管理器
Ctrl
+
F2
转至类浏览器
Ctrl
+
F3
工程属性
Alt
+
P
编译
Ctrl
+
F9
编译当前文件
Shift
+
Ctrl
+
F9
运行
Ctrl
+
F10
编译运行
F9
全部重新编译
Ctrl
+
F11
重启程序
Alt
+
F12
调试
F8
停止执行
Ctrl
+
Alt
+
F2
切换断点
Ctrl
+
F5
下一步
F7
单步进入
Shift
+
F7
跳过
Ctrl
+
F7
运行到光标
Shift
+
F4
添加查看
F4
查看变量
Ctrl
+
W
看来你只能用文件 *** 作,从头读到尾。然后成对的去掉/和/
但是在删除//的时候就有个判断问题,因为//在程序可能是转义字符的使用,代表/,这个你要考虑下怎么判断了。
最后问一句。。。你做这种程序干嘛。。。不是没事找事干吗。。
如果你是想通过对注释的 *** 作来实现:根据不同情况使用不同的代码段的目的。。似乎多加个if就可以了吧。。。根本没必要对注释动手脚啊。。。
在程序员编程过程中,经常会有类似调试程序的过程,需要暂时尝试下让其中某些部分不运行
这时如果删除掉这些程序,那么后面过程有可能又需要用到,
于是有人发明了利用注释符号暂时将程序段脱离运行的 *** 作方式,等程序调试后,只需取消那几个注释符,即可令原有的程序段重新被启用
于是,久而久之,大家就形成口语,把某段程序“注释掉”,就是让它暂时不运行(而非删除掉)
在VBA中,要把一大段程序注释掉,只需从VBA窗口(VBE)中,视图-->工具栏-->编辑,编辑工具栏上有两个按钮“块注释”和“取消块注释”。
楼上写的有些问题,//未必出现在[i][0]的位置
而且如果连着//的话,会有多余的回车
程序我给处理了一下,代码如下:依然是ctrl+z 后按下回车结束输入
#include <iostream>
#include <string>
#include <vector>
using namespace std;
void main()
{
vector<string> input;
string::size_type pos = 0;
string str;
while(getline(cin,str))
{
inputpush_back(str);
}
for(int i=0;i<inputsize();i++)
{
// if(input[i][0]=='/' && input[i][1]=='/')
// continue;
pos = input[i]find("//");
if(pos == string::npos)
{
cout<<input[i]<<endl;
}
else
{
input[i]erase(pos,input[i]size()-pos);
cout<<input[i];
}
}
}
以上就是关于给出一个C++源程序代码。请将其中的注释去掉。全部的内容,包括:给出一个C++源程序代码。请将其中的注释去掉。、c程序语言编程的快捷键、怎样用C++写个程序把一段代码的注释去掉等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)