From 283c7cf17883ff669aab0e18d143064d8aa4ffd7 Mon Sep 17 00:00:00 2001 From: Rory Healy Date: Tue, 15 Feb 2022 14:51:00 +1100 Subject: [PATCH] add project files --- README.md | 1 + info/COMP10002 Assignment 1 Feedback.txt | 160 +++++ info/COMP10002 Assignment 1 Information.pdf | Bin 0 -> 133454 bytes ...COMP10002 Assignment 1 Marking Scheme.html | 179 ++++++ info/program.c | 158 +++++ info/test0-output.txt | 32 + info/test0.txt | 16 + info/test1-output.txt | 31 + info/test1.txt | 14 + program | Bin 0 -> 21936 bytes program.c | 584 ++++++++++++++++++ program.exe | Bin 0 -> 61253 bytes test0.txt | 16 + test0_exp.txt | 32 + test1.txt | 14 + test1_exp.txt | 31 + 16 files changed, 1268 insertions(+) create mode 100644 README.md create mode 100644 info/COMP10002 Assignment 1 Feedback.txt create mode 100644 info/COMP10002 Assignment 1 Information.pdf create mode 100644 info/COMP10002 Assignment 1 Marking Scheme.html create mode 100644 info/program.c create mode 100644 info/test0-output.txt create mode 100644 info/test0.txt create mode 100644 info/test1-output.txt create mode 100644 info/test1.txt create mode 100644 program create mode 100644 program.c create mode 100644 program.exe create mode 100644 test0.txt create mode 100644 test0_exp.txt create mode 100644 test1.txt create mode 100644 test1_exp.txt diff --git a/README.md b/README.md new file mode 100644 index 0000000..d1526db --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +#COMP10002 Assignment 1 diff --git a/info/COMP10002 Assignment 1 Feedback.txt b/info/COMP10002 Assignment 1 Feedback.txt new file mode 100644 index 0000000..0e86241 --- /dev/null +++ b/info/COMP10002 Assignment 1 Feedback.txt @@ -0,0 +1,160 @@ + +COMP10002 Assignment 1 Feedback: healyr + +Program Presentation +Including: layout and style, readability, adherence to coding expectations, general care and appearance. +Some subset of the following lines will be retained by the marker. + + Up to Stage 1 initial allocation, +0.5. + Up to Stage 2 initial allocation, +1.5. + Up to Stage 3 initial allocation, +2.5. + Up to Stage 4 initial allocation, +2.5. + Up to Stage 5 initial allocation, +2.5. + +Deductions + +Some subset of the following lines will be retained by the marker. Deduct 0.5 marks for every type of errors found. Marks in each section won't go below zero. + +Additions (included in total mark only if marks lost within this first section) + + comment that says "algorithms are fun", +0.5; + +Other Comments from Marker + +Structure and Approach +Including: decomposition in to functions, development of data structures and declaration of them at the appropriate locations, choice of parameters to functions, use of appropriate struct and typedef declarations, choice of algorithms or methods. + +Some subset of the following lines will be retained by the marker. + + Up to Stage 1 initial allocation, +0.5. + Up to Stage 2 initial allocation, +1.5. + Up to Stage 3 initial allocation, +2.5. + Up to Stage 4 initial allocation, +2.5. + Up to Stage 5 initial allocation, +2.5. + +Deductions +Some subset of the following lines will be retained by the marker. Deduct 0.5 marks for every type of errors found. Marks in each section won't go below zero. + +Other comments from marker: + +Program Execution +Including: compilation, execution on test data, output presentation and readability. +Programs that do not compile in the test environment will lose all marks in this section. Be sure to verify your submission and check the output before you say "finished" to yourself. + +Some subset of the following lines will be retained by the marker. + + Up to Stage 1 initial allocation, +2. + Up to Stage 2 initial allocation, +4. + Up to Stage 3 initial allocation, +6. + Up to Stage 4 initial allocation, +8. + Up to Stage 5 initial allocation, +10. + +Deductions + +Some subset of the following lines will be retained by the marker. Marks in each section won't go below zero. + + deduct all execution marks if program generates no output at all; otherwise, deduct marks for the following items: + incorrect Stage 5 output on invis1, -1; + +Late Penalty +If you make a late submission without having prior agreement from the lecturer, late penalties may apply. Submissions late for more than three days won't be accepted. Overall marks won't go below zero. + +14.0 +Overall comments from marker: + +Nice! I can tell that you've put a lot of effort into your code formatting, structuring and comments, which I appreciate. It seems that you did have a small bug in your stage 5 however. Regardless, really well done assignment here. Make sure to continue the good work into assignment 2! + +Assignment Marker: Alec Yu +Subject Coordinator: Jianzhong Qi, jianzhong.qi@unimelb.edu.au + +==========Auto-Test Output (open on a computer or save it as a txt file)========== + +Compiling with gcc -Wall -std=c99 ... +Compilation succeeded. + +============================================ +Test for input file: invis0.in +:) +### +:),happy + +Expected results: Your results: +Stage 1 Stage 1 +========== ========== +Number of tokens: 1 Number of tokens: 1 + +Stage 2 Stage 2 +========== ========== +:) :) + +Stage 3 Stage 3 +========== ========== +:) :) + +Stage 4 Stage 4 +========== ========== +Emoticon total: 1 Emoticon total: 1 +Longest: :) Longest: :) +Length: 2 Length: 2 + +Stage 5 Stage 5 +========== ========== +:) :) + +Your results seem to be CORRECT. :) + +============================================ +Test for input file: invis1.in +:))),I,told,you,:#,:),:# +That,was,**_**:-*,**_**:-*,=)),:)) +I,have,:)):(,clue,:/,:?,on,this,>:<:):)) +^-^,You,are,the,best,*-*,:-* +See,you,|->,bye +Thank,you,:) +### +:|:),emotion-less +:)):(,happy +:,sad +:?:-*,confused +>:<:):)),love +^-^:?:/,happy +=)):(:((,fun +**_**:-*,love + +Expected results: Your results: +Stage 1 Stage 1 +========== ========== +Number of tokens: 7 Number of tokens: 7 + +Stage 2 Stage 2 +========== ========== +:))),,,,:#,:),:# :))),,,,:#,:),:# +,,**_**:-*,**_**:-*,=)),:)) ,,**_**:-*,**_**:-*,=)),:)) +,,:)):(,,:/,:?,,,>:<:):)) ,,:)):(,,:/,:?,,,>:<:):)) +^-^,,,,,*-*,:-* ^-^,,,,,*-*,:-* +,,|->, ,,|->, +,,:) ,,:) + +Stage 3 Stage 3 +========== ========== +:))),:#,:),:# :))),:#,:),:# +**_**:-*,**_**:-*,=)),:)) **_**:-*,**_**:-*,=)),:)) +:)):(,:/,:?,>:<:):)) :)):(,:/,:?,>:<:):)) +^-^,*-*,:-* ^-^,*-*,:-* +|-> |-> +:) :) + +Stage 4 Stage 4 +========== ========== +Emoticon total: 8 Emoticon total: 8 +Longest: >:<:):)) Longest: >:<:):)) +Length: 8 Length: 8 + +Stage 5 Stage 5 +========== ========== +,,, | ,:#,:,: +**_**:-*,**_**:-*,, | **_**:-*,**_**:-*,,:)) +:)):(,,,>:<:):)) | :)):(,,:?,>:<:):)) +,, | ,*-*, + +Oops, your results seem to be INCORRECT. :( \ No newline at end of file diff --git a/info/COMP10002 Assignment 1 Information.pdf b/info/COMP10002 Assignment 1 Information.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2540defdc0264c9e820d33b565dc194e63501cac GIT binary patch literal 133454 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 literal 0 HcmV?d00001 diff --git a/info/COMP10002 Assignment 1 Marking Scheme.html b/info/COMP10002 Assignment 1 Marking Scheme.html new file mode 100644 index 0000000..00b1796 --- /dev/null +++ b/info/COMP10002 Assignment 1 Marking Scheme.html @@ -0,0 +1,179 @@ + + +COMP10002 Foundations of Algorithms + + + +

