수다닷컴

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

c++ 질문이요 간단한소스코드..

무들

2023.04.01

#includeiostream
using namespace std;
void main()
{
int num[3],max,min,mid;
cout 첫번째 정수를 입력하세요 : ; //50 입력한값이라고생각하구..
cin num[0];
cout 두번째 정수를 입력하세요 : ; //30
cin num[1];
cout 세번째 정수를 입력하세요 : ; //40
cin num[2];

//max에 배열의 첫 원소를 집어넣고
//두번째, 세번째와 비교해나간다.
//최대값을 구하는 반복문

max=num[0];
for(int i=0;i3;i++)
if(maxnum[i])
max=num[i];

//max에 배열의 첫 원소를 집어넣고
//두번째, 세번째와 비교해나간다.
//최소값을 구하는 반복문
min=num[0];
for(int j=0;j3;j++)
if(minnum[j])
min=num[j];

//max에 배열의 첫 원소를 집어넣고
//두번째, 세번째와 비교해나간다.
//중간값을 구하는 반복문

for(int k=0;k3;k++)
if( ((num[k])!=max) && (num[k]!=min))
mid=num[k];
coutmaxmidminendl;
}

이건제가 짜다가 어느분깨 도움을 받아서 완성한 소스코드입니다
그런데 이해가잘안되서요 어디가냐면
색칠한부분에서 for 반복문 3번을돌립니다 그런데 걱서 지금 min = num[1] min 은 30으로 min = num[2] 는 min은 40으로 되있기때문에 밑에 if 조건문에 해당이안되서 mid = num[k] 는 실행안하고 나오지않나여??
제가 잘못 이해를 하고있는거같은데...설명좀부탁드리겠습니다 ㅠㅠ

신청하기





COMMENT

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

  • 로다

    for문 괄호() 다음에 중괄호 { } 로 반복할 구간을 씌워주시는 것이 보기 좋을 것 같네요...
    for(int i=0;i3;i++)
    {
    if(maxnum[i])
    max=num[i];
    }
    이렇게요....ㅎㅎㅎ 아무것도 아니지만 보기 좋은 소스가 디버깅하기도 좋아요...

  • 카라

    본 소스에는 버그가 존재하네요
    만약 동일한 값이 입력되면 값이 나오지 않는 것이 발생합니다
    이러한 경우에는 해당 배열의 인덱스를 기억하는 로직으로 변경하는 것이 맞을 듯 합니다

  • 달빛

    소스가 세개의 정수를 입력받아서 num 배열에 저장을 하고 여기서 최소, 중간, 최대값을 찾는 소스네요.
    마지막 for문이 왜 이해가 안돼는지 모르겠네요. 만야게 20, 50, 30 을 입력받으면 num = { 20, 50, 30} 이겠군요.
    max 구하는 for문에 의해 max = 50, min 구하는 for문에 의해 min 은 20이 되있겠네요.
    마지막 for문은 중간값을 구하는 건데, num[0]~num[2] 까지 루프 돌리면서 최소값(20)

  • 진나

    값이 세개잖아요... 그러니 최소 최대 아니면 중간이라서 min과 max 아니니 mid 가 되는거구요
    40은 마지막에 if에 의해 걸러져서(그때 min이 30이고 30 40 이나 min값은 동일하게됩니다

  • Glisten

    min 값은 30이나 40 두개중 하나가 아니라 30이 됩니다.

  • 찬솔

    제가...그건알고있는데요 저기 초록생 부분에서 3번 반복하자나요 ㅠㅠ그런데
    max 값이 50 으로되있고 min 값은 30,40 두개 둘중하나인데 마지막실행된게 40이자나요 그래서 40으로
    기억한다구하면요 마지막 포문에서 조건 num[k]가max랑 같지 않을때 num[k]min 과같지않을때 둘다 성립되야 mid=num[k] 가나오자나요 이부분이 좀이해가안가내요....
    만약 50 30 40 이렇게 입력안받았다고생각하면 음.. 20 50 30 이렇게 입력

  • 헛매질

    For문에서 조건문의 내용이 끝나기 전까지 아래로 내려가지 않습니다 따라서 위의 포문을 통해 max와 min의 값이 고정 되지요 따라서 중간값이 나오는것 입니다.

번호 제 목 글쓴이 날짜
2700313 파일 읽어서 저장하는데 빈파일일 경우 문재가 발생하네요.. (2) 크나 2025-07-03
2700287 구조체 동적할당 연습을 하는데 오류가 뜹니다...(해결) (3) 아련나래 2025-07-03
2700264 문자와 숫자 동시에 입력??? 글고운 2025-07-03
2700236 txt파일로만 쓰고 읽게 하려면 어떻게 해야 하나요..?? (8) 미국녀 2025-07-03
2700211 전위 연산자 (2) 어른처럼 2025-07-02
2700183 C에서 파일이름을 받고, 그 파일의 사이즈를 출력해줘야하는데 내용이 출력이 안되네요 ;ㅅ; 피스케스 2025-07-02
2700150 꼭좀 도와주세요ㅠㅠㅠ 호습다 2025-07-02
2700095 연산문제...질문... 오빤테앵겨 2025-07-01
2700070 while문 , 3의배수 출력하는 프로그램좀 짜주세욤. 횃불 2025-07-01
2700041 초보인데요 ㅎ 배열안에 배열을 집어넣을수 있나요?? 헛장사 2025-07-01
2700012 배열// (1) 전갈자리 2025-07-01
2699895 무한루프에 빠집니다.!! 해결좀부탁드려요 (10) 선아 2025-06-30
2699842 질문을 너무 많이 하네여.....죄송.... (2) 해님꽃 2025-06-29
2699816 오류 질문입니다.. (1) 해비치 2025-06-29
2699763 질문입니다 ! 꼭 좀 도와주세요ㅠㅠ (2) 미라 2025-06-28
2699555 c언어 다항식을 입력을 했는데 왜 출력이 안될까요? 피스케스 2025-06-27
2699528 C언어 포인터연산 질문입니다. (3) 안녕나야 2025-06-26
2699476 끌어올림;;달력 짜봤는데요 이 소스 줄일 수 있나요? - 스샷첨부 (2) 클라우드 2025-06-26
2699444 [좀 급함] system("explorer [주소] ") 문에 변수를 사용할 수 있나요? 알 2025-06-26
2699415 파일//read//와 배열 아란 2025-06-25
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

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