$24
문제 1:
사용자가 linked list에저장할개수 n을입력하고, 이후입력한줄에 숫자 n에맞게 linked list에넣을숫자들을입력한다고하자.
숫자입력이끝나면해당 linked list를오름차순으로정렬하는 프로그램을구현하라.
예를들어, linked list에입력된값들이 5 6 7 1 2 3 이면 output_1.txt에 123567을출력한다.
Linked list는 singly linked list로구현한다.
HW 5
예제
입력 (input_1.txt)
출력 (output_1.txt)
5
-10345
-15340
4
1234
4213
6
123567
567123
HW 5
입력(input_1.txt):
첫 번째 줄 : singly linked list에 저장될 정수의 개수
두 번째 줄 : singly linked list에 저장될 정수들
출력(output_1.txt):
오름차순으로 정렬된 singly linked list
HW 5
문제 2:
이전자료구조강의에서 maze problem 문제를해결할때는, array형태의 stack을이용해서 path를구하였다.
이번과제에서는 doubly linked list를사용해서 path의정보를저장하고, 미로의 출구가있으면 mark와해당 path를출력하는프로그램을작성하라.
미로는 maze.txt 파일로입력을하고, path의출력은 path.txt로출력한다.
미로는다음페이지의예시에있는미로를참고한다.
HW 5
maze.txt 예시
1111111111
1011111011
1100010111
1000100011
1100001111
1010010001
1101001011
1011111001
1011000101
1111111111
HW 5
path.txt 출력예시
1 1
2 2
2 3
2 4
3 5
2 6
3 7
3 6
4 5
5 6
5 7
5 8
6 7
7 8
8 8
HW 5
입력(maze.txt):
1로 둘러쌓여진 10x10 크기의 maze
0이 길이고 1은 벽이다.
출력(path.txt):
경로의 순서대로 출력
row와 col을 띄어쓰기로 구분하여 출력
HW 5
제약 조건:
모든 입출력은 file 입출력
전역변수 사용 가능
doubly linked list의 ADT를 미리 정의하고, 그것에 따라 구현해야 함
HW 5
문제 3:
equivalence classes를 사용하여 SNS 친구를 관리하는 프로그램을 작성하라.
프로그램은 다음과 같은 커맨드를 따른다 :
P <name> : 특정 이름을 지정하여 저장한다. 같은 이름의 사람이 등록되지 않도록 유의해야 한다.
F <name1> <name2> : 특정한 두 사람이 친구임을 기록한다.
U <name1> <name2> : 특정한 두 사람이 더이상 친구가 아님을 기록한다.
L <name> : 특정 사람의 친구목록을 출력한다.
Q <name1> <name2> : 특정 두 사람이 친구인지를 확인한다. 친구라면 “Yes”, 아니라면 “No”를 출력한다.
X : 프로그램을 종료한다.
HW 5
예제
입력 (input_3.txt)
출력 (output_3.txt)
P Sam
Liza Sam
P Liza
Amy
P Mark
Sam
P Amy
Yes
F Liza Amy
F Liza Mark
F Amy Sam
L Amy
L Sam
U Liza Amy
L Amy
Q Liza Mark
X
HW 5
입력(input_3.txt):
한 줄에 하나의 command 입력
출력(output_3.txt):
한 줄에 하나씩, L과 Q command에 대한 결과
HW 5
제약 조건:
모든 입출력은 file 입출력
전역변수 사용 가능
push(), pop() 함수를 구현하여 사용할 것
제출 방법
소스코드:
파일이름: HW5_학번_문제번호.c(or .cpp)
ex)HW5_20220000_1.c(or .cpp)
확장자는 무조건 .c 혹은 .cpp 이어야 함. (입출력 파일 이외의프로그램파일)
이외의 파일(.txt 등)은절대 받지않음(미제출로간주)
컴파일 에러가발생할 경우 0점처리
무한루프 / 세그멘테이션 오류는 해당 testcase 0점처리
입출력 양식이틀릴 경우감점
제출 방법
보고서:
파일이름: HW5_학번_Document.pdf
반드시 PDF 파일로제출할것
이외의 파일(.docx, hwp 등)은 절대 받지않음(미제출로간주)
제출 방법
압축파일:
이름: HW5_학번.zip
ex) HW5_20220000.zip
압축을 풀면아래의 파일들이 있어야함:
HW5_학번_1.c(or .cpp) && input_1.txt, output_1.txt
HW5_학번_2.c(or .cpp) && maze.txt, path.txt
HW5_학번_3.c(or .cpp) && input_3.txt, output_3.txt
HW5_학번_Document.pdf
제출형식이 틀릴경우 과제점수의 30% 감점
제출 방법
5/22 24:00(자정)까지 (메일발송시간기준)
sguds.yj@gmail.com 으로 압축파일(HW5_학번.zip) 제출
제출기한이후의 메일은미제출로간주함
과제 채점은 cs pro 기준
Copy 검사실시