100% Guaranteed Results


CSED232 – Programming Assignment #6 Solved
$ 35.00
Category:

Description

5/5 – (1 vote)

[߄έۉଡ]
1. ֻҘ חࢿЕ C++ࢂ standard ࢏ষԯ(i.e. cin, cout)ࡶ ̛قࡳԻ ଢТЬ.
2. ॹࢺࡈ testcaseձ ੼˕ଞ ʎܹ߾ ٸԷଜࠆ ଎Ի̐Ԓ ̛М ࢺܹɼ ٕࠆѼТЬ.
– (੼˕ case / দ case) * ॹࢺ ࣱ̛߾ ݤָѹ ଎Ի̐Ԓ ̛М ࢺܹ
– TestcaseЕ ˓ʎѸए ݡ߉ТЬ.
3. main.cppࠪ test.cpp߾ ࢑Е ࠖݤ਍Җձ ୛ࡈଜࠆ חࢿҚࢂ ࢏ষԯ ࠖݤࠪ Ѱࢊଜʯ Οࠝ Еए ୙ࢉଟ ܹ ࢑ݡТЬ.
[ʀࢷ]
1. ࢿষ ̛ଞࢇ Οएִ ߱ࡵ দࢺࢂ 20% ʃࢺ
2. ଜՔ(24ݤɾ) Нࡶ ҶցЬ ঴ɼ 20%޾ ʃࢺ
– 1ࢊ ࢇΰ : 20% ʃࢺ, 2ࢊ ࢇΰ : 40% ʃࢺ, 3ࢊ ࢇΰ : 60% ʃࢺ, 4ࢊ ࢇΰ : 80% ʃ ࢺ
– 4ࢊ ࢇۘ एࠉ : 0ࢺ
3. ৷ળࢊࢇ ࢽۘࢶࡳԻ Ѹए ߉ࡶ ˁࡉ ଎Ի̐Ԓ ̛М ࢺܹ 0ࢺ
[ݢࢼ঴،]
ࡿ “રࢇ ࢼ঴” ૐࢄऌ߻ ݿ ࢎВ лԸ ֍় ࠠԮ ࣯؂ ̛ݤԇТЬ. ш૩ח ࡵָࢿ#_ଝء(e.g., prob6_20230000)ࡳԻ փҚ߭ ࣯ݤݫࠝ. Ӗଞ חࢿ ૩ш ߇߾ ɽ חࢿ߾ ଥкଜЕ
Report(prob6_20230000_report.pdf)Ѧ ʋࢇ ϋ߭۰ zipળࢊԻ փҘ ୯ ࢿষଥ ࣯؂ ̛ݤԇТЬ.
ࢇ Ҷ, ঌٕળࢊ߾ ૦ଡѹ .h, .cpp રࢇրࡳ ࢄࡅଙࠃ ࣯ଥষࢿ؂ ̛ݤԇТЬ. MultiHeadList.hࠪ
Syllogism.cppփࡶ ࢖۽ଜࠆ ଜষࢿִݤ ѼТЬ. ࢿষࡵ Җ؆ݤ PLMSձ ੼ଥ ࣯ଥষࢿ؂ ̛ݤԇ
ТЬ. ࢇ֩ࢊ ࢿষࡵ ࢉࢽѸए ݡ߉ТЬ. 4ࢊ ࢇۘ एࠉ ࢿষଟ ˁࡉ 0ࢇࢺװԻ 4ࢊ(6ࡖ 11ࢊ 23 ٗ59 ݤ 59ট)ࢇ ए΢ ࢇ୯Е PLMSձ ੼ଥ ଜষࢿݡ߷ ܹ ݨТЬ. ݥߦࡶ एੁए ݤ ࡶ߉ ʃࢺ ࢇ ࣑ࢢଢТЬ.
ࢿষળࢊ ࠖݤ) prob6_20230000.zip (probf6_20230000 [૩ш], prob6_20230000_report.pdf)

