분류 전체보기
-
배열리스트 c++자료구조 2020. 1. 17. 16:20
#include using namespace std; #define MAX_LIST_SIZE 100 typedef int element; typedef struct { element list[MAX_LIST_SIZE]; int length; }Array; void error(char *message) { cout length = 0; } int is_empty(Array *L) { return L->length == 0; } int is_full(Array *L) { return L->length == MAX_LIST_SIZE; } void display(Array *L) { int i; for (i = 0; i length; i++) { cout list[i]; } } void add(Arra..
-
ADT(abstract data type)자료구조 2020. 1. 16. 11:55
추상 자료형 지갑의 기능 1카드를 삽입 2카드를 빼냄 3동전의 삽입 4동전을 빼냄 5지폐의 삽입 6지폐를 빼냄 위에는 지갑의 기능들이 나열되어있다. 하지만 기능이 어떠한 과정을 거쳐서 완성되는지는 언급하지 않고 있다. 예를 들어 동전의 삽입과정을 다음과 같다 "지갑을 열고 동전 주머니를 찾아 동전 주머니의 지퍼를 내린다 ,그리고 동전 주머니에 동전을 넣는다 . 이어서 동전 주머니의 지퍼를 올린 다음 마지막으로 지갑을 닫는다" 우리에게 너무나도 익숙한 것이 지갑이라 별도의 과정이 존재하지 않는 것 같지만 돌이켜 보면 여러 과정을 거쳐서 카드나 지폐의 삽입이 이뤄짐을 알 수 있다. 즉 위에 정리해 놓은 것은 ' 지갑이 제공하는 기능들' 이다 이렇듯 ' 구쳐적인 기능의 완성과정을 언급하지 않고 순수하게 기능이..
-
탄화수소 계산algorism 2020. 1. 15. 16:46
탄소(C)와 수소(H)로만 이루어진 화합물을 탄화수소라고 합니다. 탄소(C) 한 개의 질량은 12g, 수소(H) 한 개의 질량은 1g입니다. 에틸렌(C2H4)의 질량은 12*2+1*4=28g입니다. 메탄(CH4)의 질량은 12*1+1*4=16g입니다. 탄화수소식이 주어지면 해당 화합물의 질량을 구하는 프로그램을 작성하세요. 입력설명 첫 줄에 탄화수소식이 주어집니다. 식의 형태는 CaHb 형태이며 (1 arr; if (arr[1] == 'H')//C 즉 탄소갯수가 1개일때C다음 바로 H가 나왔을때를 말함 { C = 1; pos = 1; } else { for (i = 1; arr[i]!='H'; i++)//H가 나올때까지 반복 { C = C * 10 + (arr[i] - 48);//숫자 구하기 } pos ..
-
병합정렬 알고리즘algorism 2020. 1. 15. 15:46
오름차순으로 정렬이 된 두 배열이 주어지면 두 배열을 오름차순으로 합쳐 출력하는 프로그램 을 작성하세요. 입력설명 첫 번째 줄에 첫 번째 배열의 크기 N(1 arr[i]; } cin >> N2; for (int i = 0; i > arr2[i]; } if (N > N2) { win = N; } else { win = N2; } for (int i = 0; i arr2[i]) { result[count] = arr2[i]; count++; result[count] = arr[i]; count++; } else if (arr[i] < arr2[i]) { result[count] = arr[i]; count++; result[cou..
-
3의 갯수 구하기algorism 2020. 1. 14. 21:30
자연수 N이 입력되면 1부터 N까지의 자연수를 종이에 적을 때 각 숫자 중 3의 개수가 몇 개 있는지 구하려고 합니다. 예를 들어 1부터 15까지는 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5으로 3의 개수는 2개입니다. 자연수 N이 입력되면 1부터 N까지 숫자를 적을 때, 3의 개수가 몇 개인지 구하여 출력하는 프로그램을 작성하세요. 입력설명 첫 줄에 자연수의 개수 N(3 N; for (int i = 1; i = 1) { tmp = tmp / 10; tmp2 = tmp2 % 10; if (tmp2 == 3) { number++; } tmp2 = tmp; } } } cout
-
카드게임algorism 2020. 1. 14. 20:49
0부터 9까지의 숫자가 표시된 카드를 가지고 두 사람 A와 B가 게임을 한다. A와 B에게는 각 각 0에서 9까지의 숫자가 하나씩 표시된 10장의 카드뭉치가 주어진다. 두 사람은 카드를 임의 의 순서로 섞은 후 숫자가 보이지 않게 일렬로 늘어놓고 게임을 시작한다. 단, 게임 도중 카드 의 순서를 바꿀 수는 없다. A와 B 각각이 늘어놓은 카드를 뒤집어서 표시된 숫자를 확인하는 것을 한 라운드라고 한 다. 게임은 첫 번째 놓인 카드부터 시작하여 순서대로 10번의 라운드로 진행된다. 각 라운드에 서는 공개된 숫자가 더 큰 사람이 승자가 된다. 승자에게는 승점 3점이 주어지고 패자에게는 승점이 주어지지 않는다. 만약 공개된 두 숫자가 같아서 비기게 되면, A, B 모두에게 승점 1 점이 주어진다. 10번의 라..
-
가위바위보게임algorism 2020. 1. 14. 20:26
A, B 두 사람이 가위바위보 게임을 합니다. 총 N번의 게임을 하여 A가 이기면 A를 출력하고, B가 이기면 B를 출력합니다. 비길 경우에는 D를 출력합니다. 가위, 바위, 보의 정보는 1:가위, 2:바위, 3:보로 정하겠습니다. 예를 들어 N=5이면 두 사람의 각 회의 가위, 바위, 보 정보가 주어지면 각 회를 누가 이겼는지 출력하는 프로그램 을 작성하세요. 입력설명 첫 번째 줄에 게임 횟수인 자연수 N(1 N; vector a(N); vector b(N); for (int i = 0; i > a[i]; } for (int i = 0; i > b[i]; } for (int i = 0; i b[i] &..
-
고정너비정수c++ 2020. 1. 14. 12:27
고정 너비 정수 환경에 따라 같은 int가 4byte로 있는경우도 2byte로 있는 경우도 있다 , 항상 같은 값을 가지게 하기 위해 등장한것이 고정 너비정수이다 #include #include #include int main()// { using namespace std; int16_t i(5);//16bits형 자료형 i에 5를 대입 2bytes = short형 = 5 즉 나는 2바이트를 사용해서 i를 만들겠다라고 몇바이트를 사용할지 고정함 int8_t j = 65;//8bit형 자료형 j에 65대입 1bytes = char형 = A 즉 나는 1바이트를 사용해서 j를 만들겠다고 몇바이트를 사용할지 고정함 cout