U E D R , A S I H C RSS

고한종/십�가�리기




본문

0. �전� 한거 다 필요없고 완성본.

#include<stdio.h>
#include<Windows.h>
//system("cls");  -> 비쥬얼 스튜디오�서 화면 깨�하게 하는 법.
// ㄴ#include<windows.h> 선언후 사용.
// #include<conio.h>� clrscr();� 비쥬얼 C++�서는 안�진다��. 왜그럴까 ㅠㅜ

int scale;// 전역 변수를 �야 한다니 ㅜㅠ
int i,j; //i는 행, j는 열.
int k,z; //�� 그냥 변수.

void frame1() // 성공
{
	z=0;
	k=0;
	for(i=1;i<=2*scale-1;i++)
	{
		for(j=1;j<=2*scale-1;j++)
		{
			if(i<scale && j==scale){printf("%2.d\n",1+k++);}
			if(i==scale && j!=scale&&j!=2*scale-1){printf("%2.d",2*scale+z++);}
			if(i==scale && j==2*scale-1){printf("%2.d\n",2*scale+z++);} // 우왕 ()안�서� 연산� �네?
			if(i==scale && j==scale){printf("%2.d",1+k++);}
			if(i>scale && j==scale){printf("%2.d\n",1+k++);}
			if(j<scale && i!=scale){printf("  ");}
		}
	}
	
	Sleep(250);
	system("cls");
}

void frame2()
{
	z=0;
	k=0;
	for(i=1;i<=2*scale-1;i++)
	{
		for(j=1;j<=2*scale-1;j++)
		{
			if(i==j && i<scale){printf("%2.d",2*scale+z++);}
			if(i==j && i>scale){printf("%2.d\n",2*scale+z++);}
			if((i+j)==2*scale && i<=scale){printf("%2.d\n",1+k++);}
			if((i+j)==2*scale && i>scale){printf("%2.d",1+k++);}
			
			if(i>j || i+j<2*scale){if(i!=j && i+j!=2*scale){printf("  ");}}//잉여칸
		}
	}
	Sleep(250);
	system("cls");
}

void frame3()
{
	z=0;
	k=0;
	for(i=1;i<=2*scale-1;i++)
	{
		for(j=1;j<=2*scale-1;j++)
		{
			if(i<scale && j==scale){printf("%2.d\n",2*scale+k++);}
			if(i==scale && j!=2*scale-1){printf("%2.d",2*scale-1-(z++));}
			if(i==scale && j==2*scale-1){printf("%2.d\n",2*scale-1-(z++));}
			if(i>scale && j==scale){printf("%2.d\n",2*scale+k++);}
			if(j<scale && i!=scale){printf("  ");}

		}
	}
	Sleep(250);
	system("cls");
}

void frame4()
{
	z=0;
	k=0;
	for(i=1;i<=2*scale-1;i++)
	{
		for(j=1;j<=2*scale-1;j++)
		{
			if(i==j && i<scale){printf("%2.d",2*scale-1-(z++));}
			if(i==j && i>=scale){printf("%2.d\n",2*scale-1-(z++));}
			if((i+j)==2*scale && i<scale){printf("%2.d\n",2*scale+k++);}
			if((i+j)==2*scale && i>scale){printf("%2.d",2*scale+-1+k++);}
			
			if(i>j || i+j<2*scale){if(i!=j && i+j!=2*scale){printf("  ");}}//잉여칸

		}
	}
	Sleep(250);
	system("cls");
}

void frame5()
{
	z=0;
	k=0;
	for(i=1;i<=2*scale-1;i++)
	{
		for(j=1;j<=2*scale-1;j++)
		{
			if(i<scale && j==scale){printf("%2.d\n",2*scale-1-(z++));}
			if(i==scale && j!=scale&&j!=2*scale-1){printf("%2.d",4*scale-3-(k++));}
			if(i==scale && j==2*scale-1){printf("%2.d\n",4*scale-3-(k++));}
			if(i==scale && j==scale){printf("%2.d",2*scale-1-(z++));}
			if(i>scale && j==scale){printf("%2.d\n",2*scale-1-(z++));}
			if(j<scale && i!=scale){printf("  ");}

		}
	}
	Sleep(250);
	system("cls");
}

void frame6()
{
	z=0;
	k=0;
	for(i=1;i<=2*scale-1;i++)
	{
		for(j=1;j<=2*scale-1;j++)
		{
			if(i==j && i<scale){printf("%2.d",4*scale-3-(z++));}
			if(i==j && i>scale){printf("%2.d\n",4*scale-3-(z++));}
			if((i+j)==2*scale && i<=scale){printf("%2.d\n",2*scale-1-(k++));}
			if((i+j)==2*scale && i>scale){printf("%2.d",2*scale-1-(k++));}
			
			if(i>j || i+j<2*scale){if(i!=j && i+j!=2*scale){printf("  ");}}//잉여칸

		}
	}
	Sleep(250);
	system("cls");
}

void frame7()
{
	z=0;
	k=0;
	for(i=1;i<=2*scale-1;i++)
	{
		for(j=1;j<=2*scale-1;j++)
		{
			if(i<scale && j==scale){printf("%2.d\n",4*scale-3-(z++));}
			if(i==scale && j!=2*scale-1){printf("%2.d",1+k++);}
			if(i==scale && j==2*scale-1){printf("%2.d\n",1+k++);}
			if(i>scale && j==scale){printf("%2.d\n",4*scale-3-(z++));}
			if(j<scale && i!=scale){printf("  ");}

		}
	}
	Sleep(250);
	system("cls");
}

