작성일 : 15-03-13 13:59
143: 반복제어문3 - 형성평가4
 글쓴이 : 최의택(uitaek91)
조회 : 3,801  
#include <stdio.h>
int main()
{
int i, j, n;
scanf("%d", &n);

for (i = 1; i <= n * 2 - 1; i++){
if (i <= n){
for (j = 1; j < i; j++){ printf(" "); }
for (j = n * 2; j >= i*2; j--){ printf("*"); }
}
else
{
for (j = n * 2 - 1; j > i; j--){ printf(" "); }
for (;;) // 1
{
printf("*");
}
}
printf("\n");
}
return 0;
}

1번을 영 모르겠습니다. 도와주세요.

컴스쿨 15-03-13 15:57
 
1번의 자리는 for (j=1;j<=i- (n*2-1-i);j++)  이렇게 하면 결과는 나옵니다.
그러나 생각해내기가 좀 어렵죠..
그래서 이런 문제는 보통 반으로 나누어서 만듭니다.
만약 입력에 5가 들어왔다면 가운데가 3이 됩니다.
그렇다면 3까지의 삼각형를 2개 만들고 위부분 감각형을 행만 뒤집으면 됩니다.

예제)
for (i = 3; i >= 1; i--) { // 행을 가운데부터 1까지
        for (j = 1; j <= 3-i; j++) { // 공백의 개수
            printf(" ");
        }
        for (j = 1; j <= i*2-1; j++) { // *의 개수
            printf("*");
        }
        printf("\n");
    }
    for (i = 2; i <= 3; i++) { // 1행이 중복되므로 2부터 시작
        for (j = 1; j <= 3-i; j++) {
            printf(" ");
        }
        for (j = 1; j <= i*2-1; j++) {
            printf("*");
        }
        printf("\n");
    }
     
최의택 15-03-13 16:24
 
겁나 복잡하게 풀고 있었군요.
그런데 입력에 5가 들어가면 가운데가 3이 된다는 게 정확히 무슨 뜻인지요?
5가 들어가면,
*********
 *******
  *****
  ***
    *
  ***
  *****
 *******
*********
가 되잖아요.
컴스쿨 15-03-13 16:57
 
그렇군요.. 착각을 했네요..
전체 크기가 n인줄 알았네요..
말씀하신대로 되는게 맞습니다.
     
최의택 15-03-13 19:02
 
아, 반대로 얘기하신 거군요.
적어주신 코드 중 '3'을 'n'으로 바꿔 스캔해 봤습니다.
다 되네요. 좀 더 뜯어보고 다음 형성평가로 넘어가야겠습니다.
감사합니다.
 
 

Total 623
번호 제   목 글쓴이 날짜 조회
323 초등 지역 예선준비 문의합니다. (2) 남정식 04-06 2350
322 정보올림피아즈 지역예선 질문 (1) 이원진 04-06 2384
321 참 궁디합니다 (1) 강서준 04-04 2352
320 결제확인부탁드립니다 (1) 황지훈 04-03 2017
319 결제 확인 부탁드려요. (1) 안준표 03-29 2221
318 배열2 자가진단6 (1) 김주영 03-29 3684
317 2014년 예선 정보올림피아드 25번 풀이 (1) 이수연 03-28 2926
316 정보올림피아드 2014년예상기출문제34번 (1) 유양숙 03-27 6367
315 동영상 재생이되지 않습니다. (1) 왕수진 03-24 2603
314 2014년 초등 기출문제 31번 (1) 김유미 03-24 2321
313 잘 모르겠습니다. (4) 김연수 03-22 2210
312 반복제어문3 형성평가2 (1) 김주영 03-21 3270
311 이건 무슨 오류인가요? (2) 김연경 03-20 3218
310 2014년 정올 예선문제 중고등부 문제 28번...문의 (1) 이미화 03-20 4148
309 2014년 지역본선 문제2. 자리배정 문제 (3) 김연경 03-18 2671
308 정보올림피아드 예상기출문제31번 (1) 유양숙 03-18 10006
307 문자열2. 형성평가 3번, 형성평가 6번 무엇이 잘못되었는지? (1) 김연경 03-17 3314
306 자기주도 C언어 프로그래밍 일련번호 오류! (2) 최훈오 03-15 2383
305 문자열2, 자가진단 7번 (1) 김연경 03-14 3244
304 왜죠? (1) 황성진 03-14 2191
 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30    

회사소개 | 개인정보처리방침 | 이용약관 | 찾아오시는 길 | 이메일주소 무단수집거부 | 사업자정보확인
경기도 안양시 동안구 호계동 1065-10 협성골드프라자 601호 한컴에듀케이션(주) TEL : 031-388-8840 FAX : 031-388-0996
대표자 : 김동규 사업자번호 : 130-86-02870 통신판매업신고번호 : 제 2010-경기안양-888호
COPYTIGHT(C) 한컴에듀케이션(주), ALL RIGHT RESERVED.
담은강좌 : 0