일차원 배열이 같은지, 다른지 여부를 확인하는 문제를 가지고 왔습니다.
물론 단번에 코드를 본다면 좋기야 하겠지만 장기적으로 봤을때
혼자풀어보기 -> 힌트 -> 코드보기 순으로 공부하시는게 실력 향상에 큰 도움이 됩니다!
힌트를 보고 천천히 생각을 거쳐서 문제를 풀어보시고
답안을 확인해보세요
더보기
int equalarray(int a[], int b[], int n)
a[] = 비교하는 배열1
b[] = 비교하는 배열2
n = 배열 원소수
배열 a와 배열 b가 같은지 여부를 판단하면 됩니다.
기본틀은 이러합니다.
#include<stdio.h>
void copyarray(int from[], int to[], int n);
int main(void){
int a[] = {2, 4, 6, 8, 10};
int b[] = {2, 4, 6, 8, 10};
int c[] = {3, 2, 4, 5, 2};
// a,b 배열이 같음을 테스트한다.
// b,c 배열이 다름을 테스트한다.
}
int equalarray(int a[], int b[], int n){
값이 다르면 0을 리턴하고
값이 같으면 1을 리턴한다.
}
작성해 보시고 답안을 확인해주세요^^
더보기
답안1
#include<stdio.h>
int equalarray(int a[], int b[], int n);
int main(void)
{
int a[] = {2, 4, 6, 8, 10};
int b[] = {2, 4, 6, 8, 10};
int c[] = {3, 2, 4, 5, 2};
int result1 = equalarray(a, b, sizeof(a) / sizeof(a[1])); //a,b를 비교한다
int result2 = equalarray(b, c, sizeof(b) / sizeof(b[1])); //b,c를 비교한다
if (result1==1) printf("두배열은같다.\n"); //return 값이 1이면 같고 0이면 다르다
else printf("두배열은다르다.\n");
if (result2==1) printf("두배열은같다.\n"); //return 값이 1이면 같고 0이면 다르다
else printf("두배열은다르다.\n");
return 0;
}
int equalarray(int a[], int b[], int n)
{
int i;
for (i = 0; i < n; i++) //a와 b를 비교하여 다른 구성이 있다면 0을 리턴하고
if (a[i] != b[i]) return 0;
return 1; //a와 b를 비교하여 같다면 1을 리턴한다.
}
더보기
답안2
#include<stdio.h>
int equalarray(int a[], int b[], int n);
int main(void)
{
int a[] = {2, 4, 6, 8, 10};
int b[] = {2, 4, 6, 8, 10};
int c[] = {3, 2, 4, 5, 2};
int result1 = equalarray(a, b, sizeof(a) / sizeof(a[1])); //a,b를 비교한다
int result2 = equalarray(b, c, sizeof(b) / sizeof(b[1])); //b,c를 비교한다
if (result1) printf("두배열은같다.\n"); //return 값이 1이면 같고 0이면 다르다
else printf("두배열은다르다.\n");
if (result2) printf("두배열은같다.\n"); //return 값이 1이면 같고 0이면 다르다
else printf("두배열은다르다.\n");
return 0;
}
int equalarray(int a[], int b[], int n)
{
int i;
for (i = 0; i < n; i++) //a와 b를 비교하여 다른 구성이 있다면 0을 리턴하고
if (a[i] != b[i]) return 0;
return 1; //a와 b를 비교하여 같다면 1을 리턴한다.
}
더 많은 C언어 글이 궁금하다면?
https://chuinggun.tistory.com/category/C%EC%96%B8%EC%96%B4
'C언어' 카테고리의 다른 글
[C언어] 0에서 9까지의 정수 중에서 10개의 수를 입력 받아 가장 많이 입력 받은 빈도 수와 몇 번인지 출력하는 프로그램을 작성하시오. (0) | 2022.11.27 |
---|---|
[C언어] 배열을 활용하여 배열의 총합과 평균을 출력하는 함수를 작성하시오 (0) | 2022.11.27 |
[C언어] 일차원 배열을 복사하는 함수를 작성하여 결과를 알아보는 프로그램을 작성하시오 void copyarray(int from[], int to[], int n) (0) | 2022.11.27 |
[C언어] 3 6 9 마다 짝소리를 내는 369 프로그램을 작성하시오 (0) | 2022.11.26 |
[C언어] 더블더블 (0) | 2022.03.16 |
댓글