본문 바로가기
반응형

분류 전체보기340

[알고리즘] 두 변수의 값 바꾸기 두 변수의 값 바꾸기 두 변수의 값 바꾸기는 '포인터'를 배우는데 항상 등장하는 예제이다. 예를들면, 상자안에 서로 다른 과일이 있다고 가정하자.쉽게 생각 했을 때 상자속에 과일을 꺼내서 다른 상자로 집어 넣으면 된다.그러나 프로그래밍에서는 위와 같은 동작이 한번에 일어나지 못하므로임시 변수에 값을 저장해 주어야한다. 1. 잘못된 스왑(Swap) 방법 12345678910111213141516171819202122232425#include int swap(int num1, int num2); int main() { int num1, num2; scanf_s("%d %d", &num1, &num2); swap(num1, num2); printf("%d %d \n", num1, num2); return 0;.. 2017. 4. 18.
[알고리즘] 배열의 최대값 구하기 배열의 최대값 구하기 한동안 C를 안해서 그런지 배열이고 뭐고 다 까먹었다.동적 배열은 물론이고 이제 기본 배열마저 다시 책을 뒤져봐야 하다니 난 이제 거의 심각하게 망했다고 보면 될 것같다.알고리즘 잘한다고 개발 잘하는게 아니고 개발 잘한다고 알고리즘 잘하는게 아니던데,물론 나는 둘 다 해당사항없다.책 다시 보면서 공부 좀 해야겠다. 이번 문제는 배열의 최대값을 구하는 문제이다. 1. 배열의 최대값 1234567891011121314151617181920212223#include int main() { int num[5] = {48,26,23,5,7}; printf("%d\n", max_arr(num, 5)); return 0;} int max_arr(int arr[], int arr_len) { in.. 2017. 4. 18.
[알고리즘] 최대최소 최대최소 최대 최소를 구하는 기본적인 문제이다. 사용자로부터 두개의 변수를 받아 최대와 최소값을 출력하는 프로그램을 짜보자 INPUTnum1, num2 OUTPUTmin_nummax_num 1. 모든 계산이 main 함수에 위치한 코드 12345678910111213141516171819202122232425#include int main() { int num1, num2; scanf_s("%d %d", &num1, &num2); if (num1 > num2) { printf("%d\n", num2); } else if (num2 > num1) { printf("%d\n", num1); } if (num1 > num2) { printf("%d\n", num1); } else if (num2 > num1).. 2017. 4. 18.
[알고리즘] C언어 배열을 활용한 Stack 구현 스택(Stack) 스택(stack)은 모든 원소들의 삽입(insert)과 삭제(delete)가 리스트의 한쪽 끝에서만 수행되는 제한 조건을 가지는 선형 자료 구조(linear data structure)로서, 삽입과 삭제가 일어나는 리스트의 끝을 top이라 하고, 다른 끝을 bottom이라 한다. 스택은 종종 pushdown stack이라고도 하는데, 스택의 top에 새로운 원소를 삽입하는 것을 push라 하고, 가장 최근에 삽입된 원소를 의미하는 스택의 top으로부터 한 원소를 제거하는 것을 pop이라 한다. 이와 같은 스택 연상은 항상 스택의 top에서 발생하므로 top 포인터의 값을 1씩 증가 또는 감소시킴으로써 수행된다 시작 소스※ 헤더파일을 이용하지 않고 하나의 소스파일 내에서 구현하였음 123.. 2017. 4. 18.
반응형