그날의 코딩

220315_class

슬뷔 2022. 3. 15. 23:43

#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