Skip to content

Latest commit

 

History

History
178 lines (131 loc) · 2.98 KB

09.for.md

File metadata and controls

178 lines (131 loc) · 2.98 KB

for문

시작점;조건식;증감식으로 구분됩니다.

조건식만 쓰면 while문처럼 작동되며, ;;로 모두 생략시 무한 루프도 가능합니다.

단일 for문

i를 0부터 10까지 1씩 증가시키는 예제입니다.

반복할때마다 hello * 10를 출력합니다.

#include<iostream>

using namespace std;

int main() {
    for (int i = 0; i < 10; i++) {
        cout <<"hello * 10" <<endl;
    }

    return 0;
}

이중 for문

처음 for문이 한번 수행할때마다, 그 안 for문은 주어진 반복문을 수행합니다.

#include<iostream>

using namespace std;

int main() {

    for (int i = 1; i < 10; i++) {
        for (int j = 1; j < 10; j++) {
            cout << i << " *" << j << " = " << i * j << endl;
        }
    }

    return 0;
}

for + if

for문 사이에 if문이 존재할 수 있습니다.

if 조건식에 부합한다면 for문을 탈출하게 할 수 있습니다.

#include<iostream>

using namespace std;

int main() {
    for (int i = 1; i < 10; i++) {
        for (int j = 1; j < 10; j++) {
            if (i * j % 3 == 0 && i *j % 7 == 0) {
                cout << i << " *" << j << " = " << i * j << endl;
            }
        }
    }

    return 0;
}

위 코드는 구구단 후 3과7의 공배수를 구한 예제입니다.

별찍기 실습

우선 아래 예시를 보고 예제없이 코딩을 해봅시다!

(hint : " ""*"은 별개의 for문으로 수행합니다.)

정답 코드는 아래에 있습니다.

*
**
***
****
*****
-----------
*****
****
***
**
*
-----------
    *
   ***
  *****
 *******
*********

정답 코드 :

#include<iostream>

using namespace std;

int main() {
    for (int i = 0; i < 5; i++) {
        for (int j = 1; j <= i + 1; j++) {
            cout << '*';
        }
        cout << endl;
    }

    cout << "-----------" << endl;
    for (int i = 0; i <= 5; i++) {
        for (int j = 1; j <= 5 - i; j++) {
            cout << '*';
        }
        cout << endl;
    }

    cout << "-----------" << endl;
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 4 - i; j++) {
            cout << ' ';
        }
        for (int j = 0; j < i * 2 + 1; j++) {
            cout << '*';
        }
        cout << endl;
    }

    return 0;
}

for-range

C++14에 들어간 컨셉으로서, for-each와 유사합니다.

반복문을 쉽게 할 수 있다는게 장점입니다.

#include<iostream>

using namespace std;

int main()
{
    int array_int[5] = {1,2,3,4,5};
    for (auto i : array_int) {
        cout << i << endl;
    }
    return 0;
}

과제

  • 과제-1(1) : 구구단을 구해서 짝수만 출력하기

  • 과제-1(2) : 짝수*짝수의 결과만 출력하기

  • 과제-2(1) : 아래 예시 처럼 A 모양 출력하기

      *
     * *
    *   *
   *     *
  *********
 *         *
*           *
  • 과제-2(2) : 사이즈를 입력받아 크기를 조절할 수 있는 A 모양 만들기