/*
blooean타입
bool is_alive = false;
bool is_alive = true;
bool is_alive = 5 > 3;
1 (true)
배열 (자료구조)
같은 데이터타입의 여러 변수를 하나의 묶음으로 나타낸 것.
배열의 데이터타입에 대한 동일한 크기로 메모리상에 연속된 공간이 할당된다.
int nums[10]; --> 연속된 배열 4byte 가 연속되서 10개가 잡힘 --> 40byte
배열명이 메모리 시작 주소이다.
2차원배열 및 다차원배열
배열이 개념적으로 2중으로, 다중으로 구성되어 있는 것
1차원 배열 : int student_nums[5]; // 5개의 int
-> 5명의 학생이 있다.
2차원 배열 : int student_nums[3][5]; // 15개의 int
-> 3개 반에 각각 5명의 학생이 있다.
3차원 배열 : int student_nums[4][3][5]; // 60개의 int
-> 4개 학년에 각각 3개의 반이 존재, 각 반에 5명의 학생이 있다.
(엔터 없이) 문자 하나를 입력받는 방법
_getch();
형변환 : 데이터타입을 변환한다.
묵시적 형변환
명시적 형변환
*/
#include
#include
#include <conio.h>
using namespace std;
int main()
{
//int nums[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 12 };
//cout << nums << endl;
//cout << &nums[1] << endl; // [0] 첫번째꺼 출력 [9] 로 하면 10번재꺼 출력
//cout << &nums[2] << endl; // [?] => 시작주소에서 ? 만큼 떨어져 있다. 0번부터 시작
//cout << &nums[3] << endl; // 배열이 4byte 씩 자리를 차지하고 있다.
//for (int i = 0; i < 10; i++)
//{
// cout << nums[i] << endl;
//}
//cout << endl;
//cout << endl;
//int student_nums[3][5] = { {1, 2, 3, 4, 5},
// {6, 7, 8, 9, 10},
// {11, 12, 13, 14, 15} };
////cout << student_nums[0][5] << endl; // [1][0] 과 같은 메모리값이다 => 연속된 메모리라 그렇다
//// 순서대로 출력하는 코드
//for (int j = 0; j < 3; j++)
//{
// for (int i = 0; i < 5; i++)
// {
// cout << student_nums[j][i] << endl;
// }
//}
///*
// 실습1. string형 배열변수 5개짜리를 선언하고
// 반복문을 통해 학생의 이름을 입력받는다.
// 입력을 다 받고나서 1 ~ 5사이의 값을 입력하면 해당학생의 이름이 출력된다.
// 예시)
// 1번째 학생의 이름을 입력하세요 : ____
// 2번째 학생의 이름을 입력하세요 : ____
// 3번째 학생의 이름을 입력하세요 : ____
// 4번째 학생의 이름을 입력하세요 : ____
// 5번째 학생의 이름을 입력하세요 : ____
// 1 ~ 5사이의 번호를 입력하세요 : _3
// 3번째 학생의 이름은 ... 입니다.
//*/
//string name[5];
//int a = 0;
//
//for (int i = 0; i < 5; i++)
//{
// cout << i + 1 << "번째 학생의 이름을 입력하세요 : ";
// cin >> name[i];
//}
//cout << "1 ~ 5사이의 번호를 입력하세요 : ";
//cin >> a;
//cout << a << "번째 학생의 의름은 " << name[a-1] << "입니다." << endl;
///*
// 실습2.
// 구구간의 결과를 저장하는 2차원 배열을 하나 저장하고,
// 이중 for문을 이용해서 배열 변수에 구구단의 결과값을 저장하고,
// 두 수를 입력 적합한 결과값을 출력해보자.
// 예시)
// (결과 저장 완료)
// 몇 단을 볼까요? : _4
// 몇을 곱할까요? : _7
// 4 * 7 = 28
//*/
////int student_nums[3][5] = { {1, 2, 3, 4, 5},
//// {6, 7, 8, 9, 10},
//// {11, 12, 13, 14, 15} };
//
////cout << student_nums[0][5] << endl; // [1][0] 과 같은 메모리값이다 => 연속된 메모리라 그렇다
//// 순서대로 출력하는 코드
//int gugudan [8][9];
//int farst_num = 0;
//int last_num = 0;
//for (int j = 0; j < 8; j++)
//{
// for (int i = 0; i < 9; i++)
// {
// gugudan[j][i] = (j+2) * (i+1);
// }
//}
//cout << "(결과 저장 완료)" << endl;
//cout << "몇단을 볼까요? : ";
//cin >> farst_num;
//cout << "몇을 곱할까요? : ";
//cin >> last_num;
//cout << gugudan[farst_num-2][last_num-1] << endl;
//// 교수님 해설.
//int gugu_db[8][9];
//int input_dan;
//int input_su;
//for (int j = 0; j < 8; j++)
//{
// for (int i = 0; i < 9; i++)
// {
// gugu_db[j][i] = (j + 2) * (i + 1);
// }
//}
//cout << "(결과 저장 완료)" << endl;
//cout << "몇단을 볼까요? : ";
//cin >> input_dan;
//cout << "몇을 곱할까요? : ";
//cin >> input_su;
//cout << input_dan << " * " << input_su << " = " << gugu_db[input_dan - 2][input_su - 1] << endl;
//int input_key = _getch();
//char input_key_char = _getch();
//cout << (int)input_key_char << endl;
//float test_float = (float)5.4;
///*
// 실습3.
// A ~ Z 키 중에 하나를 정답으로 설정한다.
// 유저는 한 개의 키를 입력해서 설정된 값을 맞춘다.
// 유저가 입력한 키와 설정된 값이 맞으면 승리, 프로그램 종료
// 틀리면 남은 기회를 보여주고,
// 5번 틀리면 정답을 알려주고 게임오버
// + 틀릴 때마다 정답 알파벳이 입력된 알파벳 앞에 있는지. 뒤에 있는지 힌트를 준다.
// + 입력된 값이 대소문자 구분 없이 처리될 수 있도록 수정 해보자.
//*/
/*
int right_answer = 0;
int user_answer;
right_answer = 'A';
cin >> user_answer;
for (int i = 0; i < 5; i++)
{
if (right_answer && user_answer)
cout << "승리" << endl;
else if (right_answer != user_answer)
cout << "패배" << endl;
}
*/
/*
콘솔용 탈출게임
10 * 10 크기의 맵을 구성한다. (2차원 배열)
플레이어(0, 0)가 존재한다.
탈줄지점이 존재한다.
WASD 키입력을 통해 플레이어를 이동시킨다.
탈출지점은 (0, 0)을 제외하고 랜덤 설정
O가 E에 도달하면 "탈출에 성공했습니다." 프로그램 종료
#O########
##########
##########
##########
##########
##########
##########
######E###
##########
##########
system("cls");
*/
char player = 'P';
char goal = 'E';
srand(time(NULL));
int x = rand() % 10;
int y = rand() % 10;
int goal[x][y];
cout << player << (char)goal << endl;
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
cout << "#";
cout << endl;
}
}