[ॶࢷ̘࣮]
1. ଋԸ̍ԏ ̘Й(۳ˀ ׽ ˮୀ) – 85%
– ଎Ի̐Ԓࢇ ࡁ˱ یତࡶ ֻѿ ଜ࣐փ؂ࠠ ۰ִԻ ݨଭѸЕɼ?
– ࡁ˱ یତࡶ փ࣐ଜ̛ ࡢଞ ߊ ؀ ܹضˈչऋ ۶˃ɼ ࢚ Ѹ߹Еɼ?
– ɽ ݤࢿ ۰߾ࢿחଞ ٕۿ ࣏ʢࢂ ࢂࡪیତࡶ ֻѿ փ࣐ଜࠑЕɼ?
– ࢏ԯ˕ ষԯࢇ ࣯߭ऑ ୉ݥ߾ ֍ʯ ଎Ի̐Ԓࢇ ࢚ ࢖ѰଜЕɼ?
– MultiHead Ԏ਽ݛ 65ࢺ
– Syllogism Ԏ਽ݛ 20ࢺ
2. ଋԸ̍ԏ Ѥɹۺ – 5%
– ଎Ի̐Ԓࢇ ࢋ̛ ݒˈ ࢇଥଜ̛ ݒʯ ࢖۽Ѹ߹Еɼ?
– ה ࢇָ ܹض߸ࡶ ࢂ׵ଜЕए ળ߆ଜ̛ ݍࡋɼ?
– ଎Ի̐Ԓࢂ ݛܕ ਍Җձ ࢇଥଜ̛ ݒѦԼ ࣯۱ࡶ ࢚ ٠ࠑЕɼ?
%10 – ݢߣ ,έࡅ ׽ ۺˮ ۭ˅ؼ 3.
– ؿˈ۰Е ࢶࢸଞ ΰࡈࡳԻ ࢇଥଜ̛ ؿ ˈݒ̛ ࣚʯ ࢚ ࢖۽Ѹ߹Еɼ?
– ݥߦ ࢂ۰ˈؿࡶ ࢚ ҬԉЕɼ?
– ɽ ݤࢿ ۰߾ࢿחଞ ओחࢇ Ь࢑ִ, ̐߾ оଞ зٗ঻ ࢇضଞɼ?
[ࡿ࣬ۉଡ]
Ьհ یԆࢂ ଎Ի̐ԒࢇΟ ࢉਫ਼ϒ߾ ࢑Е ଎Ի̐Ԓࡶ Яܻ஢ یـ(copy)ଜʠΟ ܹࢽଥ۰ ࢿষଜ ٕ ִࢽଭࡢԻ ɾ࣯ѼТЬ. ٕࢽଭࡢ ݤ ʺ؈ ‘F’ ଝࢺࡶ ؇ࡶ ܹ ࡳ࢑ֲ, ଝ˕߾۰ ࢽଞ ࣱ̛߾ ҬԂ ঴ɼࢶࢉ ݡ࢑ ܹ ࡶ࢑ ࢇ࢈ࢇٙТЬ.

הࢼ 1. MultiHeadList (؎ࢷ 65ࢷ)
Headɼ ࠆԜ ʎ ࢑Е Doubly Linked Listձ templateࡶ ੼ଥ ˱ୃଜˈ࢕ ଞЬ.
[DoublyLinkedList]

ϠҖ(όֻ̒҆)Е ࢇࢷ ϠҖձ ɼչੁЕ Prev(Node *)ࠪ ࢽؿձ жˈ ࢑Е Data(T), Ьࡸ ϠҖձ ɼչੁЕ Next(Node *)Ի ˱۽ѹЬ. ࢿࢊ ঈࡸࢂ ϠҖձ HeadԂˈ ٕծֲ, ࢿࢊ ցएւࢂ ϠҖЕ
TailࢇԂ ٙջЬ. Headࢂ Prevࠪ Tailࢂ NextЕ nullptrࡶ ɼչ੃Ь.
[MultiHeadList]
MultiHeadListЕ Headɼ ࠆԜ ʎࢉ doubly linked listࢇЬ.
Headࢂ ࣯ܕЕ headList(std::vector<Node<T>*>)߾۰ ˗չѹЬ.

[سܶ ׽ ଞܶ]
MultiHeadListЕ Ьࡸ˕ ʋࡵ ضܹձ ɼऑЬ.
૯ 1 MultiHeadList classࡿ سܶ
ָ۶ ࢏੉ ܹض
headList std::vector<<Node<T>*> Headࢂ ࣯ܕɼ жʷ࢑Е vector

