- 1. 행렬 A를 입력받아 A^T(transpose)를 출력하는 프로그램을 만드시오.
- 기본적으로 행렬 A는 5X5 행렬.
- 처음 실행시 행렬의 크기도 입력받게 해서 만들어 본다면 상을 줄게요.
- 2. Tic-Tac-Toe 게임
- 3X3 행렬에서 먼저 한 줄을 본인의 말로 완성하면 이기는 게임
- 기본적으로 rand함수를 이용해 컴퓨터의 말의 위치를 선택
- 컴퓨터에 AI를 내장한다면 상을 줄게요.
유재범
#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번도 빠른 시일 내에 올리겠습니다.
오영은
미완성. 일단 올려놓고 나중에 고칠게요.
#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);
}
장우진
문태현