Advertisement

Solution of cs201 second assigmment fall 2009

"#include"
using namespace std;

void merge(char[],int, char[],int ,char[],int&);
void fill(char[], int&,char[],int,int&);
void print(char[],int,string);
void input(char[],int,string);
void sort(char[],int);
bool already(char,char[],int);
int main()
{char a[10],b[10],c[20];
int asize=10,csize=0,bsize=10;
input (a,asize,"array 1");
input (b,bsize,"array 2");

print(a,asize,"Original Array 1");
print(b,bsize,"Original Array 2");
//sort(a,asize);
//sort(b,bsize);
merge(a,asize,b,bsize,c,csize);
print(c,csize,"Merged Array");
sort(c,csize);
print(c,csize,"Sorted Merged Array");
system("pause");
return 0;
}
void print(char a[],int n,string mess)
{int i;
cout< for(i=0;i cout<cout<return;
}
void merge(char a[],int asize,char b[],int bsize,char c[], int& csize)
{int aupto=0,bupto=0,turn=0;
while(aupto+bupto<(asize+bsize))
{
if(turn==0)
{if(!already(a[aupto],c,csize))
c[csize++]=a[aupto++];
else
aupto++;
if(aupto==asize)
fill(c,csize,b,bsize,bupto);
turn=1;
}
else
{if(!already(b[bupto],c,csize))
c[csize++]=b[bupto++];
else
bupto++;
if(bupto==bsize)
fill(c,csize,a,asize,aupto);
turn=0;
}
}
return;
}

void fill(char c[],int &csize,char b[],int bsize,int &bupto)
{while(bupto if(!already(b[bupto],c,csize))
c[csize++]=b[bupto++];
else
bupto++;
return;
}
void sort(char a[],int size)
{int i,j;
char t;
for(i=0;i for(j=i;j if(a[j] {t=a[i];
a[i]=a[j];
a[j]=t;
}
}
void input(char a[],int n, string mess)
{int i;
cout<<"Enter "< for(i=0;i cin>>a[i];
}
bool already(char a,char c[],int csize)
{int i;
for(i=0;i if(a==c[i])
return true;

return false;
}

0 Responses