게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
저격/박제 - 언어학자님
게시물ID : programmer_12844짧은주소 복사하기
작성자 : 구차니
추천 : 2
조회수 : 799회
댓글수 : 4개
등록시간 : 2015/08/19 23:45:44
당신이 오늘 한 짓으로

잠재적으로
수 많은 사람들에게 도움을 줄 누군가가 의욕을 잃고 도움을 주지 않을 것이고
정말 도움이 필요했던 누군가는 더 고생을 하거나 도움을 얻지 못하게 될 겁니다.


축하합니다.
이 사이코패스님아.




---
사용자 댓글(쭈루룩 연결해서 저장함)
https://web.archive.org/web/20150819082013/http://www.todayhumor.co.kr/board/myreply.php?mn=662157 

통수인증
https://web.archive.org/web/20150819143703/http://www.todayhumor.co.kr/board/view.php?table=programmer&no=12843

사건의 발단
https://web.archive.org/web/20150819144346/http://www.todayhumor.co.kr/board/view.php?table=programmer&no=12810

[본인삭제]우헤헤헤헤(2015-08-19 15:00:40)(가입:2011-07-15 방문:2812)1.253.***.123추천 0/0
댓글 1개 ▲
언어학자(2015-08-19 15:01:05)(가입:2015-06-28 방문:8)추천 0/0
아뇨.. for문을 이용해야 합니다...
구차니(2015-08-19 15:00:46)(가입:2011-10-25 방문:2484)210.95.***.36추천 4/0
$ cat star.c
#include <stdio.h>

unsigned char *data[] =
{
"-----",
"",
"  *",
" ***",
"*****",
" ***",
"  *",
"",
"-----"
};

void main()
{
unsigned char idx = 0;
for(idx = 0; idx < 9;idx++)
printf("%s\n",data[idx]);
}

for문 썼습니다 됐죠?
댓글 5개 ▲
언어학자(2015-08-19 15:01:51)(가입:2015-06-28 방문:8)추천 0/0
반칙입니다..
구차니(2015-08-19 15:02:41)(가입:2011-10-25 방문:2484)210.95.***.36추천 0/0
for문을 이용해서 별을 출력하는 문제인데

