일지
-
JUNGOL...22일지 2020. 11. 17. 19:38
Language_Code/배열2/형성평가1 문제 승지는 주사위 놀이를 하다가 주사위를 10번 던져서 각 숫자가 몇 번씩 나왔는지 알아보려고 한다. 한번 던질 때마다 나온 주사위의 숫자를 입력받아서 각 숫자가 몇 번씩 나왔는지 출력하는 프로그램을 작성하시오. 입력 예 5 6 3 4 5 5 2 2 4 6 출력 예 1 : 0 2 : 2 3 : 1 4 : 2 5 : 3 6 : 2 FormativeArray201.h #include FormativeArray201.cpp void FormativeArray201::Code() { int dice[6]{}; int var; for (int i = 0; i > var; dice[var - 1]++; } for (int i = ..
-
자료구조...33일지 2020. 11. 16. 21:51
스택 데이터를 하나의 접근점을 통해 순차적으로 저장하는 자료구조로 마지막에 입력된 데이터가 가장 먼저 사용되는 후입 선출(Last In First Out) 구조를 가진다. - 삽입(Push) 연산 스택에 데이터를 삽입하고 삽입된 데이터를 최상단으로 표시한다. * 원본 데이터 인덱스 0 1 2 3 : TOP 4 데이터 10 20 30 40 인덱스 0 1 2 3 4 : TOP 데이터 10 20 30 40 50 - 인출(Pop) 연산 최상단에 존재하는 데이터를 인출하고 최상단의 다음에 존재하는 노드를 최상단으로 표시한다. 인덱스 0 1 2 3 : TOP 4 데이터 10 20 30 40 50 ┗→ 50
-
JUNGOL...21일지 2020. 11. 14. 11:41
Language_Code/배열2/자가진단1 문제 영문 대문자를 입력받다가 대문자 이외의 문자가 입력되면 입력을 중단하고 영문 대문자들에 대하여 1번 이상 입력된 각 문자와 그 문자의 개수를 사전 순으로 출력하는 프로그램을 작성하시오. 입력 예 A B C F F F B Z ! 출력 예 A : 1 B : 2 C : 1 F : 3 Z : 1 Hint! C, C++ 사용자 힌트입니다. 'A'는 0번 'B'는 1번 'C'는 2번 … 'Z'는 25번에 count 한다. 'A'는 메모리에 65로 저장된다. 따라서 입력받은 문자에서 65 또는 'A'를 빼면 해당문자의 개수를 저장할 번호가 된다. ('B'-65=1 또는 'B'-'A'=1) 1을 다시 'B'로 바꾸어 출력하려면 char(1+65) 또는 char(1+'A'..
-
-
인터프리터...14일지 2020. 11. 12. 22:05
토큰 처리 Tokenizer.h #pragma region 키워드표 struct Keyword { const char* str; TokenKind type; }; Keyword keywordList[] = { {"if", TokenKind::If}, {"else", TokenKind::Else}, {"end", TokenKind::End}, {"print", TokenKind::Print}, {"(", TokenKind::LeftParenthesis}, {")", TokenKind::RightParenthesis}, {"==", TokenKind::Equal}, {"!=", TokenKind::NotEqual}, {"", TokenKind::Grater}, {"=", TokenKind::GraterEqu..
-
인터프리터...13일지 2020. 11. 11. 22:18
파일 처리 및 토큰 처리 준비 Tokenizer.h #pragma region 파일 처리 std::ifstream ifs; bool OpenFile(char* path) { ifs.open(path); if (ifs.is_open()) { return true; } return false; } #pragma endregion #pragma region 토큰 처리 string emptyString{ "" }; Token NextToken() { int ch{ NextCharacter() }; if (ch == EOF) { return Token(TokenKind::EndOfToken, emptyString); } while (isspace(ch)) { ch = NextCharacter(); }; Token..
-
자료구조...32일지 2020. 11. 10. 20:22
기능 메서드 구현 자료구조를 효율적으로 사용하기 위한 기능 메서드를 구현한다. DoublyCircularLinkedList.cpp /// /// 지정한 값을 포함한 노드가 존재하는지 확인한다. /// /// 찾을 값 /// 값의 존재 여부 bool DoublyCircularLinkedList::Contains(int value) { if (m_head != nullptr) { DoublyCircularLinkedListNode* curNode{ m_head }; do { if (curNode->m_data == value) { return true; } curNode = curNode->m_next; } while (curNode != m_head); } return false; } /// /// 지정한..
-
JUNGOL...20일지 2020. 11. 9. 12:27
Language_Code/배열1/형성평가1 문제 10개의 문자를 입력받아 마지막으로 입력받은 문자부터 첫 번째 입력받은 문자까지 차례로 출력하는 프로그램을 작성하시오. 입력 예 A E C X Y Z c b z e 출력 예 e z b c Z Y X C E A FormativeArray101.h #include FormativeArray101.cpp void FormativeArray101::Code() { char arr[10]; for (int i = 0; i > arr[i]; } for (int i = 9; i >= 0; i--) { std::cout arr[i]; } int sum{ arr[0] + arr[2] + arr[4] }; std::cout > arr..