백준 2750 c++

magicdrill·2024년 3월 14일

백준 문제풀이

목록 보기
148/673

백준 2750 c++

#include <iostream>

using namespace std;
int input(int lower, int upper);
void int_array_input_no_repetition(int* array, int size);
void sort(int* array, int size);
void print_array(int* array, int size);

int main(void)
{
	int N;
	int* arr;

	N = input(1, 1000);
	arr = new int[N];
	int_array_input_no_repetition(arr, N);
	sort(arr, N);
	print_array(arr, N);

	delete[] arr;

	return 0;
}

int input(int lower, int upper)
{
	int A;

	while (1)
	{
		cin >> A;
		if (A >= lower && A <= upper)
		{
			break;
		}
		else
		{
			;
		}
	}

	return A;
}

void int_array_input_no_repetition(int* array, int size)
{
	int i, j;

	for (i = 0; i < size; i++)
	{
		array[i] = input(-1000, 1000);
		for (j = 0; j < i; j++)
		{
			if (array[i] == array[j])
			{
				i--;
				break;
			}
			else
			{
				;
			}
		}
	}

	return;
}

void sort(int *array, int size)
{
	int i, j;
	int key, temp;

	for (i = 1; i < size; i++)
	{
		key = array[i];
		for (j = i-1; j >= 0; j--)
		{
			if (key < array[j])
			{
				//swap
				temp = array[j];
				array[j] = key;
				array[j+1] = temp;
			}
			else
			{
				;
			}
		}
	}


	return;
}

void print_array(int* array, int size)
{
	int i = 0;

	for (i = 0; i < size; i++)
	{
		cout << array[i] << endl;
	}

	return;
}

0개의 댓글