#include <stdio.h>
int main()
{
int dataA+ = { 0 }, dataB[20] = { 0 }, and_set+ = { 0 },or_set[30] = { 0 };
int i, j, input;
printf("30개의 정수를 입력하시오.\n");
for (i = 0; i < 30; i++) {
if (i < 10) {
scanf_s("%d", &dataA[i]);
}
else {
scanf_s("%d", &dataB[i - 10]);
}
}
printf("\n입력된 30개의 정수들 :.\n");
for (i = 0; i < 30; i++) {
if (i < 10) {
printf("%d ", dataA[i]);
}
else {
printf("%d ", dataB[i - 10]);
}
}printf("\n");
/*AND 연산 구현
for (i = 0; i < 10; i++) {
for (j = 0; j < 20; j++) {
if (dataA[i] == dataB[j]) {
and_set[i] = dataA[i];
break;
}
}
}
printf("\ndataA AND dataB = ");
for (i = 0; i < 10; i++) {
if (and_set[i] != 0) {
printf("%d ", and_set[i]);
}
}
*/
/* or_set 구현법 dataA와 dataB의 원소값들을 다른배열에 복사하고
중복된원소를 찾아 0으로 만든다. 이후 출력할때 0을 제외하고 출력 */
for (i = 0; i < 30; i++) {
if (i < 10) {
or_set[i] = dataA[i];
}
else {
or_set[i] = dataB[i-10];
}
}
for (i = 0; i < 29; i++) {
if (or_set[i] == or_set[i + 1]) {
or_set[i] = 0;
}
}
printf("\ndataA OR dataB = ");
for (i = 0; i < 30; i++) {
if (or_set[i] != 0) {
printf("%d ", or_set[i]);
}
}
return 0;
}
AND연산은 되는데 OR은 제가 아무리봐도 로직문제을 못찾겟어요(물론 구대기로직이겠지만) 컴파일은 오류없이 되는데 or연산 구현이 의도대로 안되고 입력값 그대로 나와버립니다 .. ㅠㅠ 이런질문도 받아주는곳인지는 몰라서 일단 올려봐요
딱 이상한 부분만 좀 올려줘~
읽기 귀찮아. ~입력값을 넣었는데 ~부분에서 이상합니다 ㄱㄱ - dc App
나는 ~~를 구현하여했고 ~~로 코드를 짰습니다. 그런데 ~~부분에서 예외가 발생합니다..원인 뭐임 ㄱㄱ - dc App
위에는 사실 볼거없고 /* or_set 구현법 dataA와 dataB의 원소값들을 다른배열에 복사하고 중복된원소를 찾아 0으로 만든다. 이후 출력할때 0을 제외하고 출력 */부터가
질문한코드인데요 or연산이되게끔 인덱스값 중복해서 넣어줘도 출력할때는 모든 입력값이나와버립니당
나는 술마셔서 안 읽었고 그나마 이런 곳에서 답변 받으려면 코드부터 올리는게 아니라 개발 의도와 문제 상황부터 올려봐. github갤 등등 다른 곳 가면 답변은 해줄거야 - dc App
답변감사해요 다올린이유는 고수님들한테는 한눈에 이해되는 코드들일거라생각해서 전체 흐름 이해되시라고 다올렸던거에요. 질문요령 참고할게요 감사합니다