COMP10002 Assignment 1 Feedback: XXUSERNAMEXX

+ +

+

Program Presentation

+ +Including: layout and style, readability, adherence to coding +expectations, general care and appearance. +
+Some subset of the following lines will be retained by the marker. +

    + +
  • Up to Stage 1 initial allocation, +0.5. +
  • Up to Stage 2 initial allocation, +1.5. +
  • Up to Stage 3 initial allocation, +2.5. +
  • Up to Stage 4 initial allocation, +2.5. +
  • Up to Stage 5 initial allocation, +2.5. + + +

+Deductions +

+Some subset of the following lines will be retained by the marker. +Deduct 0.5 marks for every type of errors found. +Marks in each section won't go below zero. +

    + +
  • #defines not in upper case; +
  • absence of function prototypes; +
  • bad choice for function names; +
  • bad choices for variable names; +
  • excessive commenting; +
  • inconsistent bracket placement; +
  • inconsistent indentation; +
  • insufficient commenting (at least one comment per function to explain what the function does); +
  • lack of whitespace (blank line between functions or code blocks); +
  • lines >80 chars; +
  • no authorship statement (student name and id at the top of program); +
  • use of external code without attribution, -0.5 for each occurrence; +
  • use of magic numbers; +
  • other stylistic issue (minor); +
  • other stylistic issue (major), -0.5 for each occurrence; + + +

+Additions (included in total mark only +if marks lost within this first section) +

    + +
  • comment that says "algorithms are fun", +0.5; +
  • overall care and presentation, +0.5; + + +

+Other Comments from Marker

+ + + + +

Structure and Approach

+ +Including: decomposition in to functions, development of data +structures and declaration of them at the appropriate locations, +choice of parameters to functions, use of appropriate struct +and +typedef declarations, choice of algorithms or methods. +

+Some subset of the following lines will be retained by the marker. +

    + +
  • Up to Stage 1 initial allocation, +0.5. +
  • Up to Stage 2 initial allocation, +1.5. +
  • Up to Stage 3 initial allocation, +2.5. +
  • Up to Stage 4 initial allocation, +2.5. +
  • Up to Stage 5 initial allocation, +2.5. + + +

+Deductions +
+Some subset of the following lines will be retained by the marker. +Deduct 0.5 marks for every type of errors found. +Marks in each section won't go below zero. +

    + +
  • duplicate code segments; +
  • global variables; +
  • main function modified, -1; +
  • insufficient use of functions; +
  • functions too long (over 50 lines for any function) or too complex; +
  • overly complex algorithmic approach; +
  • unnecessary duplication/copying of data; + +
  • typedefs without "_t"; +
  • overly complex function argument lists; +
  • using == for equality on doubles; +
  • using any string.h functions in Stage 5, -1; +
  • other structural issue (minor); +
  • other structural issue (major), -0.5 for each occurrence; + +