MultiHeadListЕ Ьࡸ˕ ʋࡵ ଡܹձ ɼऑЬ. ࡁଗݤ ̛੉ ଡܹձ ࢖۽ଜЕ ʨࡵ ଜМɼֲ ঴ɼࢶ ࡳԻ ଡܹձ ˱ୃଜЕ ʨ ࠇݤ ɼМଜЬ.
૯ 2 MultiHeadList classࡿ ଞܶ
ଡܹ ָ۶
void push_back(const T& data, int headIdx=-1) 1. headIdxءध List ֒ Ζ߾ data ঴ɼ
2. headIdxɼ ࡸܹࢇʠΟ headList߾ ࢵࢠѸ߭ ࢑Е head
ࢂ їࢉݛձ ট˕ଜЕ ʅࢇ Қ߭ࠠ ҶЕ ۚԻࡋ head ۢ
۽ଜࠆ ঴ɼ
void push_front(const T& data, int headIdx=-1) 1. headIdxءध List ֒ Ζ߾ data ঴ɼ
2. headIdxɼ ࡸܹࢇʠΟ headList߾ ࢵࢠѸ߭ ࢑Е head
ࢂ їࢉݛձ ট˕ଜЕ ʅࢇ Қ߭ࠠ ҶЕ ۚԻࡋ head ۢ
۽ଜࠆ ঴ɼ
void insert(Iterator pos, const T& data) posɼ ɼչੁЕ ˒ ࢇࢷ߾ data ە࢏
void pop_back(int headIdx) headIdxءध List ֒ Ζ data ۍࢿ
void pop_front(int headIdx) headIdxءध List ߔ ֒ data ۍࢿ
void merge(int frontHeadIdx, int backHeadIdx) frontHeadIdxءध List ҋ߾ backHeadIdxءध List ٠ࢇ̛
bool erase(const T& data, int targetHeadIdx) 1. targetHeadIdxءध List߾ dataɼ Ь࢑ۍ ִࢿ 2. headٕਫ਼ ݤ࢖ଜࠆ ࢿࢊ ঈࡸ ؈ʺѹ dataփ ۍࢿ
bool erase(Iterator pos) posɼ ɼչੁЕ ˒ data ۍࢿ
int headSize() headListࢂ ਺̛ձ ؆୚
Iterator begin(int headIdx) headIdxءध Listࢂ begin()
Iterator end() NullptrԻ ˱ୃ
ReverseIterator rbegin(int headIdx) 1. headIdxءध Listࢂ rbegin()
2. headIdxءध Listࢂ tailٕਫ਼ ࠇܻࡳԻ ࡏऐࢉЬ
ReverseIterator rend() NullptrԻ ˱ୃ

[Iterator]
MultiheadList ΰٕ߾۰ ࢽࢂѸЕ classԻ Iteratorࠪ ReverseIteratorձ ֻѿ ଥୃ˱ߞଞЬ. Iterator
Е ɽ headطԻ ˱ୃࢇ Ѻ ܹ ࢑ѦԼ ଞЬ. ૲2߾۰ ك ܹ ࢑Ҟࢇ multiheadlistࢂ begin(i)ࡵ iء ध listࢂ headձ ɼչੁЕ iteratorɼ ѹЬ.
[سܶ ׽ ଞܶ]
Iteratorࠪ ReverseIteratorЕ Ьࡸ˕ ʋࡵ ضܹձ ɼऑЬ.

૯ 3 Iteratorࠧ ReverseIterator classࡿ سܶ
ܹض ੉࢏ ָ۶
curr Node<T>* List߾۰ ୃࢢ ϠҖձ ɼչੁЕ ૦ࢉਫ਼

Iteratorࠪ ReverseIteratorЕ Ьࡸ˕ ʋࡵ ଡܹձ ɼऑЬ. ૯ 4 Iteratorࠧ ReverseIterator classࡿ ଞܶ
ଡܹ ۶ָ
Iterator/ReverseIterator (Node<T>* node) ۽ۢ࢕
ࢷࡢ/୯ࡢ ࠉۏ࢕ ˱ୃ operator++
(Iteratorࠪ ReverseIteratorࢂ Ѱ࢖ ؆о)
ࢷࡢ/୯ࡢ ࠉۏ࢕ ˱ୃ operator–
(Iteratorࠪ ReverseIteratorࢂ Ѱ࢖ ؆о)
operator+(int n) nءփਾ ++ ࠉۏ
operator-(int n) nءփਾ — ࠉۏ
operator!= !=
operator== ==
operator*() currࢂ dataձ ষԯ

