과제방 ¶
- Permitation (nPm)
- 1
- Recursive(재귀 함수)
- 1
- 지하철 노선도
- 9호선, 4호선
- 9호선의 역간격 : 5분
- 4호선의 역간격 : 3분
- 9호선의 역간격 : 5분
- 9호선, 4호선
- input : 출발역, 도착역
- output : 도착까지 걸린 시간, 경로(출발역, 환승역, 도착역)
- Bonus 1
- 지하철 노선도
- 9호선 급행열차도 구현
- 급행열차의 역간격 : 15분
- 급행열차의 역간격 : 15분
- 지하철 노선도
- Bonus 2
- 지하철 노선도
- 모든 지하철 노선도
- 지하철 노선도
- 밥사달라고? 과제나 제대로 해오시지!
송준호 ¶
1. 퍼미테이션 계산기 : 완성
#include <stdio.h> #pragma warning(disable:4996) int permi(int a){ if(a > 0){ return (a*permi(a - 1)); } if (a == 0){ return 1; } } int main(){ int n = 0, r = 0, result=0; printf("퍼미테이션 계산기. nPr을 계산합니다. n,r에 들어갈 수를순서대로 입력하세요.\n"); do{ scanf("%d %d", &n, &r); if (n < r){ printf("n>=r이여야 합니다. 다시 입력하세요.\n"); } } while (n < r); //n<r인지 판별함. result = permi(n) / permi(n - r); printf("값:%d", result); return 0; }
2. 지하철 노선도
15/05/11 새벽 2시 업데이트.
디버거를 통해 보면 분명 글자출력은 맞게 되는데 제대로 대조를 안하고 넘어감.
이유를 모르겠음
디버거를 통해 보면 분명 글자출력은 맞게 되는데 제대로 대조를 안하고 넘어감.
이유를 모르겠음
현재 미완성된 코드:
#include <stdio.h> #include <stdlib.h> #pragma warning (disable:4996) int findstation(char a[20]) { int var = 0; char ninestation_west[40][12] = { "동작", "흑석", "노들", "노량진", "샛강", "여의도", "국회의사당", "당산", "선유도", "신목동", "염창", "등촌", "증미", "가양", "양천향교", "마곡나루", "신방화", "공항시장", "김포공항", "개화" }; char ninestation_east[22][12] = { "동작", "구반포", "신반포", "고속터미널", "사평", "신논현", "언주", "선정릉", "삼성중앙", "봉은사", "종합운동장" }; char fourstation_top[44][20] = { "동작", "이촌", "신용산", "삼각지", "숙대입구", "서울역", "회현", "명동", "충무로", "동대문역사문화공원", "동대문", "혜화", "한성대입구", "성신여대입구", "길음", "미아사거리", "미아", "수유", "쌍문", "창동", "노원", "상계", "당고개" }; char fourstation_down[52][20] = { "동작", "이수", "사당", "남태령", "선바위", "경마공원", "대공원", "과천", "정부과천청사", "인덕원", "평촌", "범계", "금정", "산본", "수리산", "대야미", "반월", "상록수", "한대앞", "중앙", "고잔", "초지", "안산", "신길온천", "정왕", "오이도" }; for (int k = 0; k < 30; k++){ if (a == ninestation_west[k]){ var = k * 3; break; } else if (a == ninestation_east[k]){ var = k * 3; break; } else if (a == fourstation_down[k]){ var = k * (-5); break; } else if (a == fourstation_top[k]){ var = k * (-5); break; } // 어느 역인지 확인하는 작업 } return var; } int main(){ /*int depvar = 0, arrvar = 0; */ int transfer = 0; // 환승여부 판단 int depvar = 0, arrvar = 0, time = 0; // 사당으로부터의 거리 char departure[20]; char arrive[20]; printf("출발역과 도착역을 순서대로 입력하세요\n"); scanf("%s %s", departure, arrive); depvar = findstation(departure); arrvar = findstation(arrive); if (depvar*arrvar < 0){ transfer = 1; } depvar = abs(depvar); arrvar = abs(arrvar); printf("출발역: %s\n도착역:%s\n소요시간:%d\n", departure, arrive, depvar + arrvar); if (transfer == 1){ printf("환승역:사당"); } return 0; }