반응형
문제)
배열[10]칸의 초기화가 되었다
1,2,3,4,5,6,7,8,9,10
위와같이 배열의 초기화가 되어 있는 상태에서
배열의 순서를 바꿔서
배열크기의 반을잘라 홀수는 왼쪽부터
짝수는 오른쪽부터
1,3,5,7,9,2,4,6,8,10
의 순서가 나오도록 출력하라.
아래는 구현한 배열과 for문을 활용하여 구현한
소스코드 이다.
#include <stdio.h>
#include <iostream>
int main()
{
int array[10] = { 1,2,3,4,5,6,7,8,9,10 };
int num=10;
int temp;
int cnt_2 = 5;
int cnt_1 = 0;
int temparray[10] = { 0, };
for (int i = 0; i < num; i++)
{
if (array[i] % 2 == 0)
{
temp = array[i];
temparray[cnt_2]=temp;
cnt_2++;
}
else if (array[i] % 2 == 1)
{
temp = array[i];
temparray[cnt_1] = temp;
cnt_1++;
}
}
for (int k = 0; k < num; k++)
{
printf("%d\n", temparray[k]);
}
printf("\n");
system("pause");
return 0;
}
풀이)
첫번째 문제 해결 조건으로,
출력값을 보니 배열의 INDEX 5번째 칸이후로는
짝수가 들어 간다.
따라서 5번째 칸이후로 짝수를 집어 넣고, 인덱스를
저장할 공간을 임의로 1칸 늘린다.
홀수 또한 마찬가지이다 배열의 0번째 인덱스 부터
4번째 인덱스 까지가 홀수가 들어간다.
따라서 홀수의 값을 집어 넣고 다음인덱스를 가리킬 변수하나가
필요하다.
이 방식으로 접근한다면
위의 소스 코드가 이해가 갈것이다.
반응형
'프로그래밍 _공부자료. > C++ 공부' 카테고리의 다른 글
유니티 C# 객체 끼리 충돌 할때 뭔가를 하고 싶을때 ??? 필요한 함수 (0) | 2022.01.06 |
---|---|
c++로 설문조사 프로그램 만들기. (0) | 2021.12.05 |
유클리드 기법을 활용하여 최대 공약수를 구하는법. (0) | 2020.02.07 |
C언어를 활용한 피보나치수열 입력 값 만큼 돌려 보기. (0) | 2020.02.05 |
C++ 재귀함수를 이용한 10진수를 2진수로 출력. (0) | 2020.01.21 |
댓글