U E D R , A S I H C RSS

새싹교실/2014/속도위반/0516 (rev. 1.6)

새싹교실/2014/속도위반/0516


1. 진행사항

2. 과제

  • 1. 행렬 A를 입력받아 A^T(transpose)를 출력하는 프로그램을 만드시오.
    • 기본적으로 행렬 A는 5X5 행렬.
    • 처음 실행시 행렬의 크기도 입력받게 해서 만들어 본다면 상을 줄게요.
  • 2. Tic-Tac-Toe 게임
    • 3X3 행렬에서 먼저 한 줄을 본인의 말로 완성하면 이기는 게임
    • 기본적으로 rand함수를 이용해 컴퓨터의 말의 위치를 선택
    • 컴퓨터에 AI를 내장한다면 상을 줄게요.

2.1. 유재범

1번 코드

#include <stdio.h>
#pragma warning(disable:4996)

int arr;
int array[1000][1000] = {'\0', };

void Array(int);
void Change(int);

int main(void)
{
	int count=0, select;
	
	while(1)
	{
		if(count==0)
		{
			Array(5);
			count++;
		}
		else
		{
			printf("몇 개의 이차원 배열을 transpose하시겠습니까?");
			scanf("%d", &arr);
			Array(arr);
			count++;
		}
		printf("더 하시겠습니까? (Yes : 1, No : 2)");
		scanf("%d", &select);
		if(select==1)
			continue;
		else
			break;
	}
	return 0;
}

void Array(int arr)
{
	int i=0, j=0;
	

	for(i=0; i!=arr; i++)
	{
		for(j=0; j!=arr; j++)
			array[i][j] = (arr*i) + j+1;
	}

	for(i=0; i!=arr; i++)
	{
		for(j=0; j!=arr; j++)
			printf("%3d", array[i][j]);
		printf("\n");
	}
	printf("\n\n\n");

	Change(arr);
}

void Change(int arr)
{
	int save, i, j;
	for(i=0; i!=arr; i++)
	{
		for(j=0; j!=arr; j++)
			array[j][i] = (j*arr)+i+1;
	}

	for(i=0; i!=arr; i++)
	{
		for(j=0; j!=arr; j++)
			printf("%3d", array[j][i]);
		printf("\n");
	}
	printf("\n\n\n\n\n\n");
}

2번 코드


  • 1번은 카운트를 받아 처음에는 5개가 출력되고 그 다음에는 사용자가 원하는대로 출력하게 설정하였습니다.
  • 2번도 빠른 시일 내에 올리겠습니다.

2.2. 오영은

미완성. 일단 올려놓고 나중에 고칠게요.


#include<stdio.h>
#pragma warning(disable:4996)

int trans[5][5]={0, };
int num1=0, num2=0;


int main()
{
     printf("   1   2   3   4   5   \n");
     printf(" ┌─┬─┬─┬─┬─┐\n");
     printf("1│  │★│  │  │  │\n");
     printf(" ├─┼─┼─┼─┼─┤\n");
     printf("2│  │  │  │  │  │\n");
     printf(" ├─┼─┼─┼─┼─┤\n");
     printf("3│  │  │  │  │  │\n");
     printf(" ├─┼─┼─┼─┼─┤\n");
     printf("4│  │  │  │  │  │\n");
     printf(" ├─┼─┼─┼─┼─┤\n");
     printf("5│  │  │  │  │  │\n");
     printf(" └─┴─┴─┴─┴─┘\n\n");
	 printf("표의 ★는 (1,2)좌표를 나타내는 것입니다.\n\n");




	for(num1=0;num1<5;num1++)
	{
		for(num2=0;num2<5;num2++)
		{
			 printf("(%d,%d)의 숫자를 입력하세요.\n", num1+1, num2+1);
	         scanf("%d", &trans[num1][num2]);
		}

	}
	system("pause");
	system("cls");

	 printf("   1   2   3   4   5   \n");
     printf(" ┌─┬─┬─┬─┬─┐\n1│");
	  for(num2=0;num2<5;num2++)
		 {
			 num1=0;
             printf("%2d│", trans[num1][num2]);
	     }
			
	 
	 for(num1=1;num1<5;num1++)
	 {
	 	if(num2=4)
			{
				printf("\n ├─┼─┼─┼─┼─┤\n%d│", num1+1);
				
			}
		 for(num2=0;num2<5;num2++)
		 {
             printf("%2d│", trans[num1][num2]);
		 }
	 }
      printf("\n └─┴─┴─┴─┴─┘\n\n");


	  printf("           ↓\n\n");


	   printf("   1   2   3   4   5   \n");
     printf(" ┌─┬─┬─┬─┬─┐\n1│");
	  for(num2=0;num2<5;num2++)
		 {
			 num1=0;
             printf("%2d│", trans[num2][num1]);
	     }
			
	 
	 for(num1=1;num1<5;num1++)
	 {
	 	if(num2=4)
			{
				printf("\n ├─┼─┼─┼─┼─┤\n%d│", num1+1);
				
			}
		 for(num2=0;num2<5;num2++)
		 {
             printf("%2d│", trans[num2][num1]);
		 }
	 }
      printf("\n └─┴─┴─┴─┴─┘\n\n\n");


	 system("pause");

    return 0;
}










