work9.cpp

来自「假设要在足够多的会场里安排一批活动」· C++ 代码 · 共 73 行

CPP
73
字号
#include<iostream>
using namespace std;
struct elem
{
 elem* base;
 int startime;//开始时间
 int endtime;//结束时间
 char name[20];//活动的名字
    int length;
 bool flag;//对是否选择进行判断
};
void sort(elem& a)//对数组进行排序
{
 elem b;
 for(int i=0;i<a.length-1;i++)
 {
  for(int j=i+1;j<a.length;j++)
  {
   b=a.base[i];
   if(a.base[i].endtime>a.base[j].endtime)
   {   
    a.base[i]=a.base[j];
    a.base[j]=b;
   }
  }
 }
}
elem init(elem& a)
{
 cout<<"请输入活动的数目:";
 cin>>a.length;
 a.base=(elem*)malloc(a.length*sizeof(elem));
 for(int i=0;i<a.length;i++)
 {
  cout<<"请依次输入该活动的名称、开始时间以及结束时间"<<endl;
  cin>>a.base[i].name>>a.base[i].startime>>a.base[i].endtime;cout<<"x";
  a.base[i].flag=false;
 }
 sort(a);
 return a;
}
void select(elem& a)
{
 a.base[0].flag=true;
 int j=0;
 for(int i=1;i<a.length;i++)
 {
  if(a.base[i].startime>a.base[j].endtime)
  {
   a.base[i].flag=true;
   j=i;
  }
 }
}
void out(elem& a)
{
 cout<<"选择活动的项目是:"<<endl;
 for(int i=0;i<a.length;i++)
 {
  if(a.base[i].flag==true)
   cout<<a.base[i].name<<"   ";
 }
 cout<<endl;
}
void main()
{
 elem a;
 a=init(a);
 select(a);
 out(a);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?