[ݡࠓ Ԭ঴ࢌ]
MultiHeadList<int> mhList ࡶ ۴߯ଞ ࢇ୯, Ьࡸ˕ ʋࡵ ʼ˕ձ ୙ࢉଟ ܹ ࢑Ь.

הࢼ 2. n Ь ϟأ (؎ࢷ 20 ࢷ) חࢿ1߾۰ ˱ୃଞ MultiHeadListձ ࢇࡈଜࠆ nϢЯئࡶ ଥୃ˱ؿˈ࢕ ଞЬ.
“A ࢇִ BࢇЬ” ԂЕ ϢչЕ std::pair<std::string,std::string>߾ ࢵࢠѹЬ. Ϣչɼ ࠉʼѸए ߉Е ˁ ࡉ߾Е ۚԻࡋ headձ փҚ߭۰ headList߾ ঴ɼଞЬ. ֻҘ Ϣչձ ীଢଞ ҋ, ओחࡶ ы࣌ࡶ Ҷ ফࣗ ʼԽࡶ ΰЕ ʨࢇ ּ ࢂࢿח૲ࢇЬ. Я, ܻ୚ϢչЕ ۢ؈ଜए ߉ЕЬˈ ɼࢽଞЬ. Ьࡸࢂ ࠖ ݤձ ء .࢕ؿ૛ۑ୎ ܻ۰оԻ nϢЯئࡶ MultiHeadList߾ ࢵࢠବࡶ Ҷ ʼ˕Е Ьࡸ˕ ʋЬ.

2 ء̧ए Ϣչձ ࢵࢠଞ ୯, “B ࢇִ?”ࢇԂˈ ओחବࡶ Ҷ ࢽзࡵ “C ࢇЬ” ࢇЬ.
5 ء̧ए Ϣչձ ࢵࢠଞ ୯, “B ࢇִ?”ࢇԂˈ ओחବࡶ Ҷ ࢽзࡵ “F ࢇЬ” ࢇЬ.

[سܶ ׽ ଞܶ]
Syllogism classЕ Ьࡸ˕ ʋࡵ ضܹձ ɼऑЬ.
૯ 5 Syllogism classࡿ سܶ
ָ۶ ࢏੉ ܹض
syl MultiHeadList<std::pair<std::string,std::string>> Ϣչɼ ࢵࢠѸЕ MultiHeadList Syllogism classЕ Ьࡸ˕ ʋࡵ ଡܹձ ɼऑЬ. ̛Мࡶ ࡢଥ ଗࡁଞ Ьհ ଡܹ یࡈ ɼМଜЬ.
૯ 6 Syllogism classࡿ ଞܶ
ଡܹ ۶ָ
Ϣئࡶ ϋˈ ଥк Ϣئࢇ ࢚ ࠉʼѺ ܹ ࢑ѦԼ ˱۽ଞЬ. void put(const std::pair<std::string,
Pairࢂ ঎ءध ʅ(first)ɼ “~ࢇִ”߾ ଥкଜ std::string>& argument)
ֲ, pairࢂ ѿءध ʅ(second)ɼ “~ࢇЬ.”߾ ଥкଞЬ. ओח qձ ы࣌ࡶ Ҷ (“qࢇִ”) nЯ Ϣئࡶ void qna(const std::string& q)

ʠ৖ ୯, ফࣗ ʼԽࡶ озଞЬ.
MultiHeadListࢂ ࢷ঑ࢶࢉ ۘଢ଼ࡶ ૲ୃଜ void print()
Е ଡܹԻ ࢇ׵ ˱ୃࢇ Ѹ߭ ࢑Ь.

[ݡࠓ Ԭ঴ࢌ]
࢏ԯ ষԯ
Syllogism syl;
syl.put(make_pair(“A”, “B”));
syl.print();
syl.put(make_pair(“B”, “C”));
syl.print();
syl.put(make_pair(“E”, “F”));
syl.print();
syl.put(make_pair(“D”, “E”));
syl.print(); syl.qna(“B”);
syl.put(make_pair(“C”, “D”));
syl.print(); syl.qna(“B”); =============
0 : A->B
=============
0 : A->B->C
=============
0 : A->B->C
1 : E->F
=============
0 : A->B->C
1 : D->E->F
If B, then C
=============
0 : A->B->C->D->E->F
If B, then F

Reviews

There are no reviews yet.

Be the first to review “CSED232 – Programming Assignment #6 Solved”

Your email address will not be published. Required fields are marked *

Related products