#include<stdio.h>
#pragma warning(disable:4996)
#include <windows.h>


char trans[3][3]={0, };
int num1=0, num2=0, com1=0, com2=0, times=0;
void gotoxy(int x, int y)
{
     COORD Cur;
     Cur.X=x;
     Cur.Y=y;
     SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Cur);
}

char ttt();


int main()
{

printf("Tic-Tac-Toe 게임\n\n");
printf("   1   2   3  \n");
printf(" ┌─┬─┬─┐\n");
printf("1│  │★│  │\n");
printf(" ├─┼─┼─┤\n");
printf("2│  │  │  │\n");
printf(" ├─┼─┼─┤\n");
printf("3│  │  │  │\n");
printf(" └─┴─┴─┘\n");
printf("표의 ★는 (1,2)좌표를 나타내는 것입니다.\n\n");
system("pause");
system("cls");



printf("   1   2   3  \n");
printf(" ┌─┬─┬─┐\n");
printf("1│%2c│%2c│%2c│\n", trans[0][0], trans[0][1], trans[0][2]);
printf(" ├─┼─┼─┤\n");
printf("2│%2c│%2c│%2c│\n", trans[1][0], trans[1][1], trans[1][2]);
printf(" ├─┼─┼─┤\n");
printf("3│%2c│%2c│%2c│\n", trans[2][0], trans[2][1], trans[2][2]);
printf(" └─┴─┴─┘\n\n");


printf("원하시는 좌표를 입력하세요. : ( , )");
gotoxy(31,9);
scanf("%d", &num1);
gotoxy(33,9);
scanf("%d", &num2);

while(times<9)
{
ttt();

}
system("pause");
}

char ttt()
{

trans[num2-1][num1-1]='O';
times++;

srand((unsigned)time(NULL));
com1=rand()%3;
com2=rand()%3;
if(trans[com2][com1]!='/0')
{
	while(trans[com2][com1]=='/0')
		{
			com1=rand()%3;
            com2=rand()%3;
	    }
	trans[com2][com1]='X';
}


times++;

system("cls");
printf("   1   2   3  \n");
printf(" ┌─┬─┬─┐\n");
printf("1│%2c│%2c│%2c│\n", trans[0][0], trans[0][1], trans[0][2]);
printf(" ├─┼─┼─┤\n");
printf("2│%2c│%2c│%2c│\n", trans[1][0], trans[1][1], trans[1][2]);
printf(" ├─┼─┼─┤\n");
printf("3│%2c│%2c│%2c│\n", trans[2][0], trans[2][1], trans[2][2]);
printf(" └─┴─┴─┘\n\n");
printf("원하시는 좌표를 입력하세요. : ( , )");
gotoxy(31,9);
scanf("%d", &num1);
gotoxy(33,9);
scanf("%d", &num2);
}

2.3. 장우진

2.4. 문태현


3. 후기



도위반
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:29:53
Processing time 0.0263 sec