+Other comments from marker:

+ + + +

Program Execution

+Including: compilation, execution on test data, output presentation +and readability.
+Programs that do not compile in the test environment will lose all +marks in this section. +Be sure to verify your submission and check the output +before you say "finished" to yourself. +

+Some subset of the following lines will be retained by the marker. +

    + +
  • Up to Stage 1 initial allocation, +2. +
  • Up to Stage 2 initial allocation, +4. +
  • Up to Stage 3 initial allocation, +6. +
  • Up to Stage 4 initial allocation, +8. +
  • Up to Stage 5 initial allocation, +10. + + +

+Deductions +

Some subset of the following lines will be retained by the marker. +Marks in each section won't go below zero. +

    + +
  • deduct all execution marks if program generates no output at all; otherwise, +deduct marks for the following items: +

    + +
  • incorrect Stage 1 output on invis0, -1 (for all formatting errors in Stage 1, deduct 0.5 marks once across all test cases) +
  • incorrect Stage 2 output on invis0, -1 (for all formatting errors in Stage 2, deduct 0.5 marks once across all test cases); +
  • incorrect Stage 3 output on invis0, -1 (for all formatting errors in Stage 3, deduct 0.5 marks once across all test cases); +
  • incorrect Stage 4 output on invis0, -1 (for all formatting errors in Stage 4, deduct 0.5 marks once across all test cases); +
  • incorrect Stage 5 output on invis0, -1 (for all formatting errors in Stage 5, deduct 0.5 marks once across all test cases);

    + +
  • incorrect Stage 1 output on invis1, -1; +
  • incorrect Stage 2 output on invis1, -1; +
  • incorrect Stage 3 output on invis1, -1; +
  • incorrect Stage 4 output on invis1, -1; +
  • incorrect Stage 5 output on invis1, -1; + + +

+

+

Late Penalty

+If you make a late submission without having prior agreement from +the lecturer, late penalties may apply. +Submissions late for more than three days won't be accepted. Overall marks won't go below zero. + +

+ +

XXMARKXX

+ + +Overall comments from marker:

+ + +

