小弟在这里求助一个C++大神帮我做一道题目,很急!!!

2024-12-26 05:09:16
推荐回答(4个)
回答1:

不管怎么样,我算救急的,但是还是希望你看了代码后好好的消化一下,真的学到了用到的技巧才不枉我写了几个小时。

因为不想局限于排序和搜索的相关算法中,采用stl。你是一个学生,还是建议你自己实现linklist,array,sort甚至于树结构的map,这样才会有提高。不写是肯定不行的。

看代码先看ReadMe.txt。

回答2:

我觉得这道题很有趣啊,我也是学了C++没多久。。想试试

已经做好了

#include 
#include 
#include  
#include 
using namespace std;
int StringToInt(string &str){
int n=0;

for (int i=0;i {
n=n*10+*(str.c_str()+i)-'0';
}
return n;
}
int main(){
fstream openfile("f:\\bieming.txt",ios_base::in); //读取别名txt
vector > medicine_name;
vector >::iterator iname;
vector::iterator jname;
string names;
string tempnames;
int i=0,j;
do 
{
getline(openfile,names);
vector tp;
for (i=0;i {


if (names[i]!=':'&&names[i]!=','&&i!=names.size())
{
tempnames+=names[i];
}else
{

tp.push_back(tempnames);
tempnames="";
}
}
tp.push_back(tempnames);
tempnames="";
medicine_name.push_back(tp);

} while (names!="");









string str;
vector medicine_list;
vector weight_list;
vector::iterator it;
vector::iterator nit;
getline(cin,str);
string mtemp;
string ntemp;
for (i=0;i {
if (str[i]!=','&&i!=str.size()-1)
{
if(str[i]<'0'||str[i]>'z')
mtemp+=str[i];
else if(str[i]>='0'&&str[i]<='9'){
ntemp+=str[i];
}
}else
{

medicine_list.push_back(mtemp);
weight_list.push_back(StringToInt(ntemp));
mtemp="";
ntemp="";
}

}

int *p=new int[weight_list.size()];
i=0;
for (nit=weight_list.begin();nit!=weight_list.end();nit++)
{
*(p+i)=*nit;
i++;
}

int temp;
string stemp;
for (int t=weight_list.size()-1;t>0;t--)
{
for (i=1;i<=t;i++)
{
if (p[i] {
temp=p[i];
p[i]=p[i-1];
p[i-1]=temp;
temp=weight_list[i];
weight_list[i]=weight_list[i-1];
weight_list[i-1]=temp;
stemp=medicine_list[i];
medicine_list[i]=medicine_list[i-1];
medicine_list[i-1]=stemp;

}
}
}
for (it=medicine_list.begin();it!=medicine_list.end();it++){
for (i=0;i {

for (j=0;j {
if (*it==medicine_name[i][j])
{
*it=medicine_name[i][0];
}
}
}
}
for (nit=weight_list.begin(),it=medicine_list.begin();it!=medicine_list.end();nit++,it++)
{
cout<<*it<<*nit<<'g'< }
return 0;
}

回答3:

别告诉你是大学的、、、、、、
我这个高中生都能虐爆你了。。。。。。。
这么简单的双关键字排序都A掉了。。。。
代码自己写吧!
sort 会用吧!

回答4:

使用数据库不就行了吗?