아니 조건이 for문 사용인데 왜져?!
우헤헤헤헤(2015-08-19 15:03:00)(가입:2011-07-15 방문:2812)1.253.***.123추천 0/0
오 잘 푸셨다 완벽한 답인 듯! 추천!
GoToTheMoon(2015-08-19 18:12:18)(가입:2014-11-18 방문:154)121.151.***.138추천 0/0
우와 멋져
러브의맛(2015-08-19 18:56:22)(가입:2012-12-25 방문:1486)27.35.***.72추천 0/0
헐... 대단하십니다.
우헤헤헤헤(2015-08-19 15:01:09)(가입:2011-07-15 방문:2812)1.253.***.123추천 0/0
printf("-----\n
\n
*      \n
***    \n
*****  \n
***    \n
*      \n
\n
-----\n");

엄청 쉽네여
댓글 2개 ▲
우헤헤헤헤(2015-08-19 15:01:59)(가입:2011-07-15 방문:2812)1.253.***.123추천 0/0
끄앙 * 표시 스페이스가 안먹히네 ㅡ.ㅡ; 일일히 수정하기 귀찮은데 \t 같은거라도 써야되나 귀찮다.
우헤헤헤헤(2015-08-19 15:04:00)(가입:2011-07-15 방문:2812)1.253.***.123추천 0/0
for 문으로 함수포인터 써서 9번 돌릴까 했는데 귀찮음으로 패스..
콜드이슈(2015-08-19 15:04:08)(가입:2013-11-18 방문:569)203.84.***.251추천 1/0
[방문수 10회 이하는 볼 수 없는 글입니다]
언어학자(2015-08-19 15:04:14)(가입:2015-06-28 방문:8)추천 0/0
printf문만 이용해서 수동적으로 별을 그리는 문제는 아닙니다.

*
**
***

이중반복문으로 별삼각형을 그리듯이 그리는
이를 활용해서 논리적으로 풀어야 하는 문제입니다.
극악의 난이도죠..
언어학자(2015-08-19 15:04:55)(가입:2015-06-28 방문:8)추천 0/0
포인터도 반칙이고 for문만 이용해야합니다.
댓글 3개 ▲
Ezreal(2015-08-19 15:06:31)(가입:2013-11-27 방문:425)130.126.***.58추천 0/0
여기 있는 분들 다 장난치고 있는거예요 ㅋㅋ
언어학자(2015-08-19 15:08:15)(가입:2015-06-28 방문:8)추천 0/0
글쎄요.. 제 생각이 이 문제를 풀 수 있는 사람은
오유에 3명도 안될거라고 봅니다.
c언어를 갈고닦은 저도 못풀었으니까요..
물론, 지금은 정답을 알지만..용자가 나타나지 않으면 공개하도록 하죠.
구차니(2015-08-19 15:09:27)(가입:2011-10-25 방문:2484)210.95.***.36추천 2/0
요구사항도 계속 바뀌고
페르마의 정리도 아니고..

이전 댓글도 다 삭제되서 없고... (꾸시렁 꾸시렁)
콜드이슈(2015-08-19 15:06:10)(가입:2013-11-18 방문:569)203.84.***.251추천 0/0
본인 삭제 금지가 걸리면 생각이 날 거 같아요.
댓글 1개 ▲
언어학자(2015-08-19 15:08:48)(가입:2015-06-28 방문:8)추천 0/0
무서운 말씀이군요.. 본삭금이라..
Hello,World!(2015-08-19 15:06:27)(가입:2011-07-20 방문:1911)211.232.***.252추천 1/0
for(i=0;i<1;i++)
printf("  *\n ***\n*****\n ***\n  *\n");
댓글 1개 ▲
언어학자(2015-08-19 15:09:11)(가입:2015-06-28 방문:8)추천 0/0
수동적으로 별을 입력했기 때문에.. 반칙입니다..
반복문(2015-08-19 15:09:35)(가입:2012-06-12 방문:403)211.47.***.81추천 0/0
반복문 하나로 푸는데요
댓글 8개 ▲
우헤헤헤헤(2015-08-19 15:10:23)(가입:2011-07-15 방문:2812)1.253.***.123추천 0/0
뭔가 닉 때문에 신뢰도가 1000% !! 반복문 0개로도 풀 것 같은 포스..
반복문(2015-08-19 15:11:42)(가입:2012-06-12 방문:403)211.47.***.81추천 0/0
언어가 C만 아니라면 반복문 없이도 풀죠 ㅋㅋㅋㅋㅋ
언어학자(2015-08-19 15:12:01)(가입:2015-06-28 방문:8)추천 0/0
별을 위에 처럼 일일히 입력하지 않는 이상 for하나로는 못풉니다..

위의 예제는 간단히 요약한 것일 뿐
동일한 알고리즘으로, 위의 도형이 무한히 확장될 수 있어야 합니다..
Ezreal(2015-08-19 15:13:29)(가입:2013-11-27 방문:425)130.126.***.58추천 0/0
1 진지 먹자면 반복문 없이도 풀 수 있습니다 ㅋㅋ
구차니(2015-08-19 15:13:34)(가입:2011-10-25 방문:2484)210.95.***.36추천 1/0

오메.. 요구사항이 막 늘어.. N을 입력 받아서 동적으로 그려달래!!!!!!!
반복문(2015-08-19 15:15:48)(가입:2012-06-12 방문:403)211.47.***.81추천 0/0
별 일일이 입력 안하고 for 하나로 풀면 어떻게 할래요?
언어학자(2015-08-19 15:17:34)(가입:2015-06-28 방문:8)추천 0/0
논리적으로 불가능합니다.
*
***
*****
***
*
이렇게 푸는건 가능한데, 공백을 표현못하죠 (이중for로 푸는 문제기 때문에 공백도 반복문으로 입력되야함)
*
***
*****
***
*
c언어 입문서에 나오는 삼각형그리기처럼
공백과 별이 모두 반복문에 의해 자동으로 입력되어야 합니다.
언어학자(2015-08-19 15:18:54)(가입:2015-06-28 방문:8)추천 0/0
요구사항을 늘리는게 아니고..
문제를 제가 정확히 명시를 못해서, 오해를 하고 푸시는것 같네요
그냥 수동으로 별과 공백을 그리면, 극악의 문제가 아니죠..
음 아무튼.. 이 문제가 푸는 용자분이 계실지 의문이드네요.
Hello,World!(2015-08-19 15:10:20)(가입:2011-07-20 방문:1911)211.232.***.252추천 0/0
for(i=0;i<2;i++)
{
if(i == 0) printf("  *\n ***\n*****\n");
if(i == 1) printf(" ***\n  *\n");
}
댓글 1개 ▲
언어학자(2015-08-19 15:14:01)(가입:2015-06-28 방문:8)추천 0/0
별을 한번 이상 수동으로 타이핑하면 안됩니다.
알뵤(2015-08-19 15:11:47)(가입:2005-08-10 방문:561)121.143.***.29추천 0/0
IF 문도 들어가면 안되고 오로지 FOR 문만 써야 된다구요?

for 문 2개로만?
댓글 1개 ▲
언어학자(2015-08-19 15:13:26)(가입:2015-06-28 방문:8)추천 0/0
네..그래서 극악의 문제죠
알뵤(2015-08-19 15:15:45)(가입:2005-08-10 방문:561)121.143.***.29추천 0/0
한번 도전해 보겠음둥 -_-);;;
댓글 1개 ▲
언어학자(2015-08-19 15:18:03)(가입:2015-06-28 방문:8)추천 0/0
풀면 오유 TOP3로 인정합니다.
Ezreal(2015-08-19 15:20:08)(가입:2013-11-27 방문:425)130.126.***.58추천 1/0
그런데 진지 먹자면 왠지 과제 같아요
댓글 5개 ▲
Ezreal(2015-08-19 15:20:23)(가입:2013-11-27 방문:425)130.126.***.58추천 0/0
그래서 아무도 진지하게 임하지 않는거죠.
언어학자(2015-08-19 15:22:53)(가입:2015-06-28 방문:8)추천 0/0
개인적인 생각은 자유지요.
아무튼 제 생각에, 이 문제는 진지하게 해도 결코 쉽게 풀 수 있는 문제가 아닙니다.
단순히 c언어를 마스터한다고 풀수 있는 문제가 아니고.. 수학적인 감각이 필요하죠..
제 친구는 서울 유명 컴공과 4학년으로, c를 한다고 이름좀 날렸음에도
이 문제는 못풀었죠.
Ezreal(2015-08-19 15:26:03)(가입:2013-11-27 방문:425)130.126.***.58추천 0/0
진지 먹자면 전혀 어려운 문제가 아닙니다;;
언어학자(2015-08-19 15:30:58)(가입:2015-06-28 방문:8)추천 0/0
그럼 한번 풀어보시죠..

