#include <iostream>
int main()
{
// 2중 for문의 총 반복은 바깥쪽 for문 반복 * 안쪽 for문 반복
for (int i = 0; i < 5; ++i)
{
for (int j = 0; j < 5; ++j)
{
for (int k = 0; k < 5; ++k)
{
std::cout << "i : " << i << "j :" << j << "k : " << k << std::endl;
}
}
}
/*
2 * 1 = 2
2 * 2 = 4
.
.
.
3 * 1 = 3
3 * 2 = 6
.
.
9 * 9= 81
for문을 작성할 때, 먼저 규칙을 찾아준다.
2단 규칙 : 2는 고정, 뒤에 곱해주는 수가 1 ~ 9 까지 차례로 증가한다.
3단 규칙 : 3은 고정, 뒤에 곱해주는 수가 1 ~ 9 까지 차례로 증가한다.
.
.
9단 규칙 : 9는 고정, 뒤에 곱해주는 수가 1 ~ 9 까지 차례로 증가한다.
뒤에 곱해지는 수는 무조건 1 ~ 9 까지 차례로 증가를 하게 된다.
앞의 단은 2 ~ 9 까지 1씩 증가를 한다.
*/
for (int i = 2; i <= 9; ++i)
{
for (int j = 1; j <= 9; ++j)
{
std::cout << i << " * " << j << " = " << i * j << std::endl;
}
}
/*
0 *
1 **
2 ***
3 ****
4 *****
규칙 : 각 줄마다 별이 1개씩 늘어난다.
전체 5줄이다.
한 줄이 끝나면 개행한다.
*/
for (int i = 0; i < 5; ++i)
{
for (int j = 0; j < i + 1; ++j)
{
std::cout << "*";
}
std::cout << std::endl; //한 줄이 끝나면 개행한다.
}
/*
0*****
1****
2***
3**
4*
규칙 : 각 줄마다 별이 1개씩 감소한다.
전체 5줄이다.
한 줄이 끝나면 개행한다.
*/
for (int i = 0; i < 5; ++i)
{
for (int j = 0; j < 5 - i; ++j)
{
std::cout << "*";
}
std::cout << std::endl; //한 줄이 끝나면 개행한다.
}
/*
0 *
1 **
2 ***
3 ****
4 *****
규칙 : 각 줄마다 별이 하나씩 증가한다.
각 줄마다 공백이 4개부터 시작해서 각 줄마다 하나씩 줄어든다.
총 다섯줄이다.
한 줄이 끝나면 개행한다.
별의 출력은 공백 다음에 출력을 한다.
*/
for (int i = 0; i < 5; ++i)
{
for (int j = 0; j < 4 - i; ++j)
{
std::cout << " "; //공백을 출력한다. 4, 3, 2, 1, 0 개를 출력.
}
for (int j = 0; j < i + 1; ++j)
{
std::cout << "*";
}
std::cout << std::endl;
}
/*
숙제1
*****
****
***
**
*
*/
/*
숙제2
*
***
*****
*******
*/
/*
숙제3
*
***
*****
*******
*****
***
*
*/
return 0;
}
#include <iostream>
// 시간에 관련된 기능을 가지고 있는 헤더파일이다.
#include <time.h>
int main()
{
/*
while문 : 반복문이다.
while(조건식)
{
원하는 코드 작성
}
while (true)
{
} // 무한 루프
*/
int i = 0;
while (i < 10) // 조건을 먼저 체크하고 들어감.
{
int j = 0;
while (j < 10)
{
std::cout << "i : " << i << "j : " << j << std::endl;
}
++i;
}
/*
do while문 : 반복문이다.
do
{
동작할 코드
}while(조건식);
처음 1번은 조건과 상관없이 동작할 코드가 무조건 동작된다.
그 후 조건식을 체크해서 true이면 계속 동작되고 false이면 빠져나간다.
*/
i = 0;
do
{
std::cout << "i : " << i << std::endl;
++i;
} while (i < 10);
/*
srand : C++에서 제공하는 난수 테이블이다.
이 기능을 이용해서 난수 테이블을 준비한다.
rand() 를 이용해서 난수를 생성한다.
*/
// system("cls"); 이 줄을 넣어주면 콘솔창을 지워준다.
system("cls");
// time(0) : 현재 시간을 초단위로 환산하여 얻어온다.
std::cout << time(0) << std::endl;
srand((unsigned int)time(0)); // n번시드에 난수는 무조건 정해져 있음. 그래서 시간난수 사용
// time(0) 을 하면 time_t 라는 변수 타입으로 결과가 나오기 때문에
// seed 의 형태인 unsigned int로 형변환시켜준다.
// 첫번째 얻어오는 난수는 값이 seed에 따라 조금씩 증가하게 되어 있어서
// 하나는 걸러내준다.
// 초록줄이 나오는 것은 값의 대입이 없기 때문이다.
rand();
int Random = rand();
for (int i = 0; i < 10; ++i)
{
//std::cout << rand() % 101 << std::endl; // 0에서 100사이의 난수 구하기
// 100에서 150사이의 난수 구하기
// rand() % (최대 - 최소 + 1) + 최소
std::cout << rand() % 151 << std::endl;
}
return 0;
}
'그날의 코딩' 카테고리의 다른 글
220314_class (0) | 2022.03.15 |
---|---|
220308_class (0) | 2022.03.08 |
220307_class (0) | 2022.03.07 |
220304_code_review (0) | 2022.03.06 |
220304 (0) | 2022.03.06 |