====== LABs ======
===== LAB 1 =====
Lab 1 is {{:lab_1.pdf|here}} for lab 1, the grade is on attendance. You must submit the deliverable during the lab time.
You will get a marking report for the program but it will not be counted towards your final grade. This is only an example of how we mark your work.
**Always check the lab during the lab hours. Some times there will be some changes/modifications to make it clearer. The changes are in bold red font so it will be easy for you to spot it **
===== LAB 2 =====
Lab 2 is {{:lab_2.pdf|here}}. I will post soon samples input and outputs. You have to prepare your own set. My set will not cover all scenarios.
here is an example {{:in.txt|in}} file and {{:out.txt|out}} file
Please use od to see the contents of the files.
a detailed description is {{:ee.txt|here}}. Every line contains the stock price, the changes from the previous day, and the action taken
**labs are due midnight Friday **
here is one way to implement lab 2 {{:invest.c|invest.c}} note that the programs explain what is happening every day not just prints the results
===== LAB 3 =====
Here is {{:lab_3.pdf|Lab 3}} (n < 50)
And here are some {{:practice_3.pdf|exercise}} problems (do not submit)
some {{:lab3_in.txt|input}} and {{:lab3_out.txt|output}} files
**A BUG in the OUTPUT SAMPLE **
please add one line to the output sample file.
That line is
123456789 Aboelaze
That line should be added after the second or third line in the output file. Since I didn't specify the order multiple top students should be displayed, either order is fine
===== LAB 4 =====
Here is {{:lab_4.pdf|lab 4}}
** You can assume that the maximum record length is 50 and the maximum value for k is 256**
Also note that I am asking for the number of entries with collisions, not number of collisions.
here is a sample {{:input.txt|input file}} and the corresponding {{:lab4_out.txt|output file}}
here is another {{:1.txt|input file}} and {{:sample.txt|sample}} output detailing the hash table enry. This is not what you should submit, just to help you with debugging I displayed the number of elements mapped to each hash table entry
**For both cases, k=10**
Here is one way to implement {{:hash.c.txt|hash.c}} this is just one way of doing it. There are many other ways, some may be even more efficient.
===== LAB 5 =====
Here is {{:lab_5.pdf|Lab 5}}
** Note the new due date (feb. 22) **
I will be posting test cases and binary files soon
** Submit as books.c to L5 **
**Text Cases**
If you run the program for the first tome (no book.dat) with this input
{{:in1.txt|}} the output is {{:out1.txt|out1.txt}} and the file {{:book_dat.txt|}} (rename this file to book.dat, it could not be uploaded with extension .dat
if you run the program the second time with book.dat as before,
the input is {{:in2.txt|}} and the output is {{:out2.txt|out2.txt}}
===== LAB 6 =====
Here is {{:lab_6.pdf|Lab 6}}
**The student names are 50 characters or less **
Due midnight Sunday March 5
**Now few pointers:**
You will read from the standard input, the number k followed by names. If you use scanf to read K, then use fgets to read names (it might contain spaces, so you can not use scanf easily), you will have a problem getting rid of the newline after the number k.
I would suggest to use fgets t read both, then use sscanf to read k from the string you read.
So, instead of
scanf("%d", &k); you can use
fgets(s, sizeof(s), stdin);
sscanf(s, "%d", &k);
**records file**
{{:records.txt|records.txt}}
**Input and output files**
{{:l6_in1.txt|}} and {{:l6_out1.txt|}} for the given file records.txt
**This is not input output samples, but will help you to be with testing**
This is a hash table with k=7 {{:det7.txt|}} it shows the hash table with the records mapped to the different lists, the records are the fial mark is between two parenthesis.
Here is for k=10 {{:det10.txt|}}
**Here is a solution for lab 6** {{:l6.c|L6.c}}
===== LAB 7 =====
Here is {{:lab_7.pdf|lab 7}}
** The lab is due March 19 **
===== LAB 8 =====
here is {{:lab_8.pdf|Lab 8}}
Due last day of classes