[c언어] 집합 구현
2020. 12. 21. 15:30ㆍComputer Science/C
수학에서 집합(set)은 다중집합(multiset)과 다르게 원소의 중복을 허용하지 않는다.
최대 5개의 정수형 원소를 저장할 수 있는 집합 (set)을 구현한다.
정수를 입력받아 집합의 원소로 추가하고, 그때마다 집합의 원소들을 출력한다.
집합의 원소가 5개가 되면 프로그램을 종료한다.
#include <stdio.h>
void printSet(int list[], int size)
{
int i;
printf("{ ");
for (i = 0; i < size; i++)
{
if (i != 0 && i < size)
printf(", ");
printf("%d", list[i]);
}
printf(" }");
printf("\n");
}
int is_in(int number, int list[], int index)
{
int j;
for (j = 0;j <= index;j++)
{
if (number == list[j])
return 0;
}
return 1;
}
int main(void)
{
int i, num, index = 0;
int set[5];
for (i = 0;index < 5;i++)
{
printf("집합에 추가할 원소 : ");
scanf("%d", &num);
if (is_in(num, set, index) == 0)
printf("%d은 이미 집합에 있음\n", num);
else
{
set[index] = num;
index++;
printSet(set, index);
}
}
return 0;
}
결과

'Computer Science > C' 카테고리의 다른 글
[c언어] 2차원 배열 각 열의 합 (0) | 2020.12.21 |
---|---|
[c언어] 선택 정렬 (0) | 2020.12.21 |
[c언어] 다중집합 (0) | 2020.12.21 |
[c언어] 문자열 속 숫자 합 계산 (아스키코드) (0) | 2020.12.21 |
[c언어] 자리예약 시스템 (0) | 2020.12.21 |