Starting from:
$30

$24

(Data Structure) Programming Assignment 5

 문제 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 검사실시

More products