수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

[급질]배열 포인터를 이용한 교,차,합 집합 구하는 소스입니다.

키클

2023.04.01

질문 제목 : 배열과 포인터에 관한 질문입니다.
아래 소스에서 메인문에 배열 b가있습니다.
근데 배열 b에 자료가 7개이므로 배열의 크기도 7로해주면
마지막 공간에는 자료값이 입력이 안되어 있으므로 0이 들어가야 하는거 아닌가요??
분명 배열 b의 공간인데 자꾸 배열 a의 첫번째 값이 들어가지네요..ㅠㅠ
그래서 배열의 크기를 8로 하니까 7번째에 0이들어가지네요.
빠른답변 부탁드립니다.

질문 내용 :
#include stdio.h
void cross_prt(int *aa, int *bb, int *cc);//교집합 출력부
void differ_prt(int *aa, int *cc, int *dd);//차집합 출력부
void total_prt(int *bb, int *dd, int *ee);//합집합 출력부
int cross(int *aa, int *bb);//교집합 연산부
int differ(int *aa, int *bb);//차집합 연산부
int total(int *bb, int *dd );//합집합 연산부
int i=0;
/*******************************************************************************/
//main함수
int main()
{

int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int b[8] = {2, 4, 6, 8, 10, 12, 14};
int c[20];//교집합값 저장
int d[20];//차집합값 저장
int e[20];//합집합값 저장
int *aa = a;
int *bb = b;
int *cc = c;
int *dd = d;
int *ee = e;
cross_prt(aa, bb, cc);
differ_prt(aa, cc, dd);
total_prt(bb, dd, ee);
//printf(%p %p, aa, b+8);
return 0;
}
/*******************************************************************************/
//교집합(출력부)
void cross_prt(int *aa, int *bb, int *cc)
{
for(i=0; i=9; i++)//배열 c에 입력
{
*(cc+i)=cross(aa+i, bb);
}printf(**a와 b의 교집합**\n);//출력
for(i=0; i=9; i++)
{
if(*(cc+i)!=0)
{
printf(%d , *(cc+i));
}
}
printf(\n\n);
}
////////////////////////////////////////////////////////
//차집합(출력부)
void differ_prt(int *aa, int *cc, int *dd)
{
for(i=0; i=9; i++)//배열 d에 입력
{
*(dd+i)=differ(aa+i, cc);
}
printf(**a와 b의 차집합**\n);//출력
for(i=0; i=9; i++)
{
if(*(dd+i)!=0)
{
printf(%d , *(dd+i));
}
}
printf(\n\n);
}
////////////////////////////////////////////////////////
//합집합(출력부)
void total_prt(int *bb, int *dd, int *ee)
{
int j=0, k=0;
for(i=0; i=6; i++)//배열 e에 입력
{
*(ee+i)=total(bb+i, dd);
}
for(i=0; i=10; i++)
{
*(ee+(7+i))=total(bb+7, dd+i);
}
printf(**a와 b의 합집합**\n);//오름차순 정렬
for(i=0; i=16; i++)
{
for(j=i+1; j=16; j++)
{
if(*(ee+i) *(ee+j))
{
k=*(ee+i);
*(ee+i)=*(ee+j);
*(ee+j)=k;
}
}
}for(i=0; i=16; i++)//출력
{
if(*(ee+i)!=0)
{
printf(%d , *(ee+i));
}
}
printf(\n\n);
}
/*******************************************************************************/
//교집합(연산부)
int cross(int *aa, int *bb)
{
int j;
for(j=0; j7; j++)
{
if(*aa == *(bb+j)) break;
}
return *(bb+j);
}
//////////////////////////////////////////////////
//차집합(연산부)
int differ(int *aa, int *cc)
{
int j;
for(j=0; j10; j++)
{
if(*aa == *(cc+j))
{
return 0;
}
}
return *aa;
}
//////////////////////////////////////////////////
//합집합(연산부)
int total(int *bb, int*dd)
{
if(*bb!=0)
{
return *bb;
}
return *dd;
}

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 중독된

    아~그동안 제가 너무 기본적인걸 착각하고 있었네요..ㅋㅋ
    감사합니다...ㅋㅋ

  • 대나무

    배열 b에 자료가 7개이므로 배열의 크기도 7로해주면
    마지막 공간에는 자료값이 입력이 안되어 있으므로 0이 들어가야 하는거 아닌가요??
    -- 배열크기 7, 자료가 7개면 소위 남는공간이 없죠..
    분명 배열 b의 공간인데 자꾸 배열 a의 첫번쨰 값이 들어가지네요..ㅠㅠ
    그래서 배열의 크기를 8로 하니까 7번째에 0이 들어가지네요.
    -- 배열의 인덱스값은 7번째 = 인덱스 6 이죠 ^^ ..

번호 제 목 글쓴이 날짜
2697401 열혈강의 문제오류 (1) 꿈 2025-06-07
2697374 기초적인 C언어 프로그래밍 입니다. 얼 2025-06-07
2697341 좌우대칭 문제인데 Q가 입력되면 종료가 되야하는데 되지않습니다 무지개 2025-06-07
2697314 fprintf와 fscanf 로 파일 입출력 할떄 밝음이 2025-06-06
2697293 툴 소스 뽑아내는법 도움 2025-06-06
2697264 소소한거 두어가지 질문할께요~ (8) 별솔 2025-06-06
2697235 scanf로 인풋 받을 때?! 보담 2025-06-06
2697207 열혈강의 연습문제 질문이요~ (2) 맥적다 2025-06-05
2697182 strcmp, strtok - 어떤 기능을 하는지... 루다 2025-06-05
2697129 [질문] 아래 저축액을 계산하는 프로그램 ㅠ 추가 질문 (7) 찬늘 2025-06-05
2697072 쌩초보 질문! (1) 얀 2025-06-04
2697050 도움부탁드립니다.. 화이트 2025-06-04
2697023 gotoxy함수, 어떻게 사용하죠? (3) 적송 2025-06-04
2696994 c언어를 막 시작한 초보인데 질문이 있어용 ㅠㅠ (2) 귀1여운렩 2025-06-03
2696944 윈도우 콘솔프로그램 질문드립니다 (2) 꽃님이 2025-06-03
2696882 c언어 입력받기 질문 입니다 (2) 흰추위 2025-06-02
2696853 문자열은 정적메모리에 할당된다고 하는데 정적메모리가 뭡니까?? (6) 다온 2025-06-02
2696799 c c++언어입문전에 파이톤이나 자바스크립트배워두면.. (2) 앨런 2025-06-02
2696747 size of 연산자에 대해 질문이 있습니다. (3) 유진공주 2025-06-01
2696721 Char 타입의 2D array 기초에 대해 질문드립니다. 벚꽃 2025-06-01
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com