void frame8()
{
	z=0;
	k=0;
	for(i=1;i<=2*scale-1;i++)
	{
		for(j=1;j<=2*scale-1;j++)
		{
			if(i==j && i<scale){printf("%2.d",1+k++);}
			if(i==j && i>=scale){printf("%2.d\n",1+k++);}
			if((i+j)==2*scale && i<scale){printf("%2.d\n",4*scale-3-(z++));}
			if((i+j)==2*scale && i>scale){printf("%2.d",4*scale-3-(z++));}
			
			if(i>j || i+j<2*scale){if(i!=j && i+j!=2*scale){printf("  ");}}//잉여칸

		}
	}
	Sleep(250);
	system("cls");
}
/*
{
	z=1;
	k=0;
	for(i=1;i<=2*scale-1;i++)
	{
		for(j=1;j<=2*scale-1;j++)
		{

		}
	}
	Sleep(250);
	system("cls");
}

� 구조가 반복 �는� �걸 함수로 선언 할 순 없�까? 
안� 어떤게 얼마나 들어갈지 모르겠어서 파�미터를 
뭘로 해야 할지 �� 안오는� -_-;
*/
int main()
{
	int spin =0;

A:
	printf("사용하실 스케�� 입력하세요.\n");
	Sleep(100);
	printf("1 => 1\n2 => 5\n3 => 9\nn => 4n-3\n");
	printf("20보다 �게 입력하면 모양� 깨집니다.주�!\n");
	scanf_s("%d",&scale);

	if(scale>20)
	{
		printf("그래서 막아놈\n");
		goto A;
	}
	while(1)
	{
		int f;

		spin++;

		for(f=0;f<8;f++)
		{
			if(f%8==0)// f가 �수 �때.
			{
				printf("회전수 : %d\n",spin);
				frame1();

			}
			else if(f%8==1)
			{
				printf("회전수 : %d\n",spin);
				frame2();
			}
			else if(f%8==2)
			{
				printf("회전수 : %d\n",spin);
				frame3();
			}
			else if(f%8==3)
			{
				printf("회전수 : %d\n",spin);
				frame4();
			}
			else if(f%8==4)
			{
				printf("회전수 : %d\n",spin);
				frame5();
			}
			else if(f%8==5)
			{
				printf("회전수 : %d\n",spin);
				frame6();
			}
			else if(f%8==6)
			{
				printf("회전수 : %d\n",spin);
				frame7();
			}
			else
			{
				printf("회전수 : %d\n",spin);
				frame8();
			}

			
		}
	}
	return 0;
}

�거 완전 길지만 배열�,행열� 없� 오로지 수열만으로 십�가�리기를 성공함. 작업시간 6시간 ���듯 ㅜㅠ (지금시� 새벽 3시45분, 분명 10시 30분쯤� 앉았었고, 그�전�� 짜둔게 있었는� �정�.. ㅜㅠ)

입력받� 수�따� �기가 변합니당
�기가 변해� 모양� 유지합니당
스핀수가 체��니다.

��


http://pds22.egloos.com/pds/201104/17/51/JT.exe
�거슨 릴리즈 파�

소�

  • 노가다로 짠게 좀 아쉽다.
    • 그래서 어떻게든 안노가다로 해보려했는ë�° ê²°êµ­ 작업ìž�ì²´ê°€ 노가다.
  • 함수선언 + for문으로 하는ë�° ê±°ì�˜ 성공했다. (숫ìž�ê°€ 어려워서 *로 ë�„전중ì�´ë‹¤.)
    • 그래서 ê²°êµ­ 성공. 나 잉여력 쩌는 듯.
  • 처ì�Œìœ¼ë¡œ í�¥ë¯¸ë¡­ê²Œ 하는 프로ì �트 (.. ë�¼ê¸°ì—” 좀 ì´ˆë�¼í•œë“¯) ì�¸ê²ƒ 같다.
    • 민규랑 ì§„ê²½ì�´ê°€ ì�´ê±°ë³´ê³  기ê²�했다 신ㅋ난ㅋ다ㅋ
  • 목표는 스케ì�¼ì�„ 입력받고 í•­ìƒ� ì›�하는 모양으로 ìœë ¥ë�˜ê²Œ 하는것ì�´ë‹¤. (ìž…ë ¥ 한ë�„는 int 한계까지)
    • ì�´ê±´ 벌ì�¨ 실현 불가능ì�´ë�¼ê³  íŒ�명. 화면ì�´ 버티질 못한다 ã„·ã„·;;
      • 그래서 막았다. êµ³. ê·¼ë�° goto문 ìž„. 대체할 방법 없나?

  • 암튼 성공 ì•„ 신난다.

  • ì•„ ê·¼ë�° 20초과 수 입력하는거 막는건 성공했는ë�° 문ìž�를 입력하면 아무것ë�„ 안뜨는게 좀 ì§œì¦�난다. ì�´ê±° 어떻게 막아야 할까. ë�„움ì�´ 필요하다 ㅜㅠ



결론 : 나만 알아보는듯.?

�글


  • ë­�야 ì�´ì½”드 무서워 ì�´ê±¸ ë°°ì—´ì—†ì�´ 하다니 - ì •ì§„ê²½
  • ì�´ 코드 ì�½ê¸°ê°€ 무섭다 그냥 ì�´ëŸ° 게 있구나 해야겠어 ã…‹ã…‹ - 장용운
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:28:42
Processing time 0.0072 sec