정삼각형
~cpp
>> 3
*
* *
* * *
>> 5
*
* *
* *
* *
* * * * *
정사각형
~cpp
>> 3
* * *
* *
* * *
>> 5
* * * * *
* *
* *
* *
* * * * *
여러 정수 값을 읽어 들여 그 중에 최대 가장 큰 네 개의 값들을 출력
~cpp
>> 5 3 2 9 10 4
4 5 9 10
>> 5 3 2
2 3 5
입력에서 가장 긴 string의 길이와 가장 짧은 string의 길이를 출력하는 프로그램 (";" 을 만났을 때 문자열 종료)
~cpp
>> I am a boy ;
3, 1
>> Hello world ;
5, 5
마방진, 렌덤워크
참고 자료 ( 2차원 벡터 설정)
~cpp
#include <iostream>
#include <vector>
using std::cin;
using std::cout;
using std::endl;
using std::vector;
int main()
{
// 2차원 벡터 설정
int size = 5; // size가 5라면...
vector< vector<int> > board(size);
for(int i = 0; i < size; i++)
board[i].resize(size);
// 출력
for(int r = 0; r < size; r++)
{
for(int c = 0; c < size; c++)
{
cout << board[r][c] << "\t";
}
cout << endl;
}
return 0;
}
참고 자료2 (렌덤 숫자 만들기)
~cpp
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
srand((unsigned)time(NULL));
int a = rand() % 10; // 0부터 9까지 수가 렌덤하게 나옴
return 0;
}
장문에서 단어의 빈도수를 세서 출력한다. 이때 알파벳순으로 출력. (";" 을 만났을 때 문자열 종료)
~cpp
>> I am a boy. You are a girl. We are happy. ;
a 2
am 1
are 2
boy 1
girl 1
happy 1
i 1
we 1
you 1
total words: 9
자판기(Vending Machine)
첫번째 요구사항
~cpp
명령어
- put {50, 100, 500, 1000} - 돈을 넣다.
- choose {sprite, tea, tejava} - 음료수 선택하다.
- draw - 돈을 빼다.
- exit - 자판기를 떠난다 (프로그램 종료)
가격
sprite: 400
tea: 500
tejava: 500
~cpp
>> put 100
money: 100
>> put 500
money: 600
>> choose sprite
come out sprite!
money: 200
>> draw
chage: 200
>> exit
두번째 요구사항
~cpp
- 이상한 돈 안됨
- 이상한 명령어 안됨
- 음료수가 수량(초기에는 모두 3개)을 가지고 다 떨어지면 품절 출력
~cpp
>> address
incorrect command!
>> put 1000
money: 1000
>> put 1000
money: 2000
>> put 123
incorrect money!
>> choose sprite
come out sprite! rest amount: 2
money: 1600
>> choose sprite
come out sprite! rest amount: 1
money: 1200
>> choose sprite
come out sprite! rest amount: 0
money: 800
>> choose sprite
run out of sprite!
money: 800
세번째 요구사항
~cpp
- 음료수 milk (600원) 추가
- 음료수 tea, milk만 {hot, cold} 선택
- 모든 함수 30 라인 이내
~cpp
>> put 1000
money: 1000
>> choose hot milk
come out hot milk! rest amount: 2
money: 400