조건은
이중반복문만을 사용해야 하며
공백과 별을 1번 이상 수동으로 입력하면 안됩니다.
Ezreal(2015-08-19 15:35:01)(가입:2013-11-27 방문:425)130.126.***.58추천 1/0
본삭금 거시면 해보겠습니다. 그 전엔 먹튀땜에 안함.
아2스베리(2015-08-19 15:21:37)(가입:2013-04-22 방문:421)182.221.***.166추천 2/0
생각나는 CM송이 있어요

스스로 일은 스스로 하자 알아서 척척척 스스로 어린이. ㅈㄴ교육 ~
댓글 1개 ▲
아2스베리(2015-08-19 15:32:01)(가입:2013-04-22 방문:421)182.221.***.166추천 0/0
앗 가사가 틀렸네요

자기의 일은 스스로 하자 알아서 척척척 스스로 어린이. ㅈㄴ교육 ~
개똥마법(2015-08-19 15:23:45)(가입:2012-06-05 방문:152)164.124.***.147추천 0/0
public static void main(String[] str){
  
  
  for(int i=1;i<5;i=i+2){
   for(int j = 0;j<i;j++){
    System.out.print("*");
   }
   System.out.println();
  }
  for(int i=5;i>0;i=i-2){
   for(int j = 0;j<i;j++){
    System.out.print("*");
   }
   System.out.println();
  }
 }
댓글 1개 ▲
언어학자(2015-08-19 15:28:10)(가입:2015-06-28 방문:8)추천 0/0
잠시.. 처음보는 문제풀이인데.. 확인을 해보곘습니다.
[본인삭제]간사한돼지(2015-08-19 15:23:49)(가입:2012-09-21 방문:390)112.216.***.52추천 0/0
댓글 1개 ▲
언어학자(2015-08-19 15:27:43)(가입:2015-06-28 방문:8)추천 0/0
if는 사용금지입니다..
그래도 지금까지 나온 답중엔 훌륭하군요..
fork()(2015-08-19 15:27:11)(가입:2014-11-28 방문:206)143.248.***.198추천 0/0
어떻게 할지는 큰 그림은 생각해뒀는데 if문없이 할라니까 힘드네요 ㅋㅋ 절대값만 어떻게든 구하면 될것 같은데..
덕분에 1의 보수, 2의 보수 복습하고 있습니다 ㅋㅋ
댓글 1개 ▲
언어학자(2015-08-19 15:28:22)(가입:2015-06-28 방문:8)추천 0/0
극악의 난이도죠.. 후후
알뵤(2015-08-19 15:31:25)(가입:2005-08-10 방문:561)121.143.***.29추천 0/0
오로지 for 하고 printf 만으로 해야 한다 이거죠???

