[ create a new paste ] login | about

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

C++, pasted on Jan 24:
#include <stdio.h>
#include <memory.h>

#define N 5
#define M 8

int main(int argc, char* argv[])
{
	int A[N] = { 2, 3, 4, 5, 6 };
	int B[M] = { 1, 3, 4, 5, 6, 7, 8, 9 };

	printf("A = ");

	for (int i1 = 0; i1 < N; i1++)
		printf("%d ", A[i1]);

	printf("\nB = ");

	for (int j1 = 0; j1 < M; j1++)
		printf("%d ", B[j1]);

	printf("\n");

	int C[N + M] = { 0 };
	int size_n = sizeof(int) * N;
	int size_m = sizeof(int) * M;
	memcpy((void*)C, (void*)(size_n <= size_m) ? B : A, 
		(size_n <= size_m) ? size_m : size_n);

	int n = (size_n <= size_m) ? M : N;
	for (int i = 0; i < ((size_n <= size_m) ? N : M); i++)
	{
		int nkey = (size_n <= size_m) ? A[i] : B[i];
		for (int j = n-1; C[j] > nkey; j--)
		{
			C[j + 1] = C[j];
			C[j] = nkey;
		}

		n++;
	}

	printf("\nC = ");

	for (int k1 = 0; k1 < N+M; k1++)
		printf("%d ", C[k1]);

	printf("\n");

    return 0;
}


Output:
1
2
3
4
A = 2 3 4 5 6 
B = 1 3 4 5 6 7 8 9 

C = 1 2 3 3 4 4 5 5 6 6 7 8 9 


Create a new paste based on this one


Comments: