2018년 11월 1일 목요일

[c++] array reverse

#include <stdio.h>
#include <stdlib.h>
#include <cstdlib>
#include <ctime>

#define NUMBER_COUNT 5

int main()
{
	int a[NUMBER_COUNT], i, temp, half_cnt = NUMBER_COUNT / 2;

    srand((unsigned int)time(NULL));

	for(i=0;i<NUMBER_COUNT;i++){
		a[i] = rand() % 100 + 1;
		printf("%d ",a[i]);
	}
	printf("\n");

	for(i=0; i<half_cnt ;i++){
		temp = a[i];
		a[i] = a[NUMBER_COUNT-i-1];
		a[NUMBER_COUNT-i-1] = temp;
		a[NUMBER_COUNT-i-1] = temp;
	}

	for(i=0;i<NUMBER_COUNT;i++){
		printf("%d ",a[i]);
	}
	
	printf("\n");
	system("pause");

	return 0;

}

위 소스를 보면 NUMBER_COUNT 로 개수를 미리 셋팅합니다. 그리고 돌려 보면 미리 랜덤하게 생성된 값을 보여주고 그리고 바로 밑에 서로 자리를 바꾼 값을 보여줍니다.

바꾸는 방법은 양끝에 있는 것을 서로 자리를 바꾸는 방식으로 하였습니다. 그래서 반복문은 전체 수에서 절반(버림) 만큼 반복합니다.

댓글 없음:

댓글 쓰기