으아 어렵네...
hyperdash(2015-08-19 15:32:18)(가입:2011-01-26 방문:420)106.241.***.236추천 3/0
아니 이게 왜 극악이죠?

국민학교때 컴퓨터 학원 다니면서 베이직 배울때도 푼건데
구차니(2015-08-19 15:32:48)(가입:2011-10-25 방문:2484)210.95.***.36추천 0/0
본삭금 걸고 조건 다 적어 보시죠
if쓰면 안된다
for만 써야 한다
printf는 어디 까지 써야 한다
sprintf는 쓸수 있다 없다? 등등등
댓글 1개 ▲
언어학자(2015-08-19 15:35:04)(가입:2015-06-28 방문:8)추천 0/0
조회 50넘어서 본삭금 안되네요..
c언어 * 삼각형 그리기 문제랑 똑같은 방법으로 푸시면됩 니다.

조건은
for문만을 사용해야 하며  (이중반복문 이상을 사용해야만 풀수있음)
공백과 별을 1번 이상 수동으로 입력하면 안됩니다.
(즉, 공백과 별이 반복문에 의해 입력되야함)
개똥마법(2015-08-19 15:33:45)(가입:2012-06-05 방문:152)164.124.***.147추천 0/0
아 빈칸도해야하는군요 ㅋㅋㅋ
 public static void main(String[] str){
  
  Scanner s = new Scanner(System.in);
  int x = s.nextInt();
  
  for(int i=1;i<x;i=i+2){
   for(int k=0;k<(x-i)/2;k++){
    System.out.print(" ");
   }
   for(int j = 0;j<i;j++){
    System.out.print("*");
   }
   System.out.println();
  }
  for(int i=x;i>0;i=i-2){
   for(int k=0;k<(x-i)/2;k++){
    System.out.print(" ");
   }
   for(int j = 0;j<i;j++){
    System.out.print("*");
   }
   System.out.println();
  }
 }
댓글 5개 ▲
개똥마법(2015-08-19 15:34:27)(가입:2012-06-05 방문:152)164.124.***.147추천 0/0
자바에요~실행하고 숫자입력하면됨
언어학자(2015-08-19 15:36:30)(가입:2015-06-28 방문:8)추천 0/0
죄송한데.. 제가 자바를 공부한적이 없어서.. c로도 풀어주실 수 있나요?
왠지 정답을 제시하신 용자분인거 같기도 한데요..
자바를 몰라서 확인을 못하네요..
개똥마법(2015-08-19 15:39:09)(가입:2012-06-05 방문:152)164.124.***.147추천 0/0
for 문은 동일할 거고 System.out.print 랑 System.out.println();만 바꿔주면 될듯하네여
System.out.print 이거는 그냥 문자출력이고 System.out.println(); 이거는 줄바꿈이여
개똥마법(2015-08-19 15:40:05)(가입:2012-06-05 방문:152)164.124.***.147추천 0/0
아 ..x값에 숫자입력하시구여 ㅋㅋ
언어학자(2015-08-19 15:45:17)(가입:2015-06-28 방문:8)추천 0/0
정말 죄송한데.. 제 역랑부족으로 인코딩 불가네요..
정말 정답같아서 그런데.. c로 변환해주실 수 있나요?
맞으면 용자십니다..
알뵤(2015-08-19 15:36:31)(가입:2005-08-10 방문:561)121.143.***.29추천 0/0
아 for 문은 꼭 2개가 아니구나...

