帮我设计一个关于员工排班的C语言程序
发布网友
发布时间:2022-04-27 00:17
我来回答
共4个回答
热心网友
时间:2022-06-21 13:46
给你个c++版本做参考:
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
int main(int argc,char *argv[])
{
std::vector<int> arr[7];
std::vector<std::vector<int>> resolution;
for(int i=0;i!=7;++i)
{
int temp;
std::cout<<"please input number "<<i+1
<<" person's all rest days he wanted(1-7):\n";
while(std::cin.peek()!='\n')
{
std::cin>>temp;
arr[i].push_back(temp);
}
::getchar();
}
int arr1[]={1,2,3,4,5,6,7};
do
{
for(int i=0;i!=7;++i)
{
std::vector<int>::iterator iter=
std::find(arr[i].begin(),arr[i].end(),arr1[i]);
if(iter==arr[i].end())
{
break;
}
if(i==6)
{
std::vector<int> temp(arr1,arr1+7);
resolution.push_back(temp);
}
}
}while(std::next_permutation(arr1,arr1+7));
size_t cnt=resolution.size();
std::cout<<"可用的方案如下,按职员A-G的休息日排列:\n";
for(int i=0;i!=cnt;++i)
{
size_t temp=resolution[i].size();
std::cout<<"方案 "<<i+1<<":\n";
for(int j=0;j!=temp;++j)
std::cout<<resolution[i][j]<<" ";
std::cout<<"\n";
}
::system("pause");
return 0;
}追问可以发一个C语言的吗?
热心网友
时间:2022-06-21 13:47
什么时候要?我给你做。另希望你可以追加分,保你满意
热心网友
时间:2022-06-21 13:47
每周的休息日都相同吗?
热心网友
时间:2022-06-21 13:48
有人包场了