+Assignment Marker: XXMARKERXX +
+Subject Coordinator: Jianzhong Qi, jianzhong.qi@unimelb.edu.au +
+ + diff --git a/info/program.c b/info/program.c new file mode 100644 index 0000000..9b5586b --- /dev/null +++ b/info/program.c @@ -0,0 +1,158 @@ +/* Emoticon message cleanser: + * + * Skeleton code written by Farhana Choudhury and Jianzhong Qi, April 2020 + * + */ + +#include +#include +#include + +#define STAGE_NUM_ONE 1 /* stage numbers */ +#define STAGE_NUM_TWO 2 +#define STAGE_NUM_THREE 3 +#define STAGE_NUM_FOUR 4 +#define STAGE_NUM_FIVE 5 +#define STAGE_HEADER "Stage %d\n==========\n" /* stage header format string */ + +#define MAX_MSG_LENGTH 280 /* maximum message length */ +#define MAX_NUM_MSGS 100 /* maximum number of messages */ +#define MAX_EMTCN_LENGTH 50 /* maximum emot. line length */ +#define MAX_NUM_EMTCN 50 /* maximum number of emot. */ + +typedef char msg_t[MAX_MSG_LENGTH+1]; /* a message */ +typedef char emtcn_t[MAX_EMTCN_LENGTH+1]; /* an emoticon */ + +/****************************************************************/ + +/* function prototypes */ +void read_one_msg(msg_t one_msg, int max_len); +void print_stage_header(int stage_num); +int count_tokens(msg_t one_msg); + +void stage_one(msg_t one_msg); +void stage_two(msg_t msgs[], int *num_msgs); +void stage_three(msg_t msgs[], int num_msgs); +void stage_four(emtcn_t emtcns[], int *num_emtcns); +void stage_five(msg_t msgs[], int num_msgs, emtcn_t emtcns[], int num_emtcns); + +/* add your own function prototypes here */ + + +/****************************************************************/ + +/* main function controls all the action, do NOT modify this function */ +int +main(int argc, char *argv[]) { + /* to hold all input messages */ + msg_t msgs[MAX_NUM_MSGS]; + /* to hold the number of input messages */ + int num_msgs = 0; + /* to hold all input emoticons in the dictionary */ + emtcn_t emtcns[MAX_NUM_EMTCN]; + /* to hold the number of emoticons in the dictionary */ + int num_emtcns = 0; + + /* stage 1: reading the first message */ + stage_one(msgs[num_msgs]); + num_msgs++; + + /* stage 2: removing alphanumeric characters */ + stage_two(msgs, &num_msgs); + + /* stage 3: removing extra commas */ + stage_three(msgs, num_msgs); + + /* stage 4: reading the dictionary and finding the longest emoticon */ + stage_four(emtcns, &num_emtcns); + + /* stage 5: removing invalid emoticons with the help of the dictionary */ + stage_five(msgs, num_msgs, emtcns, num_emtcns); + + /* all done; take some rest */ + return 0; +} + +/* read a line of input into one_msg */ +void +read_one_msg(msg_t one_msg, int max_len) { + int i = 0, c; + while (((c = getchar()) != EOF) && (c != '\n') && (c != '\r')) { + if (i < max_len) { + one_msg[i++] = c; + } else { + printf("Invalid input line, toooooooo long.\n"); + exit(EXIT_FAILURE); + } + } + one_msg[i] = '\0'; +} + +/* print stage header given stage number */ +void +print_stage_header(int stage_num) { + printf(STAGE_HEADER, stage_num); +} + +/****************************************************************/ +/* add your code below */ + +/* scan a message and count the number of tokens (separated by commas) in it */ +int +count_tokens(msg_t one_msg) { + /* add code here to count the number commas in one_msg, + and return the count + 1 */ + + return 1; +} + +/* stage 1: reading the first message */ +void +stage_one(msg_t one_msg) { + /* print stage header */ + print_stage_header(STAGE_NUM_ONE); + + /* read the first message */ + + /* count and print the number of tokens */ + printf("Number of tokens: %d\n\n", count_tokens(one_msg)); +} + +/* stage 2: removing alphanumeric characters */ +void +stage_two(msg_t msgs[], int *num_msgs) { + /* add code for stage 2 */ + /* print stage header */ + print_stage_header(STAGE_NUM_TWO); + + printf("\n"); +} + +/* stage 3: removing extra commas */ +void +stage_three(msg_t msgs[], int num_msgs) { + /* add code for stage 3 */ + /* print stage header */ + print_stage_header(STAGE_NUM_THREE); + + printf("\n"); +} + +/* stage 4: reading the dictionary and finding the longest emoticon */ +void stage_four(emtcn_t emtcns[], int *num_emtcns) { + /* add code for stage 4 */ + /* print stage header */ + print_stage_header(STAGE_NUM_FOUR); + + printf("\n"); +} + +/* stage 5: removing invalid emoticons with the help of the dictionary */ +void +stage_five(msg_t msgs[], int num_msgs, emtcn_t emtcns[], int num_emtcns) { + /* add code for stage 5 */ + /* print stage header */ + print_stage_header(STAGE_NUM_FIVE); + + printf("\n"); +} diff --git a/info/test0-output.txt b/info/test0-output.txt new file mode 100644 index 0000000..866cb31 --- /dev/null +++ b/info/test0-output.txt @@ -0,0 +1,32 @@ +Stage 1 +========== +Number of tokens: 6 + +Stage 2 +========== +,,,,=)),:)) +,,,,:/,:?,,, +^-^,,,,,*-*,:-* +,,|->, +,,:) + +Stage 3 +========== +=)),:)) +:/,:? +^-^,*-*,:-* +|-> +:) + +Stage 4 +========== +Emoticon total: 10 +Longest: **_** +Length: 5 + +Stage 5 +========== +=)),:)) +:/,:? +^-^,,:-* +:) diff --git a/info/test0.txt b/info/test0.txt new file mode 100644 index 0000000..47c43c6 --- /dev/null +++ b/info/test0.txt @@ -0,0 +1,16 @@ +That,was,really,funny,=)),:)) +I,have,no,clue,:/,:?,on,this,matter +^-^,You,are,the,best,*-*,:-* +See,you,|->,bye +Thank,you,:) +### +:),happy +:)),happy +^-^,happy +:?,confused +:/,confused +=)),fun +:(,sad +:((,sad +**_**,love +:-*,love \ No newline at end of file diff --git a/info/test1-output.txt b/info/test1-output.txt new file mode 100644 index 0000000..788fff5 --- /dev/null +++ b/info/test1-output.txt @@ -0,0 +1,31 @@ +Stage 1 +========== +Number of tokens: 8 + +Stage 2 +========== +,,,,:),,,>:< +**_**,,, +,,,:(,:'(,:( +,,:-) +:))),,,,:#,:),:# + +Stage 3 +========== +:),>:< +**_** +:(,:'(,:( +:-) +:))),:#,:),:# + +Stage 4 +========== +Emoticon total: 8 +Longest: :)) +Length: 3 + +Stage 5 +========== +:),>:< +:(,:'(,:( +,,:), diff --git a/info/test1.txt b/info/test1.txt new file mode 100644 index 0000000..12f5124 --- /dev/null +++ b/info/test1.txt @@ -0,0 +1,14 @@ +You,only,live,once,:),live,happy,>:< +**_**,concert,in,town +That,was,unexpected,:(,:'(,:( +Thank,you,:-) +:))),I,told,you,:#,:),:# +### +:|,emotion-less +:),happy +:)),happy +:(,sad +:'(,sad +:?,confused +:-*,love +>:<,love \ No newline at end of file diff --git a/program b/program new file mode 100644 index 0000000000000000000000000000000000000000..e4782786b44bf4bd5089f92732e240644b9ac661 GIT binary patch literal 21936 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 Xa+#N|n_Mh1>*w`~W424cl@$LCSVIbz literal 0 HcmV?d00001 diff --git a/program.c b/program.c new file mode 100644 index 0000000..7d7e6be --- /dev/null +++ b/program.c @@ -0,0 +1,584 @@ +/* Emoticon message cleanser: + * + * Skeleton code written by Farhana Choudhury and Jianzhong Qi, April 2020 + * + * Authorship Declaration: + * (1) I certify that the program contained in this submission is completely + * my own individual work, except where explicitly noted by comments that + * provide details otherwise. I understand that work that has been developed + * by another student, or by me in collaboration with other students, + * or by non-students as a result of request, solicitation, or payment, + * may not be submitted for assessment in this subject. I understand that + * submitting for assessment work developed by or in collaboration with + * other students or non-students constitutes Academic Misconduct, and + * may be penalized by mark deductions, or by other penalties determined + * via the University of Melbourne Academic Honesty Policy, as described + * at https://academicintegrity.unimelb.edu.au. + * + * (2) I also certify that I have not provided a copy of this work in either + * softcopy or hardcopy or any other form to any other student, and nor will + * I do so until after the marks are released. I understand that providing + * my work to other students, regardless of my intention or any undertakings + * made to me by that other student, is also Academic Misconduct. + * + * (3) I further understand that providing a copy of the assignment + * specification to any form of code authoring or assignment tutoring + * service, or drawing the attention of others to such services and code + * that may have been made available via such a service, may be regarded + * as Student General Misconduct (interfering with the teaching activities + * of the University and/or inciting others to commit Academic Misconduct). + * I understand that an allegation of Student General Misconduct may arise + * regardless of whether or not I personally make use of such solutions + * or sought benefit from such actions. + * + * Signed by: Rory Healy 964275 + * Dated: 9th April 2020 + */ + +#include +#include +#include +#include + +#define STAGE_NUM_ONE 1 /* stage numbers */ +#define STAGE_NUM_TWO 2 +#define STAGE_NUM_THREE 3 +#define STAGE_NUM_FOUR 4 +#define STAGE_NUM_FIVE 5 +#define STAGE_HEADER "Stage %d\n==========\n" /* stage header format string */ + +#define MAX_MSG_LENGTH 280 /* maximum message length */ +#define MAX_NUM_MSGS 100 /* maximum number of messages */ +#define MAX_EMTCN_LENGTH 50 /* maximum emot. line length */ +#define MAX_NUM_EMTCN 50 /* maximum number of emot. */ + +typedef char msg_t[MAX_MSG_LENGTH+1]; /* a message */ +typedef char emtcn_t[MAX_EMTCN_LENGTH+1]; /* an emoticon */ + +/****************************************************************/ + +/* function prototypes */ +void read_one_msg(msg_t one_msg, int max_len); +void print_stage_header(int stage_num); +int count_tokens(msg_t one_msg); + +void stage_one(msg_t one_msg); +void stage_two(msg_t msgs[], int *num_msgs); +void stage_three(msg_t msgs[], int num_msgs); +void stage_four(emtcn_t emtcns[], int *num_emtcns); +void stage_five(msg_t msgs[], int num_msgs, emtcn_t emtcns[], int num_emtcns); + +/* add your own function prototypes here */ +int is_seperating_line(msg_t one_msg); + +void remove_leading_commas(msg_t one_msg, int msg_len); +void remove_trailing_commas(msg_t one_msg, int msg_len); +void remove_consecutive_commas(msg_t one_msg, int msg_len); +int length_consecutive_commas(msg_t one_msg, int msg_len); + +void get_next_emtcn(msg_t one_msg, emtcn_t emtcn_msg, \ + int *emtcn_len, int *msg_offset); +void remove_curr_emtcn(msg_t one_msg, int emtcn_len, int offset, int *msg_len); +int get_emtcn_len(msg_t one_msg, int msg_len, int msg_offset); +int is_emtcns_same(emtcn_t emtcn1, emtcn_t emtcn2, int emtcn_len); +int is_in_dict(emtcn_t curr_emtcn, int curr_emtcn_len, \ + emtcn_t emtcns[], int num_emtcns); + +/****************************************************************/ + +/* main function controls all the action, do NOT modify this function */ +int +main(int argc, char *argv[]) { + /* to hold all input messages */ + msg_t msgs[MAX_NUM_MSGS]; + /* to hold the number of input messages */ + int num_msgs = 0; + /* to hold all input emoticons in the dictionary */ + emtcn_t emtcns[MAX_NUM_EMTCN]; + /* to hold the number of emoticons in the dictionary */ + int num_emtcns = 0; + + /* stage 1: reading the first message */ + stage_one(msgs[num_msgs]); + num_msgs++; + + /* stage 2: removing alphanumeric characters */ + stage_two(msgs, &num_msgs); + + /* stage 3: removing extra commas */ + stage_three(msgs, num_msgs); + + /* stage 4: reading the dictionary and finding the longest emoticon */ + stage_four(emtcns, &num_emtcns); + + /* stage 5: removing invalid emoticons with the help of the dictionary */ + stage_five(msgs, num_msgs, emtcns, num_emtcns); + + /* all done; take some rest */ + return 0; +} + +/* read a line of input into one_msg */ +void +read_one_msg(msg_t one_msg, int max_len) { + int i = 0, c; + while (((c = getchar()) != EOF) && (c != '\n') && (c != '\r')) { + if (i < max_len) { + one_msg[i++] = c; + } else { + printf("Invalid input line, toooooooo long.\n"); + exit(EXIT_FAILURE); + } + } + one_msg[i] = '\0'; +} + +/* print stage header given stage number */ +void +print_stage_header(int stage_num) { + printf(STAGE_HEADER, stage_num); +} + +/****************************************************************/ +/* add your code below */ + +/* removes an emtcn from a msg given a length and offset */ +void +remove_curr_emtcn(msg_t one_msg, int emtcn_len, int offset, int *msg_len) { + msg_t msg_before, msg_after; + int i, j; + + /* the message before the emtcn not in dict */ + for (i = 0; i < offset; i++) { + msg_before[i] = one_msg[i]; + } + msg_before[i] = '\0'; + + /* the message after the emtcn not in dict */ + for (j = offset + emtcn_len; one_msg[j] != '\0'; j++) { + msg_after[j - offset - emtcn_len] = one_msg[j]; + } + msg_after[j - offset - emtcn_len] = '\0'; + + /* replacing one_msg with msg_before and msg_after */ + one_msg[0] = 0; + for (i = 0; i < *msg_len - emtcn_len; i++) { + if (i < offset) { + one_msg[i] = msg_before[i]; + } else { + one_msg[i] = msg_after[i - offset]; + } + } + one_msg[i] = '\0'; + + // here is where a bug occurs in test 1 + *msg_len -= emtcn_len; +} + +/* finds the next emoticon in one_msg and copies it to emtcn_msg */ +void +get_next_emtcn(msg_t one_msg, emtcn_t emtcn_msg, \ + int *emtcn_len, int *msg_offset) { + int i; + for (i = *msg_offset; one_msg[i] != '\0'; i++) { + if (one_msg[i] == ',') { + break; + } else { + emtcn_msg[i - *msg_offset] = one_msg[i]; + } + } + *emtcn_len = i - *msg_offset; + emtcn_msg[*emtcn_len] = '\0'; + *msg_offset += *emtcn_len + 1; // add 1 to account for the comma +} + +/* tests if two emtcns are identical */ +int +is_emtcns_same(emtcn_t emtcn1, emtcn_t emtcn2, int emtcn_len) { + for (int i = 0; i < emtcn_len; i++) { + if (emtcn1[i] != emtcn2[i]) { + return 0; + } + } + return 1; +} + +/* tests if an emoticon is in the dictionary emtcns[] */ +int +is_in_dict(emtcn_t curr_emtcn, int curr_emtcn_len, \ + emtcn_t emtcns[], int num_emtcns) { + /* the current emtcn from emtcns[] being compared */ + emtcn_t emtcn_from_dict; + + int i, j; + for (i = 0; i < num_emtcns; i++) { + /* extracts the emoticon from the dictionary */ + for (j = 0; emtcns[i][j] != ','; j++) { + emtcn_from_dict[j] = emtcns[i][j]; + } + emtcn_from_dict[j] = '\0'; + + /* compares lengths first to avoid unnecessary function calls */ + if (curr_emtcn_len == j) { + if (is_emtcns_same(emtcn_from_dict, curr_emtcn, curr_emtcn_len)) { + return 1; + } + } + } + return 0; +} + +/* removes leading commas from a message */ +void +remove_leading_commas(msg_t one_msg, int msg_len) { + /* counts the number of leading commas */ + int i = 0; + while (one_msg[i] == ',') { + i += 1; + } + + /* counts the number of characters copied into new_msg */ + int j; + + /* the message without leading commas */ + msg_t new_msg; + for (j = 0; j < msg_len; j++) { + if (one_msg[j + i] == '\0') { + break; + } else { + new_msg[j] = one_msg[j + i]; + } + } + new_msg[j] = '\0'; + + /* clears one_msg, and replaces with new_msg */ + one_msg[0] = 0; + strncpy(one_msg, new_msg, j); + one_msg[j] = '\0'; +} + +/* removes trailing commas from a message */ +void +remove_trailing_commas(msg_t one_msg, int msg_len) { + /* counts the number of trailing commas */ + int i = 0; + while (one_msg[msg_len - i - 1] == ',') { + i += 1; + } + + /* counts the number of characters copied into new_msg */ + int j; + + /* the message without trailing commas */ + msg_t new_msg; + for (j = 0; j < msg_len - i; j++) { + new_msg[j] = one_msg[j]; + } + new_msg[j] = '\0'; + + /* clears one_msg, and replaces with new_msg */ + one_msg[0] = 0; + strncpy(one_msg, new_msg, j); + one_msg[j] = '\0'; +} + +/* removes consecutive commas from within a message */ +void remove_consecutive_commas(msg_t one_msg, int msg_len) { + one_msg[msg_len] = '\0'; // safety net + + int max_commas_length = length_consecutive_commas(one_msg, msg_len); + + while (max_commas_length > 1) { + int i = 0, j = 0; + msg_t new_msg, msg_cat; + + /* find out where the consecutive commas start */ + for (i = 0; i < msg_len; i++) { + if ((one_msg[i] == ',') && (one_msg[i + 1] == ',')) { + break; + } + } + /* add all characters including one comma to new_msg */ + strncpy(new_msg, one_msg, i); + new_msg[i] = '\0'; + + /* find out how long the rest of the message is */ + for (j = 0; j < msg_len; j++) { + if (one_msg[j + i + max_commas_length - 1] == '\0') { + break; + } else { + msg_cat[j] = one_msg[j + i + max_commas_length - 1]; + } + } + msg_cat[j] = '\0'; + + /* and add the rest of the message to new_msg (exluding the extra + * commas + */ + + strncat(new_msg, msg_cat, j); + new_msg[i + j] = '\0'; + + /* clear one_msg and copy the edited message to it */ + one_msg[0] = 0; + strncpy(one_msg, new_msg, i + j); + one_msg[i + j] = '\0'; + msg_len = i + j; + + /* Loop guard */ + max_commas_length = length_consecutive_commas(one_msg, msg_len); + } + +} + +/* finds the length of the first non-one length of commas */ +int length_consecutive_commas(msg_t one_msg, int msg_len) { + int i, counter = 0; + for (i = 0; i < msg_len; i++) { + if (one_msg[i] == ',') { + if (one_msg[i + 1] == ',') { + counter += 1; + continue; + } else { + if (counter) { + break; + } + } + } + } + return counter + 1; +} + +/* checks if the current message is a seperating line */ +int +is_seperating_line(msg_t one_msg) { + msg_t seperating_line = "###"; + if (!strncmp(one_msg, seperating_line, strlen(seperating_line))) { + return 1; + } + return 0; +} + +/* scan a message and count the number of tokens in it */ +int +count_tokens(msg_t one_msg) { + /* this counts the number of commas, which is analogous + to the number of tokens */ + int num_tokens = 1; + + for (int i = 0; i < (int)strlen(one_msg); i++) { + if (one_msg[i] == ',') { + num_tokens += 1; + } + } + + return num_tokens; +} + +/****************************************************************/ +/* stages 1 - 5 */ + +/* stage 1: reading the first message */ +void +stage_one(msg_t one_msg) { + /* print stage header */ + print_stage_header(STAGE_NUM_ONE); + + /* read the first message */ + read_one_msg(one_msg, MAX_MSG_LENGTH); + + /* count and print the number of tokens */ + printf("Number of tokens: %d\n\n", count_tokens(one_msg)); +} + +/* stage 2: removing alphanumeric characters */ +void +stage_two(msg_t msgs[], int *num_msgs) { + print_stage_header(STAGE_NUM_TWO); + + /* *num_msgs will be used as an index, hence why it is zeroed */ + *num_msgs = 0; + + /* the current message being analysed */ + msg_t curr_msg; + + /* as msgs[0] already has a message in it, copy that to curr_msg + * and use that in the loop first, then read more messages + */ + strncpy(curr_msg, msgs[0], strlen(msgs[0])); + curr_msg[strlen(msgs[0])] = '\0'; + + do { + if (is_seperating_line(curr_msg)) { + break; + } + + /* the message without alphanumeric characters */ + msg_t new_msg; + + /* the current character length of new_msg */ + int len = 0; + + for (int j = 0; j <= (int)strlen(curr_msg); j++) { + if (!isalnum(curr_msg[j])) { + new_msg[len++] = curr_msg[j]; + } + } + new_msg[len] = '\0'; + + /* Copy the edited message to msgs[] */ + strncpy(msgs[*num_msgs], new_msg, len); + msgs[*num_msgs][len] = '\0'; + + /* prepare for the next message to be read */ + read_one_msg(curr_msg, MAX_MSG_LENGTH); + *num_msgs += 1; + } while (*num_msgs <= MAX_NUM_MSGS); + + for (int i = 0; i < *num_msgs; i++) { + printf("%s\n", msgs[i]); + } + printf("\n"); +} + +/* stage 3: removing extra commas */ +void +stage_three(msg_t msgs[], int num_msgs) { + print_stage_header(STAGE_NUM_THREE); + int i, curr_msg_len; + msg_t curr_msg; + + for (i = 0; i < num_msgs; i++) { + /* copy the current message stored in msgs[i] to curr_msg */ + curr_msg_len = strlen(msgs[i]); + strncpy(curr_msg, msgs[i], curr_msg_len); + curr_msg[curr_msg_len] = '\0'; + + /* remove extra commas from curr_msg */ + remove_leading_commas(curr_msg, curr_msg_len); + curr_msg_len = strlen(curr_msg); + remove_trailing_commas(curr_msg, curr_msg_len); + curr_msg_len = strlen(curr_msg); + remove_consecutive_commas(curr_msg, curr_msg_len); + curr_msg_len = strlen(curr_msg); + + /* Clear the current message stored in msgs[i] and replace + * with the edited message stored in curr_msg + */ + msgs[i][0] = 0; + strncpy(msgs[i], curr_msg, strlen(curr_msg)); + msgs[i][curr_msg_len] = '\0'; + } + + for (int j = 0; j < num_msgs; j++) { + printf("%s\n", msgs[j]); + } + printf("\n"); +} + +/* stage 4: reading the dictionary and finding the longest emoticon */ +void +stage_four(emtcn_t emtcns[], int *num_emtcns) { + print_stage_header(STAGE_NUM_FOUR); + + /* the emoticon to be read */ + emtcn_t new_emtcn; + + while (*num_emtcns <= MAX_NUM_EMTCN) { + read_one_msg(new_emtcn, MAX_EMTCN_LENGTH); + /* break as soon as the line is empty */ + if ((int)strlen(new_emtcn) == 0) { + break; + } + strncpy(emtcns[*num_emtcns], new_emtcn, strlen(new_emtcn)); + emtcns[*num_emtcns][(int)strlen(new_emtcn)] = '\0'; + *num_emtcns += 1; + } + emtcn_t max_emtcn; + int max_emtcn_len = 0, curr_len, i, j; + for (i = 0; i < *num_emtcns; i++) { + /* get the length of emoticon, and compare it to the max length */ + for (j = 0; j < (int)strlen(emtcns[i]); j++) { + if (emtcns[i][j] == ',') { + break; + } + } + curr_len = j; + + if (curr_len > max_emtcn_len) { + max_emtcn_len = curr_len; + strncpy(max_emtcn, emtcns[i], j); + max_emtcn[j] = '\0'; + } + } + printf("Emoticon total: %d\nLongest: %s\nLength: %d\n", + *num_emtcns, max_emtcn, max_emtcn_len); + printf("\n"); +} + +/* stage 5: removing invalid emoticons with the help of the dictionary */ +void +stage_five(msg_t msgs[], int num_msgs, emtcn_t emtcns[], int num_emtcns) { + print_stage_header(STAGE_NUM_FIVE); + int i, j; + + /* the length of current message from msgs[] */ + int curr_msg_len = 0; + + /* the current emtcn from msgs[] */ + emtcn_t curr_emtcn; + int curr_emtcn_len = 0; + + /* the index of the curr_emtcn from msgs[] */ + int curr_offset = 0; + + for (i = 0; i < num_msgs; i++) { + for (j = 0; msgs[i][j] != '\0'; j++) { + /* do nothing, count characters before \0 */ + } + curr_msg_len = j; + + while (curr_offset < curr_msg_len) { + /* get the next emoticon, check if it's in emtcns, and remove it + * from msgs[i] if its not in emtcns + */ + get_next_emtcn(msgs[i], curr_emtcn, &curr_emtcn_len, &curr_offset); + + if (!is_in_dict(curr_emtcn, curr_emtcn_len, emtcns, num_emtcns)) { + /* this is much easier to do with strncat, but can't be used + * here due to assignment restrictions + */ + remove_curr_emtcn(msgs[i], curr_emtcn_len, \ + (curr_offset - curr_emtcn_len - 1), \ + &curr_msg_len); + } + } + curr_msg_len = 0; + curr_offset = 0; + } + + for (i = 0; i < num_msgs; i++) { + if (msgs[i][0] == '\0') { + continue; + } + printf("%s\n", msgs[i]); + } +} + +/* + * _ _ _ _ + * /\ | | (_) | | | | + * / \ | | __ _ ___ _ __ _ | |_ | |__ _ __ ___ ___ + * / /\ \ | | / _` | / _ \ | '__| | | | __| | '_ \ | '_ ` _ \ / __| + * / ____ \ | | | (_| | | (_) | | | | | | |_ | | | | | | | | | | \__ \ + * /_/ \_\ |_| \__, | \___/ |_| |_| \__| |_| |_| |_| |_| |_| |___/ + * __/ | + * |___/ + * ______ _ + * /\ | ____| | | + * / \ _ __ ___ | |__ _ _ _ __ | | + * / /\ \ | '__| / _ \ | __| | | | | | '_ \ | | + * / ____ \ | | | __/ | | | |_| | | | | | |_| + * /_/ \_\ |_| \___| |_| \__,_| |_| |_| (_) + * + */ diff --git a/program.exe b/program.exe new file mode 100644 index 0000000000000000000000000000000000000000..972ccc3242e7583f09b9bce8c15b82c9ea166d1a GIT binary patch literal 61253 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 gc=L*PH>)xfs?C*kVZ,bye +Thank,you,:) +### +:),happy +:)),happy +^-^,happy +:?,confused +:/,confused +=)),fun +:(,sad +:((,sad +**_**,love +:-*,love \ No newline at end of file diff --git a/test0_exp.txt b/test0_exp.txt new file mode 100644 index 0000000..866cb31 --- /dev/null +++ b/test0_exp.txt @@ -0,0 +1,32 @@ +Stage 1 +========== +Number of tokens: 6 + +Stage 2 +========== +,,,,=)),:)) +,,,,:/,:?,,, +^-^,,,,,*-*,:-* +,,|->, +,,:) + +Stage 3 +========== +=)),:)) +:/,:? +^-^,*-*,:-* +|-> +:) + +Stage 4 +========== +Emoticon total: 10 +Longest: **_** +Length: 5 + +Stage 5 +========== +=)),:)) +:/,:? +^-^,,:-* +:) diff --git a/test1.txt b/test1.txt new file mode 100644 index 0000000..12f5124 --- /dev/null +++ b/test1.txt @@ -0,0 +1,14 @@ +You,only,live,once,:),live,happy,>:< +**_**,concert,in,town +That,was,unexpected,:(,:'(,:( +Thank,you,:-) +:))),I,told,you,:#,:),:# +### +:|,emotion-less +:),happy +:)),happy +:(,sad +:'(,sad +:?,confused +:-*,love +>:<,love \ No newline at end of file diff --git a/test1_exp.txt b/test1_exp.txt new file mode 100644 index 0000000..788fff5 --- /dev/null +++ b/test1_exp.txt @@ -0,0 +1,31 @@ +Stage 1 +========== +Number of tokens: 8 + +Stage 2 +========== +,,,,:),,,>:< +**_**,,, +,,,:(,:'(,:( +,,:-) +:))),,,,:#,:),:# + +Stage 3 +========== +:),>:< +**_** +:(,:'(,:( +:-) +:))),:#,:),:# + +Stage 4 +========== +Emoticon total: 8 +Longest: :)) +Length: 3 + +Stage 5 +========== +:),>:< +:(,:'(,:( +,,:),