This shows you the differences between two versions of the page.
programare:teme_2020:tema2_2020_cbd [2020/12/07 14:56] alexandru.mindru [Trimitere tema] |
programare:teme_2020:tema2_2020_cbd [2020/12/14 11:46] (current) george.muraru [Tema 2. A Game of Scrabble] |
||
---|---|---|---|
Line 8: | Line 8: | ||
* Data publicării: **30.11.2020** | * Data publicării: **30.11.2020** | ||
- | * Deadline soft: **14.12.2020** | + | * Deadline soft: **20.12.2020** |
- | * Deadline hard: **14.12.2020** | + | * Deadline hard: **20.12.2020** |
/* | /* | ||
<note important> | <note important> | ||
- | ****Atentie!** deadline-ul soft coincide cu cel hard! Prin urmare, nu se vor mai accepta submisii dupa data de 13.01.2020!** | + | ****Atentie!** deadline-ul soft coincide cu cel hard! Prin urmare, nu se vor mai accepta submisii dupa data de 20.12.2020!** |
</note> | </note> | ||
*/ | */ | ||
Line 20: | Line 20: | ||
* **30.11.2020**: modificat arhiva astfel incat tema sa poata fi compilata si pe OSX (MacOS); | * **30.11.2020**: modificat arhiva astfel incat tema sa poata fi compilata si pe OSX (MacOS); | ||
* **1.12.2020**: reparat testele pt task-urile 5 si bonus; | * **1.12.2020**: reparat testele pt task-urile 5 si bonus; | ||
+ | * **7.12.2020**: reparat testele pt task-urile 5 si bonus v2; | ||
+ | * **14.12.2020**: adaugat flag "-lm" in Makefile | ||
Line 46: | Line 48: | ||
* 0 - niciun bonus | * 0 - niciun bonus | ||
* 1 - punctajul se dubleaza daca pe patratica respectiva se afla o litera apartinand unui cuvant care are substringul “XX” in compozitie, se da substringul la fiecare joc | * 1 - punctajul se dubleaza daca pe patratica respectiva se afla o litera apartinand unui cuvant care are substringul “XX” in compozitie, se da substringul la fiecare joc | ||
- | * 2 - punctajul se tripleaza daca pe patratica respectiva se afla o litera apartinand unui cuvant care se termina cu substringul “XX”, se da substringul la fiecare joc | + | * 2 - punctajul se tripleaza daca pe patratica respectiva se afla o litera apartinand unui cuvant care se termina cu substringul “YY”, se da substringul la fiecare joc |
Modul in care se calculeaza punctajul va fi detaliat ulterior in cerintele temei. Matricea arata in felul urmator: | Modul in care se calculeaza punctajul va fi detaliat ulterior in cerintele temei. Matricea arata in felul urmator: | ||
Line 218: | Line 220: | ||
* Face parte din lista de cuvinte (vectorul words din fisierul scrabble.h) | * Face parte din lista de cuvinte (vectorul words din fisierul scrabble.h) | ||
* Cuvantul nu e deja pus pe tabla de niciunul dintre jucatori | * Cuvantul nu e deja pus pe tabla de niciunul dintre jucatori | ||
- | * Prima litera din cuvant se afla deja pe tabla si cuvantul poate fi pus in continuarea literei respective, fie pe orizontala, fie pe verticala.** (Pentru a verifica acest lucru, se cauta pe tabla prima litera din cuvant de la coltul stanga sus, linie cu linie, pana la coltul dreapta jos al tablei de joc. Daca un cuvant poate fi pus in mai multe locuri, se alege pozitia cu linia cea mai mic, daca liniile sunt egale, se alege cea care are cea mai mica coloana).** | + | * Prima litera din cuvant se afla deja pe tabla si cuvantul poate fi pus in continuarea literei respective, fie pe orizontala, fie pe verticala.** (Pentru a verifica acest lucru, se cauta pe tabla prima litera din cuvant de la coltul stanga sus, linie cu linie, pana la coltul dreapta jos al tablei de joc.).** |
* Cuvantul nu iese din marginile tablei de joc si nu se suprapune cu alte cuvinte (inafara de prima litera) | * Cuvantul nu iese din marginile tablei de joc si nu se suprapune cu alte cuvinte (inafara de prima litera) | ||
Line 267: | Line 269: | ||
* Face parte din lista de cuvinte (vectorul words din fisierul scrabble.h) | * Face parte din lista de cuvinte (vectorul words din fisierul scrabble.h) | ||
* Cuvantul nu e deja pus pe tabla de niciunul dintre jucatori | * Cuvantul nu e deja pus pe tabla de niciunul dintre jucatori | ||
- | * Prima litera din cuvant se afla deja pe tabla si cuvantul poate fi pus in continuarea literei respective, fie pe orizontala, fie pe verticala. **(Pentru a verifica acest lucru, se cauta pe tabla prima litera din cuvant de la coltul stanga sus, linie cu linie, pana la coltul dreapta jos al tablei de joc. Daca un cuvant poate fi pus in mai multe locuri, se alege pozitia cu linia cea mai mic, daca liniile sunt egale, se alege cea care are cea mai mica coloana).** | + | * Prima litera din cuvant se afla deja pe tabla si cuvantul poate fi pus in continuarea literei respective, fie pe orizontala, fie pe verticala. **(Pentru a verifica acest lucru, se cauta pe tabla prima litera din cuvant de la coltul stanga sus, linie cu linie, pana la coltul dreapta jos al tablei de joc. Daca un cuvant poate fi pus in mai multe locuri, se alege pozitia cu linia cea mai mic, daca liniile sunt egale, se alege cea care are cea mai mica coloana. Daca un cuvant poate fi pus si pe orizontala si pe verticala, cuvantul va fi pus pe orizontala.).** |
* Cuvantul nu iese din marginile tablei de joc si nu se suprapune cu alte cuvinte (inafara de prima litera) | * Cuvantul nu iese din marginile tablei de joc si nu se suprapune cu alte cuvinte (inafara de prima litera) | ||
* Produce **cel mai mare scor posibil** incluzand bonusurile | * Produce **cel mai mare scor posibil** incluzand bonusurile | ||
+ | |||
+ | <note important>Spre deosebire de task-ul 4, cuvantul optim nu trebuie sa fie neaparat primul cuvant gasit in lista.</note> | ||
Inputul va fi de forma urmatoare: | Inputul va fi de forma urmatoare: | ||
Line 329: | Line 333: | ||
* Face parte din lista de cuvinte (vectorul words din fisierul scrabble.h) | * Face parte din lista de cuvinte (vectorul words din fisierul scrabble.h) | ||
* Cuvantul nu e deja pus pe tabla de niciunul dintre jucatori | * Cuvantul nu e deja pus pe tabla de niciunul dintre jucatori | ||
- | * Prima litera din cuvant se afla deja pe tabla si cuvantul poate fi pus in continuarea literei respective, fie pe orizontala, fie pe verticala. **(Pentru a verifica acest lucru, se cauta pe tabla prima litera din cuvant de la coltul stanga sus, linie cu linie, pana la coltul dreapta jos al tablei de joc. Daca un cuvant poate fi pus in mai multe locuri, se alege pozitia cu linia cea mai mic, daca liniile sunt egale, se alege cea care are cea mai mica coloana).** | + | * Prima litera din cuvant se afla deja pe tabla si cuvantul poate fi pus in continuarea literei respective, fie pe orizontala, fie pe verticala. **(Pentru a verifica acest lucru, se cauta pe tabla prima litera din cuvant de la coltul stanga sus, linie cu linie, pana la coltul dreapta jos al tablei de joc. Daca un cuvant poate fi pus in mai multe locuri, se alege pozitia cu linia cea mai mic, daca liniile sunt egale, se alege cea care are cea mai mica coloana. Daca un cuvant poate fi pus si pe orizontala si pe verticala, cuvantul va fi pus pe orizontala.).** |
* Cuvantul nu iese din marginile tablei de joc si nu se suprapune cu alte cuvinte (inafara de prima litera) | * Cuvantul nu iese din marginile tablei de joc si nu se suprapune cu alte cuvinte (inafara de prima litera) | ||
* Produce cel mai mare scor posibil incluzand bonusurile | * Produce cel mai mare scor posibil incluzand bonusurile | ||
+ | |||
+ | <note important>Spre deosebire de task-ul 4, cuvantul optim nu trebuie sa fie neaparat primul cuvant gasit in lista.</note> | ||
Inputul va fi de forma urmatoare: | Inputul va fi de forma urmatoare: | ||
Line 352: | Line 358: | ||
Tema va fi trimisa folosind [[https://v2.vmchecker.grid.pub.ro/homepage/|v2.vmchecker]], cursul **Programarea Calculatoarelor**, tema **A Game of Scrabble**. | Tema va fi trimisa folosind [[https://v2.vmchecker.grid.pub.ro/homepage/|v2.vmchecker]], cursul **Programarea Calculatoarelor**, tema **A Game of Scrabble**. | ||
- | Găsiți arhiva cu checker-ul si makefile-ul {{:programare:teme_2020:pc_tema_2.zip|aici}}. | + | Găsiți arhiva cu checker-ul si makefile-ul {{:programare:teme_2020:pc_tema_21.zip|aici}}. |
<note warning>Fisierul .c se va numi scrabble.c</note> | <note warning>Fisierul .c se va numi scrabble.c</note> |