#include<stdio.h>
#include<stdlib.h>
void Input_element(int set[], int set1[], int set2[])
{
printf("집합1에 삽입할 원소 10개를 입력하세요\n");
for(int i=0; i<10; i++) scanf("%d",&set1[i]);
printf("집합2에 삽입할 원소 10개를 입력하세요\n");
for(int i=0;i<10;i++) scanf("%d",&set2[i]); //<-- int 빠짐
}
void output_element(int set[],int num)
{
printf("집합의 원소를 출력 합니다.\n{");
for(int i=0; i<num; i++) printf("[%d]",set[i]);
printf("}\n");
}
void main()
{
int set[20]={0};
int set1[10]={0};
int set2[10]={0};
int input=0;
int i,j,num;
while(1)
{
printf("선택 하세요 - 1.합집합 구하기 2. 교집합 구하기 3. 종료 :");
scanf("%d",&input);
switch(input)
{
case 1:
num=10;
Input_element(set,set1,set2);
for(i=0;i<10;i++) set[i]=set1[i];
for(i=0;i<10;i++)
{
for(j=0;j<10;j++) if(set1[j]==set[i]) break;
if(j>=10) set[num++]=set2[i]; //<-- 세미콜론 빠짐
}
output_element(set,num);
break;
case 2:
num=0;
Input_element(set,set1,set2);
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if (set1[j]==set2[i]) set[num++]=set2[i];
}
}
output_element(set,num);
break;
case 3:
printf("종료합니다\n");
exit(1);
break;
}
}
}
// 누구나 자주 일어나는 실수입니다.
// 컴파일 했을 때 나오는 에러 메시지를 무서워하지 말고
// 천천히 살펴 보세요
// 몇 번 경험하다보면 쉽게 찾을 수 있습니다.
// 좋은 하루 되십시오~~
//----------------------------------------
// ┏┓
// ┣┻┓┏ ┃┃ 작은 생각이 세상을 바꾼다
// ┃♡┃┣ ┣┫┏┓
// ┗━┛┗ ┃┃┣┫┏┓┏┓ - 정성훈.해미
// ━━━━━━━━━┣┛┣┛┗┫━━━━━━
//----------------------------------------
// 볼랜드 포럼(http://www.borlandforum.com)
// 해미이야기(http://sage5nor.mchol.com)
//----------------------------------------
루피블루 님이 쓰신 글 :
: #include<stdio.h>
: #include<stdlib.h>
: void Input_element(int set[], int set1[], int set2[])
: {
: printf("집합1에 삽입할 원소 10개를 입력하세요\n");
: for(int i=0; i<10; i++)
: scanf("%d",&set1[i]);
:
: printf("집합2에 삽입할 원소 10개를 입력하세요\n");
: for(i=0;i<10;i++)
: scanf("%d",&set2[i]);
: }
:
: void output_element(int set[],int num)
: {
: printf("집합의 원소를 출력 합니다.\n{");
: for(int i=0; i<num; i++)
: printf("[%d]",set[i]);
: printf("}\n");
: }
:
: void main()
: {
: int set[20]={0};
: int set1[10]={0};
: int set2[10]={0};
: int input=0;
: int i,j,num;
:
: while(1)
: {
: printf("선택 하세요 - 1.합집합 구하기 2. 교집합 구하기 3. 종료 :");
: scanf("%d",&input);
: switch(input)
: {
: case 1:
: num=10;
: Input_element(set,set1,set2);
: for(i=0;i<10;i++)
: set[i]=set1[i];
: for(i=0;i<10;i++)
: {
: for(j=0;j<10;j++)
: if(set1[j]==set[i])
: break;
: if(j>=10)
: set[num++]=set2[i]
:
: }
: output_element(set,num);
: break;
:
: case 2:
: num=0;
: Input_element(set,set1,set2);
: for(i=0;i<10;i++)
: {
: for(j=0;j<10;j++)
: {
: if (set1[j]==set2[i])
: set[num++]=set2[i];
: }
: }
: output_element(set,num);
: break;
: case 3:
: printf("종료합니다\n");
: exit(1);
: break;
: }
: }
: }
: 변수선언이 잘 못 된거 같은데... 어느 부분인지 잘 모르겟습니다. .
: 아시는 분 도움좀 주세요