for 문하고 printf 만 사용?
댓글 1개 ▲
언어학자(2015-08-19 15:37:39)(가입:2015-06-28 방문:8)추천 0/0
네 맞습니다.. 위에 개똥마법님과 같은 방식으로 풀면됩니다..
C문제인데.. 자바로 푸셔서 좀 당황스럽네요 ㄷㄷㄷ
콜드이슈(2015-08-19 15:37:03)(가입:2013-11-18 방문:569)203.84.***.251추천 0/0
본삭금 걸면 답변 올려드릴께요
댓글 1개 ▲
언어학자(2015-08-19 15:38:16)(가입:2015-06-28 방문:8)추천 0/0
조회 50넘어서 수정이 안되네요..
극악의 문제인데 푸실 수 있는거 맞나요??
navs(2015-08-19 15:39:17)(가입:2012-06-07 방문:1209)112.175.***.4추천 12/0
#include <stdio.h>
int main()
{
int i, j;
printf("-----\n");
for (i = 0x00477dc4, j = 0x01084210; i; i >>= 1, j >>= 1) {
printf("%c%c", (i&1)*('*'-32) + 32, (j&1)*10);
}
printf("\n");
printf("-----\n");
return 0;
}
댓글 7개 ▲
언어학자(2015-08-19 15:43:32)(가입:2015-06-28 방문:8)추천 0/3
일단 매우 훌륭하신데.. 정답도 맞구요..
근데 제가 처음 보는 답안이라.. 평가 불가능이네요..
상대성 이론 같기도 하구요.. 약간 꼼수가 있는거 같기도하고..
A급 프로그래머이신건 확실한듯 하네요.
99점 인정입니다.

초보자도 이해할 수 있는 아주 간단한 for문식을 완성하시면  100점만점입니다..
반복문(2015-08-19 15:46:50)(가입:2012-06-12 방문:403)211.47.***.81추천 0/0
와.
언어학자(2015-08-19 15:47:27)(가입:2015-06-28 방문:8)추천 0/0
아인슈타인이 그랬다죠..
네가 할머니에게 설명할 수 없다면
너는 그 문제를 정말로 이해하는게 아니다..
진정한 고수는 간결하고 쉬운 언어로.. 진리를 표현한다고 생각합니다..
Ezreal(2015-08-19 15:48:17)(가입:2013-11-27 방문:425)130.126.***.58추천 0/0
ㅎㄷㄷ...
우헤헤헤헤(2015-08-19 15:48:35)(가입:2011-07-15 방문:2812)1.253.***.123추천 0/0
완벽한 정답이다.  비트연산자로 하실 줄이야 ㄷㄷ
믿습니다.마멘(2015-08-19 15:51:30)(가입:2015-05-19 방문:63)118.220.***.66추천 11/0
지금 님이 평가할 상황인지 부터가 의문이네요...
차라리 한 수 배웠다고 하면 몰라도...
아리나니아(2015-08-19 21:16:54)(가입:2013-02-10 방문:1331)121.145.***.184추천 0/0
캬.. 진짜 아름다운 코드다 정말 ㅋㅋㅋㅋ
이런 방법이 있구나 한수 배우고 갑니다
알뵤(2015-08-19 15:40:25)(가입:2005-08-10 방문:561)121.143.***.29추천 0/0
일단 개똥마법님이 성공 하신 듯?
니무니(2015-08-19 15:41:31)(가입:2006-12-12 방문:549)121.154.***.26추천 1/0
ㅋㅋㅋㅋㅋㅋㅋㅋㅋ글이 굉장히 재밌네욬ㅋㅋㅋㅋㅋ
물어라이코스(2015-08-19 15:44:53)(가입:2012-09-25 방문:1885)27.117.***.100추천 2/0
과제같은 느낌은 지울수가 없네요 ㅎㅎㅎㅎ
TheApoptosis(2015-08-19 15:45:10)(가입:2014-09-10 방문:73)210.94.***.89추천 2/0
이런식으로하면 과제를 쉽게 할수있군요! 무릎을 탁!치고 갑니다.
쓸데없는삶(2015-08-19 15:50:45)(가입:2013-02-03 방문:882)141.223.***.53추천 0/0
1학년 문제가 극악이라닠ㅋㅋㅋㅋ 전 또 ACM 문제라도 나오는 줄 알고 들어왔는뎈ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
언어학자(2015-08-19 15:58:13)(가입:2015-06-28 방문:8)추천 0/0
댓글 다는 분들.. 생각은 자유입니다만.. 풀 수 있으면 풀어보세요.
단, 조건만 지키시면 됩니다.
오직 for문만을 활용해야 합니다..
수동으로 별과 공백을 한 번 이상 입력하면 안됩니다..
위에 웃으시는 4분은 절대 못풀거라고 확신합니다.
댓글 1개 ▲
쓸데없는삶(2015-08-19 16:06:54)(가입:2013-02-03 방문:882)141.223.***.53추천 0/0
cs101 조교시절에 저 문제 채점하던 사람입니다  ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
자바코드 C로 변환도 못하는 분한테ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
알뵤(2015-08-19 15:59:35)(가입:2005-08-10 방문:561)121.143.***.29추천 0/0
개똥마법님이 정답이 아니예요???
댓글 1개 ▲
언어학자(2015-08-19 16:00:55)(가입:2015-06-28 방문:8)추천 0/0
제 생각에 그 분이 유일한 정답자인거 같은데.. 자바언어라.. 확인 불가입니다.. 아쉽군요..
.. 이대로 끝인 것인지..
알뵤(2015-08-19 16:02:09)(가입:2005-08-10 방문:561)121.143.***.29추천 0/0
헐? 저걸 못 바꿔요???
우헤헤헤헤(2015-08-19 16:03:15)(가입:2011-07-15 방문:2812)1.253.***.123추천 0/0
과제고 말투도 좀 그렇고 해서 짜증이 납니다만 그래도 풀어보긴 하죠
이딴 걸로 실력을 잴 순 없겠지만요.
댓글 3개 ▲
우헤헤헤헤(2015-08-19 16:03:44)(가입:2011-07-15 방문:2812)1.253.***.123추천 0/0
int for_layer = 3, EmptySpace, Number;

 for (int i = 1; i <= for_layer; i++)
 {
  for (EmptySpace = 1; EmptySpace <= (for_layer - i); EmptySpace++)
   printf(" ");
  for (Number = 1; Number <= i; Number++)
   printf("%d", Number);
  for (Number = (i - 1); Number >= 1; Number--)
   printf("%d", Number);
  printf("\n");
 }

 for (int i = for_layer - 1; i >= 1; i--)
 {
  for (EmptySpace = 1; EmptySpace <= (for_layer - i); EmptySpace++)
   printf(" ");
  for (Number = 1; Number <= i; Number++)
   printf("%d", Number);
  for (Number = (i - 1); Number >= 1; Number--)
   printf("%d", Number);
  printf("\n");
 }

