PDA

View Full Version : Code hợp 2 mảng lại với nhau trong lập trình C++. Giúp mình sửa?



vuong92dn
19-12-2010, 11:19 PM
Đầu tiên các bác xem dùm đoạn code của mình.


#include<conio.h>
#include<iostream.h>
#include<math.h>

void nhapmang(int a[],int n)
{
for(int i=0;i<n;i++)
{ cout<<"nhap phan tu thu "<<i+1<<" ";
cin>>a[i]; }
}

void xuatmang(int a[],int n)
{
for(int i=0;i<n;i++)
cout<<a[i]<<"\t";
}

void tronmang(int a[],int b[],int c[])
{ int n,m;
for (int i=0;i<n;i++)
{
c[i]=a[i];
}

i=n;
for (int j=0;j<m;j++)
{
c[i+j]=b[j];
}
}

void xoatrung(int c[],int h)
{
for(int i=0;i<h;i++)
if(c[i]==c[i+1])
{ i--;
for(int j=i+1;j<h;j++)
c[j]=c[j+1];}
}

void hop2mang(int a[],int b[],int c[],int h)
{
tronmang(a,b,c);
xoatrung(c,h);
xuatmang(c,h);
}

void giao2mang(int a[],int b[],int n,int m)
{
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
if(a[i]==b[j])
{
int t=1;
for(int k=0;k<i;k++)
if(a[i]==a[k]) t=0,k=i;
if(t==1) {cout<<a[i]<<"\t";
j=m-1;}
}

}



void main()
{
int a[100],b[100],c[100],h,n,m;
clrscr();
cout<<"nhap n ";
cin>>n;
cout<<"nhap mang 1\n";
nhapmang(a,n);
cout<<"nhap m ";
cin>>m;
cout<<"\nnhap mang 2\n";
nhapmang(b,m);
cout<<"mang 1:\t";
xuatmang(a,n);cout<<endl;
cout<<"mang 2:\t";
xuatmang(b,m);
cout<<"\ngiao 2 mang a,b:\t";
giao2mang(a,b,n,m);
cout<<"\nhop 2 mang\t";
hop2mang(a,b,c,h);
getch();
}

Các bác xem dùm mình hàm "hop2mang". Ở chương trình chính khi mình gọi sao nó không xuất ra. Các bác tìm lỗi sai và sửa giúp mình.

Nobodybk
23-12-2010, 08:26 AM
#include<iostream>
using namespace std;
void nhapmang(int a[],int &n){
cout <<"Nhap so phan tu cua Mang:";
cin >> n;
for (int i=0;i<n;i++){
cout <<"A["<<i<<"]:";
cin >>a[i];
}
}
void tronmang(int a[],int b[],int n,int m){
for (int i=n;i<n+m;i++)
a[i]=b[i-n];
}
void xuatmang(int a[],int n){
for (int i=0;i<n;i++)
cout <<a[i]<< "\t";
cout << "\n";
}

int main(){
int a[20],b[10];
int m,n;
nhapmang(a,n);
cout <<"Mang vua nhap:\n";
xuatmang(a,n);
nhapmang(b,m);
cout <<"Mang vua nhap:\n";
xuatmang(b,m);
tronmang(a,b,n,m);
cout<<"Mang tron:\n";
xuatmang(a,n+m);
return 0;
}



Bạn xem thử thế nào nhé