Differences

This shows you the differences between two versions of the page.

Link to this comparison view

sda-ab:tema1 [2022/03/28 22:00]
ruben_gilian.udroiu [Fisierele folosite de checker arata astfel:]
sda-ab:tema1 [2024/03/30 17:56] (current)
andreea.udrea [Reguli de trimitere]
Line 9: Line 9:
 ===== Informații ===== ===== Informații =====
  
-  * Deadline hard, 23.05.2021 ora 23:59 (termen limită - nu se obţin puncte pe soluţiile trimise mai târziu) 
   * Checker-ul offline îl puteţi descărca de la  [[https://​github.com/​sda-ab/​lan-party-02-checker| această adresă]]   * Checker-ul offline îl puteţi descărca de la  [[https://​github.com/​sda-ab/​lan-party-02-checker| această adresă]]
 +  * Informații despre ce este un makefile gasiți [[https://​ocw.cs.pub.ro/​courses/​sda-ab/​makefile| aici]] și [[https://​github.com/​sda-ab/​makefile-intro| aici]]
   * Puteţi cere ajutor oricând la această adresă [[sda.ab.teme@gmail.com|email]]   * Puteţi cere ajutor oricând la această adresă [[sda.ab.teme@gmail.com|email]]
  
Line 26: Line 26:
     * Se vor introduce în stivă echipele în funcție de rezultatul obținut și se va adauga un punct la punctajul de echipă al echipelor ce au câștigat.     * Se vor introduce în stivă echipele în funcție de rezultatul obținut și se va adauga un punct la punctajul de echipă al echipelor ce au câștigat.
     * In cazul unui meci in care ambele echipe au acelasi punctaj, se va alege prima echipa adaugata in meciul disputat.     * In cazul unui meci in care ambele echipe au acelasi punctaj, se va alege prima echipa adaugata in meciul disputat.
-    * Se vor șterge echipele ce se găsesc în stiva de învinși.+    * Se vor șterge echipele ce se găsesc în stiva de învinși. ​(la finalul fiecărei etape; ex: dintr-o runda cu 8 echipe, stergerea se face dupa ce au fost eliminate toate echipele. In acest caz, dupa ce au fost eliminate 4 dintre echipe, se vor sterge. In runda urmatoare, pe acest exemplu, se vor adauga 2 echipe in stiva de invinsi, dupa care o sa fie eliberata din nou - stiva de invinsi -.)
     * Din stiva de câștigători se vor extrage echipele și se va umple din nou coada de meciuri formându-se meciuri cu echipele consecutive (prima echipă scoasă din stivă va juca cu a doua echipa scoasă din stivă primul meci).     * Din stiva de câștigători se vor extrage echipele și se va umple din nou coada de meciuri formându-se meciuri cu echipele consecutive (prima echipă scoasă din stivă va juca cu a doua echipa scoasă din stivă primul meci).
     * Se vor repeta pașii enumerați pana la aflarea echipelor de pe primele 8 locuri, care vor fi salvate intr-o alta lista, dupa aflarea acestora se vor continua meciurile pana la aflarea echipei castigatoare.     * Se vor repeta pașii enumerați pana la aflarea echipelor de pe primele 8 locuri, care vor fi salvate intr-o alta lista, dupa aflarea acestora se vor continua meciurile pana la aflarea echipei castigatoare.
Line 44: Line 44:
   * Pentru cerința 4 se dorește afișarea BST -ului în ordine descrescătoare. Adică afișarea clasamentului în ordine descrescătoare.   * Pentru cerința 4 se dorește afișarea BST -ului în ordine descrescătoare. Adică afișarea clasamentului în ordine descrescătoare.
   * Pentru cerința 5 se dorește crearea unui AVL cu echipele de la sub punctul anterior și scrierea în fișier a echipelor de la nivelul 2.   * Pentru cerința 5 se dorește crearea unui AVL cu echipele de la sub punctul anterior și scrierea în fișier a echipelor de la nivelul 2.
-  * Structurile de date necesare trebuie deduse astfel încât sa respecte normele de buna implementare Ex: un jucator are nume, prenume, experienta - prin urmare se va folosi un tip de date care sa caracterizeze aceasta entitate:​(Acelasi lucru trebuie facut si pentru alte tipuri de date necesare realizarii aplicatiei.)+  * Structurile de date necesare trebuie deduse astfel încât sa respecte normele de buna implementare Ex: un jucator are nume, prenume, ​puncte de experienta - prin urmare se va folosi un tip de date care sa caracterizeze aceasta entitate:​(Acelasi lucru trebuie facut si pentru alte tipuri de date necesare realizarii aplicatiei.)
  
 <code cpp player.h>​ <code cpp player.h>​
Line 55: Line 55:
 </​code>​ </​code>​
  
-<​note>​Formula de calcul a punctajului de echipa este: media aritmetica a experienței (xp) jucătorilor din echipa respectiva. La fiecare meci câștigat punctajul de echipa va creste cu 1.(Trebuie modificate toate punctajele jucătorilor echipei pentru realizarea acestui task.)</​note>​+<​note>​Formula de calcul a punctajului de echipa este: media aritmetica a punctelor de experiență (pointscorespunzătoare ​jucătorilor din echipa respectiva. La fiecare meci câștigat punctajul de echipa va creste cu 1.(Trebuie modificate toate punctajele jucătorilor echipei pentru realizarea acestui task.)</​note>​
  
 ===== Exemplu ===== ===== Exemplu =====
Line 183: Line 183:
  
 <note tip>​Exemplu cerinta 2: <note tip>​Exemplu cerinta 2:
-Initial sunt 146 de echipe, iar valoarea lui N pentru a avea numarul maxim de echipe ca putere a lui 2 este 7 => 2^7 = 128, ceea ce inseamna ca din 146 echipe eliminam pana cand raman 128 de echipe in concurs.+ 
 +Initial sunt **146** de echipe, iar valoarea lui N pentru a avea numarul maxim de echipe ca putere a lui 2 este 7 => 2^7 = **128**, ceea ce inseamna ca din 146 echipe eliminam pana cand raman 128 de echipe in concurs.
 </​note>​ </​note>​
  
 +===== Tips Checker =====
 +
 +**Checker-ul** este un script care pentru a valida testul X, compara linie cu linie fisierul de Output (generat de codul vostru) cu fisierul de Rezultate/​Expected (rezultatul corect pentru testul respectiv).
 +
 +Acesta foloseste fisierul **Makefile** pentru a compila programele sursa (main.c, generareJoc.c etc) si genereaza executabilul **//​__lanParty__//​**,​ care primeste cele trei argumente (cerinte.in,​ date.in, rezultate.out).
 +
 +<note important>​In cazul in care fisierul vostru de Output este similar cu cel de Rezultate, iar rezultatul pe test este 0, verificati ca cele 2 fisiere sunt identice folosind un comparator de text (precum: [[https://​text-compare.com/​|text compare]]). Existenta spatiilor la final de linie sau de fisier pot duce la invalidarea testului.</​note>​
 +
 +<note warning>​**Alte probleme pot aparea din cauza alocarii/​eliberarii neadecvate de memorie.**</​note>​
 ===== Reguli de trimitere ===== ===== Reguli de trimitere =====
-  * Puteţi încărca mai multe soluţii, se va lua în considerare ultima solutie ​incarcata, termen limita x +  * Puteţi încărca mai multe soluţii, se va lua în considerare ultima solutie încărcată  
-  * Arhiva temei va avea numele GrupaSerie_Nume_Prenume_TemaNr.zip și va fi încărcată ​pe moodle. +  * Fișierele care trebuie trimise
-  * Arhiva trimisă conține (direct în rădăcină)+     - Fişierele (.c si .h) cu codul programului;​
-     - Fişierul sau fişierele (.c si .h) cu codul programului;​+
      - Makefile-ul (cu regulile make build și make clean). Executabilul generat trebuie să se numească lanParty;      - Makefile-ul (cu regulile make build și make clean). Executabilul generat trebuie să se numească lanParty;
      - fișierul README în care va fi descrisă soluția problemei.      - fișierul README în care va fi descrisă soluția problemei.
- 
 ==== Restricții ==== ==== Restricții ====
   * Implementarea se va face folosind limbajul C;   * Implementarea se va face folosind limbajul C;
sda-ab/tema1.txt · Last modified: 2024/03/30 17:56 by andreea.udrea
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0