별표시로 * 안하고 공부하시는 분도 계실 것 같아서 숫자로 표기하였습니다.
우헤헤헤헤(2015-08-19 16:04:42)(가입:2011-07-15 방문:2812)1.253.***.123추천 0/0
아마도 책에 나와있는 정답이 이거랑 비슷할 것 같군요.
옛날에 과제로 저도 푼 기억이 있거든요.
우헤헤헤헤(2015-08-19 16:10:08)(가입:2011-07-15 방문:2812)1.253.***.123추천 0/0
아~ 동적 말을 안했군요 for_layer 의 숫자를 바꾸면 크기는 바뀝니다.
[본인삭제]알뵤(2015-08-19 16:05:16)(가입:2005-08-10 방문:561)121.143.***.29추천 0/0
알뵤(2015-08-19 16:08:38)(가입:2005-08-10 방문:561)121.143.***.29추천 2/0

이게 개똥마법님 꺼입니다.
댓글 3개 ▲
우헤헤헤헤(2015-08-19 16:10:32)(가입:2011-07-15 방문:2812)1.253.***.123추천 0/0
이쁘게 바뀌었네요 추천~
sodmaster(2015-08-19 16:11:02)(가입:2011-05-10 방문:2547)70.114.***.222추천 0/0
조건에 의하면 *하고 스페이스 출력문이 2개씩이라 탈락인가여?
우헤헤헤헤(2015-08-19 16:11:38)(가입:2011-07-15 방문:2812)1.253.***.123추천 0/0
1 헐 그런 함정이 ㅋㅋㅋ
그나저나 for 안을 보니 답은 하나 밖에 없네요 ㅋㅋ 다른 해결법은 없으려나..
마음에소리(2015-08-19 16:15:16)(가입:2012-03-26 방문:671)124.136.***.15추천 1/0
일단 간단하게 포문써서만 구현하면 아래와 같이 될듯 보이네요

#include <stdio.h>
#include <stdlib.h>

#define KEY    5

int main(void)
{
int i, j;
int v=0;
int m=0, r=0;

for(i=1; i<KEY*2; i=i+2) {
m = i % KEY;
r = i / KEY;
v = abs( r * KEY - m );

for(j=0; j<KEY-v; j=j+2) printf(" ");
for(j=0; j<v; j++) printf("*");
printf("\n");
}
return 0;
}

