2 条题解
-
0
端木俁 (房佳坤) LV 10 @ 2021-03-16 21:01:57
水
#include<iostream> using namespace std; class easy { public: void input(int a[],int na) { for(int i=0;i<na;i++) cin>>a[i]; } void lianjie(int a[],int na,int b[],int nb) { int d=na; for(int i=0;i<nb;i++) a[d++]=b[i]; } int Search(int a[],int n,int x) { for(int i=0;i<n;i++) if(a[i]==x) return 1; return -1; } void binji(int a[],int na,int b[],int nb) { lianjie(a,na,b,nb); for(int i=0;i<na+nb;i++) { if(Search(a,i,a[i])==-1) cout<<a[i]<<" "; } } private: }k; int main() { int na,nb,nc;cin>>na>>nb>>nc; int a[na+nb]; int b[nb]; int c[nc]; int ga[na+nc]; k.input(a,na);k.input(b,nb);k.input(c,nc); for(int i=0;i<na;i++) ga[i]=a[i]; k.binji(a,na,b,nb); printf("\n"); k.binji(ga,na,c,nc); return 0; }
-
02019-09-24 16:04:01@
#include<iostream> using namespace std; //#define UP -3 //#define DOWN -4 class Array { private: int *a; int n; int size; public: Array(int set_n) { size=10000; a=new int[size]; n=set_n; } /* Array (char fname[]) { ifstream fin(fname); */ void set_array() { for(int i=0;i<n;i++) cin>>a[i]; } void output() { for(int i=0;i<n;i++) cout<<a[i]<<" "; cout<<endl; } /*错误数据 input:10 1 2 4 1 3 4 1 2 7 9 output:1 2 4 1 3 4 1 2 7 9 */ void uniquelize() { for(int i=0;i<n-1;i++) { for(int j=i+1;j<n;j++) { int flag=0; if(a[i]==a[j]) { flag=1; } if(flag) { for(int p=j;p<n-1;p++) { a[p]=a[p+1]; } j--; n--; } } } } /* int flag=0; if(a[i]==a[i+1]) { flag=1; } if(flag) { for(int j=i;j<n-1;j++) { a[j]=a[j+1]; } i--; n--; } } */ void sum_up(Array &L1,Array &L2)//(求并集)只是单纯的合并,合并同类项要在main函数中调用uniquelize函数,中间要调用uniquelize函数 { int flag_L2=0; for(int i=0;i<L1.n;i++) { a[i]=L1.a[i]; } for(int i=L1.n;i<L1.n+L2.n;i++) { a[i]=L2.a[flag_L2]; flag_L2++; } } }; int main() { int n1,n2,n3; cin>>n1>>n2>>n3; Array a3(n3); Array a2(n2); Array a1(n1); Array result_arr1(n1+n2); Array result_arr2(n1+n3); a1.set_array(); a2.set_array(); a3.set_array(); result_arr1.sum_up(a1,a2); result_arr2.sum_up(a1,a3); //result_arr1.output(); //result_arr2.output(); result_arr1.uniquelize(); result_arr2.uniquelize(); result_arr1.output(); result_arr2.output(); /*错误数据 input:10 1 2 4 1 3 4 1 2 7 9 output:1 2 4 1 3 4 1 2 7 9 int test_n; cin>>test_n; Array test(test_n); test.set_array(); test.output(); test.uniquelize(); test.output(); */ system("pause"); return 0; }
- 1
信息
- 难度
- 6
- 分类
- (无)
- 标签
- 递交数
- 906
- 已通过
- 270
- 通过率
- 30%
- 被复制
- 12
- 上传者