1.
우선 가로 5, 세로 5줄의 5 X 5 사각형입니다.
#include <iostream>
int main() {
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
std::cout << "*";
}
std::cout << std::endl;
}
}
코드 설명을 하겠습니다.
우선 i는 행, j는 열이 됩니다.
내부의 for문이 j의 값이, 0,1,2,3,4로 변하면서 5번 실행되면 -> *이 5개 찍힘
외부의 for문 i의 값이 1증가합니다. -> 줄변경
i의 값이 5가 되면 전체 for문은 종료 됩니다.
제가 C++코드라고 적어 놨지만 사실 언어는 그다지 중요하지 않습니다.
자바는 print, 파이썬도 print만 바꾸면 똑같은 출력이 됩니다.
2.
#include <iostream>
int main() {
for (int i = 0; i < 5; i++)
{
for (int j = 0; j <= i; j++)
{
std::cout << "*";
}
std::cout << std::endl;
}
}
그 전 코드랑 차이점이 보이시나요?
첫번째 줄에는 별이 하나, 두번째 줄에는 별이 두개 이런식입니다.
따라서 j의 값은 i가 0일때는 j의 값은 0일때 한 번 실행되어서 별이 하나
i가 1일때는 j의 값이 0일때 한 번, 1일 때한번 이렇게 두번 실행되어서 별이 두개 이렇게 진행됩니다.
3.
#include <iostream>
int main() {
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 4-i; j++)
{
std::cout << " ";
}
for (int j = 0; j <= i; j++)
{
std::cout << "*";
}
std::cout << std::endl;
}
}
이번에는 직각 삼각형의 모양이 반대입니다.
한 줄당 별의 갯수는 전 코드랑 같죠?
그래서 밑의 부분은 기존 코드와 같습니다.
대신 공백을 찍어주는 내부 for문을 한개 추가 했습니다.
for문의 조건식이 중요한데 i가 0일때는 공백이 4번 찍힙니다. 그리고 i가 1일때는 공백이 3번찍히죠.
그렇게 줄이 바뀔때마다 공백은 하나씩 줄고 별이 하나씩 늘게 됩니다.
이제는 여러분께 문제를 내겠습니다. 잘 풀어보시길 푸는 과정에서 실력이 느니깐요.
문제 1.
문제 2.
문제 3.
문제 4.
문제 5.
해결이 어려우시거나 궁금하신것 있으신분 댓글 남겨주세요~
다푸시고 자랑하셔도 좋습니다.
'개발 이야기' 카테고리의 다른 글
클래스(class)란 무엇인가? (0) | 2023.06.21 |
---|---|
서버의 개념에 대해 (0) | 2023.06.21 |
ChatGPT에 대한 신뢰의 문제 (0) | 2023.06.03 |
블로그 글이 복사(ctrl + c)가 안될 때 해결 법 (0) | 2023.05.30 |
[Android]Glide로 이미지 불러오기 (0) | 2023.05.25 |