[ create a new paste ] login | about

Link: http://codepad.org/LRux3O4O    [ raw code | output | fork ]

C, pasted on May 19:
/* Nhập vào mảng 1 chiều các số nguyên, hãy 
tách các số đối xứng có trong mảng ra 1 mảng mới, tách
các số chẵn ra 1 mảng mới sau đó gộp 2 mảng lại để tạo ra
1 mảng mới theo quy tắc: Mảng đối xứng trước - mảng chẵn sau */
#include<stdio.h>
#include<conio.h>
#define MAX 100
void NhapMang(int a[], int n)
{
	for (int i = 0; i < n; i++)
	{
		printf("\nNhap vao phan tu a[%d] = ", i);
		scanf_s("%d", &a[i]);
	}
}
void XuatMang(int a[], int n)
{
	for (int i = 0; i < n; i++)
	{
		printf("%4d", a[i]);
	}
}

// nếu x đối xứng = > trả về 1, ngược lại trả về 0
int KiemTraDoiXung(int x)
{
	int SoNghichDao = 0;
	int themang = x;
	while (themang != 0)
	{
		SoNghichDao = SoNghichDao * 10 + themang % 10;
		themang /= 10;
	}
	if (SoNghichDao == x)
	{
		return 1;
	}
	return 0;
}
void TachMang(int a[], int n, int doixung[], int &ndoixung, int chan[], int &nchan)
{
	ndoixung = nchan = 0;
	for (int i = 0; i < n; i++)
	{
		if (KiemTraDoiXung(a[i]) == 1)
		{
			doixung[ndoixung] = a[i];
			ndoixung++;
		}
		if (a[i] % 2 == 0)
		{
			chan[nchan] = a[i];
			nchan++;
		}
	}
}

void GopMang(int doixung[], int ndoixung, int chan[], int nchan, int ketqua[], int &nketqua)
{
	nketqua = 0;
	// Xét mảng đối xứng trước
	for (int i = 0; i < ndoixung; i++)
	{
		ketqua[nketqua] = doixung[i];
		nketqua++;
	}
	// Xét mảng chẵn sau;
	for (int i = 0; i < nchan; i++)
	{
		ketqua[nketqua] = chan[i];
		nketqua++;
	}
}
int main()
{
	int n;
	do
	{
		printf("\nNhap vao so luong phan tu cua mang: ");
		scanf_s("%d", &n);

		if (n < 0 || n > MAX)
		{
			printf("\nSo luong phan tu khong hop le. Xin kiem tra lai !");
		}
	} while (n < 0 || n > MAX);

	int a[MAX];
	NhapMang(a, n);
	XuatMang(a, n);

	int doixung[MAX], ndoixung, chan[MAX], nchan;
	TachMang(a, n, doixung, ndoixung, chan, nchan);
	
	printf("\nMang chua cac so doi xung: ");
	XuatMang(doixung, ndoixung);

	printf("\nMang chua cac so chan: ");
	XuatMang(chan, nchan);

	int ketqua[MAX], nketqua;
	GopMang(doixung, ndoixung, chan, nchan, ketqua, nketqua);
	printf("\nMang sau khi gop: ");
	XuatMang(ketqua, nketqua);

	_getch();
	return 0;
}


Output:
1
2
3
4
5
6
7
8
Line 17: error: conio.h: No such file or directory
In function 'NhapMang':
Line 10: error: 'for' loop initial declaration used outside C99 mode
In function 'XuatMang':
Line 18: error: 'for' loop initial declaration used outside C99 mode
t.c: At top level:
Line 40: error: expected ';', ',' or ')' before '&' token
Line 58: error: expected ';', ',' or ')' before '&' token


Create a new paste based on this one


Comments: