본문 바로가기

Exercise & Quizz

C++ 코딩 - 이자 계산 - 이자가 0으로 나와요 코드한건데 이자가 추가가안되네요 ㅜㅜ /연산자가 /100한걸 정수단위로 짤라서 그런가하고 더블자료형으로 소수로 이자해봣는데도 안되네요... 왜이자가안나올까요 잘못된 이유는 다음과 같습니다. ○ Virtual 함수 선언 / 사용에 대해서 다시 확인하세요. Virtual은 상속 하는 상위 클래스에 선언합니다. ○ Int형 변수에 10/100을 넣으니 0이 되고, 이 때문에 이자 계산이 0이 됩니다. 수정된 코드는 아래와 같습니다. #include #include using namespace std; const int NAME_LEN = 20; void ShowMenu(void);//메뉴출력 void MakeAccount(void);//계좌생성 void InsertMoney(void);//입금 void Ext.. 더보기
사전 순으로 단어 정렬하기 문제 : 사전순으로 단어를 생성하여 N 번째 올 단어를 찾아라 ● 특정 문자열이 주어지고 이 문자열 안에 포함된 단어들을 사전순으로 정렬하라. 그리고 주어진 N 번째 오는 단어가 무엇인지 구하라. 단, 문자열의 최대 길이는 1,000 이고, 모두 소문자 알파벳으로만 되어 있다.중복되는 단어는 한 단어로 생각한다. 시간제한이 있다. (빠를 수록 점수가 높다, 1초가 넘으면 실패) ● 사전순이란 것은 알파벳 a ~ z 까지 단어를 정렬하는 것을 의미한다. ● 예를 들어, melon 이란 문자열이 주어졌을 때, 7번째 오는 단어를 구하라. melon 안에 포함된 단어를 사전순으로 정렬하면 다음과 같다. 1 : e2 : el3 : elo4 : elon5 : l6 : lo7 : lon8 : m9 : me10 : .. 더보기
빙고 게임 - 연속되는 숫자 찾기 문제 : 0~9까지의 정수가 10x10 으로 랜덤하게 배열되어 있다. 가로, 세로, 대각선으로 연속되는 숫자의 갯수를 찾아서, 가장 많이 연속되는 숫자를 출력하라. 흔히 "빙고" 게임으로 불리는, 랜덤하게 배열된 숫자에서 연속된 숫자를 체크하는 문제이다. 가로, 세로 외에 대각선이 두 방향이 있다는 점을 주의할 것. c의 이중배열은 배열은 실제로 손으로 숫자를 나열한 경우와 x, y 좌표가 반대이다. 이 부분은 직접 손으로 해보고 신중하게 검토해 볼 것. 아주 잘 헛갈리는 문제이다. #include #include #include #define MAX_NUMBER 10 #define SIZE 10 int test[SIZE][SIZE]; int answerList[MAX_NUMBER]; int getAns.. 더보기
Stack calculator #5 - Infix - Postfix translation using Stask structure 첫번째 프로젝트 - Stack Calculator 05 Here is tips and How to make executive file. 몇가지 tip을 먼저 씁니다. makefile a.out : node.o que_handler.o main.o g++ -o a.out node.o que_handler.o main.o node.o : node.h node.cpp g++ -c node.cpp que_handler.o: que_handler.h que_handler.cpp g++ -c que_handler.cpp main.o : main.cpp main.h g++ -c main.cpp g++을 사용할 경우 - linux 에서 코딩할 경우에 사용합니다. 여러개의 파일로 나누어 작업한 파일을 합쳐서 컴파일 및 .. 더보기
Stack calculator #4 - Infix - Postfix translation using Stask structure 첫번째 프로젝트 - Stack Calculator 04 Here is Stack. very simple one. 이번에는 stack 입니다. 매우 단순합니다. templet 를 쓰는 경우가 많은데, 그냥 쉽게 만들었습니다. 물론, 연산자의 프라이어리티도 무시 입니다. -_-;; 스택은 두 가지 입니다. 잘 보시기를.. /////////////////////////////////////////////////////////////////////////////// // File Name : stack.h // // Date : 2004 / 10 / 8 // // Compiler : g++ // // OS : Red Hat Linux 7.1 // //----------------------------------.. 더보기
Stack calculator #3 - Infix - Postfix translation using Stask structure 첫번째 프로젝트 - Stack Calculator 03 Here is File I/O function 이번에는 file I/O 입니다. 간단하죠. /////////////////////////////////////////////////////////////////////////////// // File Name : file.h // // Date : 2004 / 10 / 8 // // Compiler : g++ // // OS : Red Hat Linux 7.1 // //----------------------------------------------------------------// // Etc : Data Strucure Assignment #1 // // Stack Calculator // //.. 더보기
Stack calculator #2 - Infix - Postfix translation using Stask structure 첫번째 프로젝트 - Stack Calculator 02 Here is Main function. main함수 코드는 다음과 같습니다. /////////////////////////////////////////////////////////////////////////////// // File Name : main.h // // Date : 2004 / 10 / 8 // // Compiler : g++ // // OS : Red Hat Linux 7.1 // //----------------------------------------------------------------// // Etc : Data Strucure Assignment #1 // // Stack Calculator // // ver : .. 더보기
Stack calculator #1 - Infix - Postfix translation using Stask structure Stack을 이용하여 infix 수식을 posfix 로 바꾸는 프로그램. 많이들 하는 것이고... 소스도 엄청 많고 공개된 알고리즘들도 많이 있음. 교과서에도 실려있으니... 그럼에도 불구하고... 많은 학생들이 애를 먹는 문제. 내 경우에는 어떠한 알고리즘을 구현하기 전에 손으로 충분한 문제를 풀어봅니다. 어떤 공통된 패턴 내지는 사고의 흐름만 찾아내면 프로그램으로 구현하는 것은 그리 어렵지 않기 때문이죠. 이번 프로그램 같은 경우, 조건의 제한이 ( ) * / - + 로 단순했기 대문에 다른 알고리즘 들보다 훨씬 단순한 알고리즘을 만들어 사용했습니다. 우선 입력과 출력 부터 봅시다. 입력과 출력은 모두 파일로 합니다. 입력 : infix A+B C-D E*F G/H (A*B*C/D)+(E*F+(G*H.. 더보기
A mouse in the Maze : 미로찾기 //========================================================= // 날짜 : 2005. 6. 18 // File : maze.h //========================================================= #include #include #include #include #define MAXX 13 #define MAXY 17 int maze[MAXX][MAXY] = { {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, {1,0,1,0,0,0,1,1,0,0,0,1,1,1,1,1,1}, {1,1,0,0,0,1,1,0,1,1,1,0,0,1,1,1,1}, {1,0,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1}, .. 더보기
Simple Linked List (practice) #include #include #include typedef struct Node { int num; char data[80]; struct Node *next; } Node; // 전역변수 Node head; void add_node (int num, char *data) { Node *here = &head; Node *temp; temp = malloc(sizeof (Node)); temp->num = num; strcpy(temp->data, data); temp->next = NULL; while(here->next) { if (here->num num) { if (!here->next) { here->next = temp; return; } else if (here->next->num > t.. 더보기