추가적으로 2차원 문자열 배열 사용해서 하면 좀더 다양하게 접근도 가능해 보입니다.
sodmaster(2015-08-19 16:18:37)(가입:2011-05-10 방문:2547)70.114.***.222추천 2/0
댓글 1개 ▲
sodmaster(2015-08-19 16:21:44)(가입:2011-05-10 방문:2547)70.114.***.222추천 0/0
출처: 구글
fork()(2015-08-19 16:20:30)(가입:2014-11-28 방문:206)143.248.***.198추천 2/0
1 #include <stdio.h>
2
3 int main(void){
4     int i,j,blank_count,star_count,mask;
5     for(i=0;i<5;i++){
6         blank_count=i-2;
7         mask=(blank_count>>(sizeof(int)*8-1));
8         blank_count=(blank_count+mask)^mask;
9
10         star_count=blank_count*(-2)+5;
11
12         // printf("blank:%d star:%d\n",blank_count,star_count);
13
14         for(j=0;j<blank_count;j++){
15             printf(" ");
16         }
17         for(j=0;j<star_count;j++){
18             printf("*");
19         }
20         printf("\n");
21     }
22 }

절대값을 얻는 것 때문에 헤매다가 bit연산자 응용해서 절대값 연산을 대체했습니다
댓글 1개 ▲
fork()(2015-08-19 16:23:06)(가입:2014-11-28 방문:206)143.248.***.198추천 0/0
abs 쓰고 싶었는데 혹시라도 제한조건에 걸릴가봐 ㅋㅋ
croba(2015-08-19 17:30:44)(가입:2011-02-03 방문:214)61.33.***.12추천 0/0
좀 과격하게 말하자면

자바를 C로 변환도 못하는게 문제 나불거리는게 맘에 안드네요

누가봐도 과제냄새가 풀풀나는데
croba(2015-08-19 17:33:57)(가입:2011-02-03 방문:214)61.33.***.12추천 0/0
소설좀 써보자면,

조교가 다이아몬드 프린팅을 과제로 냈는데

조건을 걸었겠죠, if안쓰고 어쩌고 하면 만점주겠다

근데 이거 하면 설명해야되니까

본인이 이해못하는 코드는 설명이 안되니 점수도 못받겠죠

한심하네요
타임해커(2015-08-19 17:42:14)(가입:2011-01-02 방문:1133)180.64.***.67추천 0/0
진지하게 들어가볼까 했더니 작성자 history 봐라. 꼴에 언어학자라고 닉 파고서 사람들 농락하는 꼬라지... 욕해버릴까? 참 나...
댓글 2개 ▲
[본인삭제]GoToTheMoon(2015-08-19 18:18:00)(가입:2014-11-18 방문:154)121.151.***.138추천 0/0
GoToTheMoon(2015-08-19 18:22:35)(가입:2014-11-18 방문:154)121.151.***.138추천 0/0
저는 비추 날리고 싶은데 너무 좋은 답변들 때문에 비추를 할수가 없는상황. . .
만약 첫댓글이나 일찍이 봣으면 비추 날렷을텐데
딱 봐도 어디 과제같은거나 숙제인거 같은데

제가 딱 저번주에 C언어 공부하고 있을때 나온 예제중에 딱 저거랑 비슷한거 나왔는데 (프로그래머 입문수준)
for 두개 + printf 2개로 해결햇긴 했는데, 여기 답변들 보고 "우와. . .쩌 쩐다" 싶은게 하나 있는거 보고 놀랍습니다.

