Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

만년달력/방선희,장창재: Difference between revisions

From ZeroWiki
imported>Unknown
No edit summary
 
(Repair batch-0005 pages from live compare)
 
Line 6: Line 6:
  int def_max_month(int temp_year, int temp_month);
  int def_max_month(int temp_year, int temp_month);
   
   
  int array[100000][12];  
  int array[100000][12];  
   
   
  void main()
  void main()
Line 21: Line 21:
  for (int y = 1 ; y < year ; y++) // 여기서부터(1)
  for (int y = 1 ; y < year ; y++) // 여기서부터(1)
  for (int i = 1 ; i < 13 ; i++)
  for (int i = 1 ; i < 13 ; i++)
  array[y][i] = def_max_month(y,i);
  array[y][i] = def_max_month(y,i);
   
   
  for (int a = 1 ; a < month ; a++)
  for (int a = 1 ; a < month ; a++)
  array[year][a] = def_max_month(year,a);
  array[year][a] = def_max_month(year,a);
 
 
  for (int k = 1 ; k < year ; k++)
  for (int k = 1 ; k < year ; k++)
  for (int te=1 ; te < 13 ; te++)
  for (int te=1 ; te < 13 ; te++)
  temp_sum = temp_sum + array[k][te];
  temp_sum = temp_sum + array[k][te];
 
 
  for (int b = 1 ; b < month ; b++)
  for (int b = 1 ; b < month ; b++)
  temp_sum = temp_sum + array[year][b]; // 여기까지(1)
  temp_sum = temp_sum + array[year][b]; // 여기까지(1)
                                        // 입력받은 전달까지 총 일수를 더함.
                                        // 입력받은 전달까지 총 일수를 더함.
 
 
Line 38: Line 38:
  int start_copy = start;
  int start_copy = start;
   
   
  int calen[6][7];
  int calen[6][7];
   
   
   
   
Line 49: Line 49:
  if (m == 0 && start < 7)
  if (m == 0 && start < 7)
  {
  {
  calen[m][start] = one;
  calen[m][start] = one;
  start ++;
  start ++;
  one ++;
  one ++;
Line 55: Line 55:
  if (m >= 1)
  if (m >= 1)
  {
  {
  calen[m][n] = one;
  calen[m][n] = one;
  one ++;
  one ++;
  }
  }
Line 70: Line 70:
  for (int n=0; n < 7 ; n++)
  for (int n=0; n < 7 ; n++)
  {
  {
  if (calen[m][n] <= def_max_month(year,month))
  if (calen[m][n] <= def_max_month(year,month))
  {
  {
  if (m == 0 && start < 7)
  if (m == 0 && start < 7)
Line 80: Line 80:
  cc++;
  cc++;
  }
  }
  cout << calen[0][start];
  cout << calen[0][start];
  cout << "\t";
  cout << "\t";
  start ++;
  start ++;
Line 86: Line 86:
  if (m >= 1)
  if (m >= 1)
  {
  {
  cout << calen[m][n];
  cout << calen[m][n];
  cout << "\t";
  cout << "\t";
  }
  }
Line 159: Line 159:
  }
  }
=========
=========
[[만년달력]] [[방선희]] [[장창재]] [[진정한 아트란?]]
[[만년달력]] [[방선희]] [[장창재]] 진정한 아트란?
----
----
[[데블스캠프2003/넷째날]]
[[데블스캠프2003/넷째날]]

Latest revision as of 00:44, 27 March 2026

진정한 아트를 못알아본 상욱이형이 태클건거.

DeleteMe) 나두 태클 걸고 싶네...ㅡ.ㅡ;; - 재니
#include <iostream>
using namespace std;

int def_max_month(int temp_year, int temp_month);

int array[100000][12]; 

void main()
{
	int temp_sum = 0;
	int year,month;
	
	cout << "원하는 년도를 입력 하세요 = " ;
	cin >> year;
	cout << "원하는 달을 입력 하세요 = " ;
	cin >> month;

	cout << "Mon \tTue\t Wed\t Thu\t Fri\t Sat\t Sun\n";
	for (int y = 1 ; y < year ; y++) // 여기서부터(1)
		for (int i = 1 ; i < 13 ; i++)
			array[y][i] = def_max_month(y,i);

	for (int a = 1 ; a < month ; a++)
		array[year][a] = def_max_month(year,a);
	
	for (int k = 1 ; k < year ; k++)
		for (int te=1 ; te < 13 ; te++)
			temp_sum = temp_sum + array[k][te];
	
	for (int b = 1 ; b < month ; b++)
		temp_sum = temp_sum + array[year][b]; // 여기까지(1)
		                                      // 입력받은 전달까지 총 일수를 더함.
										

	int start = temp_sum % 7;
	int start_copy = start;

	int calen[6][7];


	int one = 1;

	for (int m = 0 ; m < 6 ; m++)
	{
		for (int n = 0 ; n < 7 ; n++)
		{
			if (m == 0 && start < 7)
			{
				calen[m][start] = one;
				start ++;
				one ++;
			}
			if (m >= 1)
			{
				calen[m][n] = one;
				one ++;
			}
		}
	}

	int cc = 0;

	start = start_copy;
	
	int count = 0;
		for (m=0; m < 6 ; m++)
		{
			for (int n=0; n < 7 ; n++)
			{
				if (calen[m][n] <= def_max_month(year,month))
				{
					if (m == 0 && start < 7)
					{
						
						while (cc < start_copy)
						{
							cout << "\t";
							cc++;
						}
						cout << calen[0][start];
							cout << "\t";
						start ++;
					}
					if (m >= 1)
					{
						cout << calen[m][n];
						cout << "\t";
					}
				}
			}
			cout << endl;
		}
	cout << endl;
}

int def_max_month(int temp_year, int temp_month) // 년도를 전달 받아서 그 년도 각각 달의 일수 결정
{
	switch (temp_month)
	{
		case 1 : temp_month = 31;
				 break;
		case 2 : if (temp_year % 4 == 0)
				 {
					 if (temp_year % 100 == 0)
					 {
						if (temp_year % 400 == 0)
						{
							if (temp_year % 4000 == 0)
							{
								temp_month = 28;
							}
							else
								temp_month = 29;
						}
						else
							temp_month = 28;
					 }
					 else 
						temp_month = 29;

								
				}
				else temp_month=28;
				break;
		case 3 : 
			temp_month = 31;
			break;
		case 4 : 
			temp_month = 30;
			break;
		case 5 : 
			temp_month = 31;
			break;
		case 6 : 
			temp_month = 30;
			break;
		case 7 : 
			temp_month = 31;
			break;
		case 8 : 
			temp_month = 31;
			break;
		case 9 : 
			temp_month = 30;
			break;
		case 10 : 
			temp_month = 31;
			break;
		case 11 : 
			temp_month = 30;
			break;
		case 12 : 
			temp_month = 31;
			break;
	}
	return temp_month;
}

=

만년달력 방선희 장창재 진정한 아트란?


데블스캠프2003/넷째날