제가 본 예제에서는 입력숫자를 받아서, 저 별의 줄수를 만드는 예제였습니다. 2이상의 입력으로 저러한 모양을 맞추는 형식이었던거 같네요. (마름모 / 직각삼각형등)
1을 입력하면 당연히 1개의 별만 나오기 때문에 뭐 모형으로 보기 힘드니까. . .
아랑아랑해(2015-08-19 18:16:10)(가입:2012-07-23 방문:156)223.33.***.20추천 0/0
어디서 프로그래밍 이해도 못하고 문제하나 주워와서 자기가 아는답 말고는 남들이 내준 답은 제대로 알지도 못하면서 훌륭한 프로그래머니 뭐니 하는게 정말 웃기지도 않네요
현업에서 저딴 고민 할 일도 없구요 그냥 딱 프로그램 시작할때 포문 배울때 응용으로 나오는 수학문제 과제풀이 해주세요 로 밖에 안보이네요
프로그래밍에서 원하는 값을 도출하는 방법은 하나가 아니고 정답이 있는거도 아닙니다. 각자 방법으로 해결해나가는거지
정말 어처구니 없네요
멜스(2015-08-19 18:27:12)(가입:2015-08-19 방문:1)121.162.***.195추천 0/0
for(int i = -3 ; i<=3 ; i++)
{
for(int j=0 ; (j<i*-1) || (j<i) ; j++)
printf(" ");

for(int j=0 ; j<(i*2+5) && j<(-i*2+5) ; j++)
printf("*");

printf("\n");
}
율율융(2015-08-19 18:42:10)(가입:2015-02-20 방문:130)210.92.***.245추천 0/0
와.. 댓글 수 ㄷㄷㄷ
Alicia(2015-08-19 18:54:31)(가입:2015-08-19 방문:1)14.33.***.176추천 1/0
어이없어서 댓글달려고 오유 가입도 해보네요 허허
주변에 프로그래밍좀 한다는 친구들 연령대가 좀 궁금해집니다. 제가 초4때 PHP로 프로그래밍 처음 배웠을때도 이정도는 그냥 했었거든요...
각잡고 하면 헤더 인클루드 제외하고 70자 내외로, 어쩌면 더 줄이는것도 가능할것같은데 귀찮으니 스킵.. 아니면 for 루프 하나가지고도 가능은 하겠습니다만.. 저는 개인적으로 이런 문제 풀때 for루프보다는 재귀함수로 푸는걸 더 좋아하기도 하고.
if 쓰면 안된다는게 조건문 쓰면 안된다는건 아닐거라 믿습니다 설마 for문 두번째항에 들어갈 조건체크조차 안된다고 하실 리는 없다고 생각하고 ㅎ

#include <stdio.h>
#include <math.h>
int main() {
 int i, j;
 for (i = -2; i <= 2; i++) {
  for (j = 0; j < 5 - abs(i); j++)
   printf("%s", ((j < abs(i)) ? " ": "*"));
  printf("\n");
 }
 return 0;
}
Anjulos(2015-08-19 19:05:03)(가입:2015-08-19 방문:1)222.104.***.174추천 0/0
for(long long i=0x4A409001024A; i; i>>=2)
  printf("%c", (i&1)*('\n')|((i&2)>>1)*(' ')|((~i&1)&((~i&2)>>1))*('*') );
질문시ㅴ바람(2015-08-19 19:54:31)(가입:2012-03-04 방문:146)125.134.***.28추천 0/0
이게 왜 극악?
구차니(2015-08-19 20:17:31)(가입:2011-10-25 방문:2484)125.177.***.169추천 0/0
박제나 해볼까나 ㅋㅋ
간장맛닭둘기(2015-08-19 20:53:46)(가입:2014-12-15 방문:7)115.137.***.95추천 0/0
정올 준비하는 초딩들도 다 발로 푸는거 아닌가..
[본인삭제]Mithra(2015-08-19 21:37:58)(가입:2012-05-30 방문:1051)58.225.***.244추천 0/0
시몬스(2015-08-19 21:49:33)(가입:2012-07-31 방문:547)114.199.***.41추천 0/0
와 ㅋㅋㅋㅋㅋㅋ 믿을뻔했는데 자바코드 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 미치겠네
MioLiquid(2015-08-19 22:22:57)(가입:2015-05-11 방문:68)96.228.***.66추천 0/0
1. if 안댐,
2. *이나 공백 한 번 이상 수동 입력 불가

C 컴파일러 없으므로 자바 사용.

String star = "*";
String blank = " ";

for (int i = 1; i < 10; i += 2) {
for (int j = 0; j < 9 - i / 2; j++)
    System.out.print(blank);

for (int j = 0; j < i; j++)
    System.out.print(star);

System.out.print("\n");
}

for (int i = 7; i > 0; i -= 2) {
for (int j = 0; j < 9 - i / 2; j++)
    System.out.print(blank);

for (int j = 0; j < i; j++)
    System.out.print(star);

System.out.print("\n");
}

3분만에 짜도 금세 나오는구만... C라고 다를거 없어요.
이게 왜 극악인지..
댓글 1개 ▲
MioLiquid(2015-08-19 22:23:37)(가입:2015-05-11 방문:68)96.228.***.66추천 0/0
알고리즘 따위 생각 안하고 단순하게 푼거라 코드 길이야 길겠지만...
느낌이 과제 느낌인데..
Haemaru(2015-08-19 22:33:13)(가입:2015-05-12 방문:62)211.234.***.101추천 0/0
자기한테 극악의 과제였나봅니다. 적어도 자바를 c로 바꿀수만 있다면야 극악은 아니었겠죠.
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호