Differences

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

Link to this comparison view

sda-ab:tema0 [2022/03/12 20:27]
ruben_gilian.udroiu [Fisierele folosite de checker arata astfel:]
sda-ab:tema0 [2022/03/13 22:17] (current)
ruben_gilian.udroiu [Descriere]
Line 9: Line 9:
 ===== Informații ===== ===== Informații =====
  
-  * Deadline hard, 20.03.2022 ora 23:59 (termen limită - nu se obţin puncte pe soluţiile trimise mai târziu) +  * Deadline ​**hard****27.03.2022 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/​tema0-parc-auto| ​această adresă]]+  * Checker-ul offline îl puteţi descărca de [[https://​github.com/​sda-ab/​tema0-parc-auto| ​aici]]
   * 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]]   * 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]]
   * Setup-urile recomandate de către noi le găsiți [[https://​ocw.cs.pub.ro/​courses/​sda-ab/​setupteme| aici]]   * Setup-urile recomandate de către noi le găsiți [[https://​ocw.cs.pub.ro/​courses/​sda-ab/​setupteme| aici]]
Line 16: Line 16:
 ===== Descriere ===== ===== Descriere =====
  
-Evolutia tehnologica ​ca ajuns si la Parcul Auto ACS. Acestia au aflat ca sarcinile simple, repetite cat si statisticile pot fi facute de catre un program software fara sa mai fie nevoie de interventie umana. Ei te-au contactat pe tine pentru a le rezolva urmatoarele cerinte de business si a livra produsul mult dorit. <​del>​Ce zici, te poti descurca???</​del>​+Evolutia tehnologica ​ajuns si la Parcul Auto ACS. Acestia au aflat ca sarcinile simple, repetite cat si statisticile pot fi facute de catre un program software fara sa mai fie nevoie de interventie umana. Ei te-au contactat pe tine pentru a le rezolva urmatoarele cerinte de business si a livra produsul mult dorit. <​del>​Ce zici, te poti descurca???</​del>​
 ===== Cerințe ===== ===== Cerințe =====
-  - Masinile trebuie citite dintr-un fisier de intrare si inventariate (Hint: Trebuie stocate intr-un vector)+  - Sortarea in ordine aflabetica a masinilor
-  - Pe baza masinilor aflate in inventar (in vector) se doreste elaborarea unei statistici in care masinile sunt grupate ​in functie de marca. ​(Vezi sectiunea Exemplu) +  - Afisarea unui invetar ​in functie de numarul de masini corespunzator fiecarei marci (Vezi sectiunea Exemplu). 
-  - Deoarece masinile aflate in inventar nu sunt sortate aflabetic, acestea trebuie sortate alfabetic+  - Realizarea ​unui demo al aplicatiei respectand urmatorii pasi: 
-  - Se doreste implementarea ​unui demo folosind inventarul generat la cerinta 3. +       ​* Toate masinile ​a caror marca se regaseste in fisierul **marci.in** ​o sa fie vandute ​(eliminate din vector) 
-    * Toate masinile ​care au marca Audi si BMW o sa fie vandute. +       ​* Masinile ramase ​in invetar (in vector) o sa fie scrise intr-un fisier ​de output 
-    * Se doreste scrierea profitului intr-un fisier. +       ​Pe ultima linie a fisierul o sa fie scris profitul total obtinut in urma vanzarii
-    ​* Masinile ramase ​trebuie ​scrise intr-un fisier. +
-    Se doreste actualizarea statisticii de la cerinta 3.+
  
 +<note warning>​Pentru a primi puncte pe tema trebuie sa lucrati cu fisiere (scrierea/​citirea se face in/din fisier), nu se accepta solutii care nu folosesc operatii de lucru cu fisiere. ​
 +
 +Pentru a tine evidenta masinilor este recomandat sa le stocati intr-un **vector** (__alocat dinamic__).</​note>​
 +
 +<note tip>​Pentru cerinta 1, daca 2 masini au aceeasi **marca**, atunci ele vor fi sortate in functie de **model**. ​
 +
 +**Daca doua masini au aceeasi marca si acelasi model**, atunci sortarea se face dupa tokenMasina (acesta este unic pentru fiecare masina).</​note>​
 ===== Punctaje si Detalii Tehnice ===== ===== Punctaje si Detalii Tehnice =====
 ==== Punctaje: ==== ==== Punctaje: ====
Line 34: Line 39:
 ==== Detalii Tehnice ==== ==== Detalii Tehnice ====
   * Rezultate obtinute in urma executarii cerintelor vor fi scrise in fisierul rezultate.out   * Rezultate obtinute in urma executarii cerintelor vor fi scrise in fisierul rezultate.out
-  * Pentru cerinta 2 este suficient sa salvati masinile din fisierul de date.in intr-un vector. +  * In fisier se afiseaza ​cate o masina pe linie. 
-  * Pentru cerinta 3 trebuie sa afisati pe cate o linie marca (ordonate aflabetic) si numarul de masini din aceasta marca+  * Pentru cerinta ​este nevoie sa modificati ​vectorul de la cerinta ​1.
-  * Pentru cerinta ​este nevoie sa prelucrati ​vectorul de la cerinta ​2 si sa eliminati toate masinile care au fost vandute, dupa care in fisierul de rezultate se vor scrie pe cate o linie masinile ramase si pe ultimul rand profitul generat. +
- +
  
 <code c masina> <code c masina>
Line 52: Line 54:
  
 <​note>​ <​note>​
-**tokenMasina** este folosit ​un token unic pentru fiecare masina inregistrata in sistem.+**tokenMasina** este un token unic pentru fiecare masina inregistrata in sistem.
  
 Formula de calcul a profitului unei masini este: //diferenta intre pretul de vanzare si pretul de achizitie//​. Formula de calcul a profitului unei masini este: //diferenta intre pretul de vanzare si pretul de achizitie//​.
 </​note>​ </​note>​
 +<note warning>​Pentru rularea checker-ului trebuie sa aveti implementat un fisier makefile care are regulile de **build** si **clean**.</​note>​
 ===== Exemplu ===== ===== Exemplu =====
  
Line 65: Line 67:
 </​code>​ </​code>​
  
-<​code ​text date.in>+<​code ​date.in>
 Chevrolet Malibu fuvjx4hgj4 4236 4199 //Marca Model tokenMasina pretAchizitie pretVanzare Chevrolet Malibu fuvjx4hgj4 4236 4199 //Marca Model tokenMasina pretAchizitie pretVanzare
 Chevrolet Silverado wjckx944uj 7693 7494 Chevrolet Silverado wjckx944uj 7693 7494
Line 112: Line 114:
 Mercedes-Benz CLK-Class paau62q56q 1477 2391 Mercedes-Benz CLK-Class paau62q56q 1477 2391
 BMW 3Series b9cjvyigx8 2537 8550 BMW 3Series b9cjvyigx8 2537 8550
-Volvo S80 ecckdo9w15 6974 5722 
-Chevrolet Tahoe dbrxothpyq 6090 8724 
-Chevrolet Silverado2500ExtendedCab 8hjbf1lawn 4233 5724 
-Suzuki Forenza gwy39uds1x 6570 14382 
-Toyota Sienna 15gahw2a8m 9993 5753 
-BMW 7Series iwt8aj2f1e 7574 4039 
-Chevrolet Suburban2500 s8n1lzdhoh 5647 12661 
-Toyota Venza 9talylt0aw 9172 8073 
-BMW Z8 jtkj5yah8d 4419 3555 
-Chevrolet Express2500Cargo rtdzkluhzv 7121 6344 
-Toyota Solara qd2e31qfea 9097 3876 
-Chevrolet 2500HDExtendedCab fdynp19zvv 4872 11748 
-Mercedes-Benz GL-Class vx76yxbusp 9662 13709 
-Suzuki XL7 eubccl50z8 9941 8858 
-Audi S4 h4fypxixl3 1426 2159 
-Chevrolet Silverado3500HDDoubleCab 35cse4kh2g 5663 6144 
-Audi R8 l9yemh4o7s 2700 10268 
-Suzuki Sidekick vso1roz3jh 1015 12114 
-Chevrolet MonteCarlo hxndajs1vt 7664 4659 
-Ford Tempo 1zgvfh28dz 9736 5658 
-BMW X6M cehy5p1etb 5277 8173 
-Mercedes-Benz SL-Class bwf7kqwxhk 8869 2059 
-Chevrolet AstroPassenger v8u756ch1q 1227 6945 
-Volvo XC60 d74pgn1jr3 4597 9293 
-Chevrolet AstroPassenger oeb7nbhzz3 5484 9114 
-Chevrolet MonteCarlo dxicke039w 4459 2305 
-Chevrolet Corvette 03csuxba2j 3487 5648 
-BMW i3 u7oxxpbtyh 7063 11547 
-Mercedes-Benz S-Class 8fpbnytl97 5861 2550 
-Toyota Sienna fekobhuk9q 3653 10226 
-Audi SQ5 7xzrdl789e 8026 13481 
-Chevrolet Camaro 1fdvkaff97 6782 8672 
-Toyota TundraRegularCab qtn2cb81do 3917 9485 
-Toyota Yaris 0wmoet0ckn 6826 9275 
-Toyota T100RegularCab y1utoatdx9 7540 9268 
-Ford ZX2 phq6gizhai 4280 5014 
-Toyota TacomaAccessCab t6z75k03uk 3095 6238 
-BMW 5Series fd87u478yu 5683 4932 
-Ford AerostarCargo njplbpsu17 2316 11598 
-Ford EconolineE350SuperDutyPassenger 5oztzr564w 7033 14428 
-Chevrolet CaptivaSport eb0w6njon1 7613 14421 
-BMW M3 h5lu0yhf5a 7487 14686 
-BMW 2Series tu0hcyuull 8761 8223 
-BMW M5 xhufxomt2a 8498 2105 
-Suzuki Samurai nn3gyxfhzi 4604 5385 
-BMW X1 wz9scdwfub 4866 13652 
-Toyota Celica 8vizxavjhh 4999 9110 
-Ford F150SuperCrewCab xpl2sx2ems 9412 14889 
-Mercedes-Benz S-Class michnuq50l 6074 8807 
-Audi RS5 enr5upnj4i 1325 10167 
-Mercedes-Benz SLK-Class lrymd54qbl 3483 10785 
-BMW M5 mnkklofeuc 4453 12889 
-Volvo XC90 sj31svafqu 1759 10259 
-BMW i8 f8bpc93f6i 4000 13873 
 </​code>​ </​code>​
  
 <code text rezultate.out>​ <code text rezultate.out>​
-Audi 9 +Audi 5 
-BMW 18 +BMW 7 
-Chevrolet ​23 +Chevrolet ​10 
-Ford 11 +Ford 6 
-Mercedes-Benz ​9+Mercedes-Benz ​4
 Subaru 2 Subaru 2
-Suzuki ​7 +Suzuki ​3 
-Toyota ​16 +Toyota ​7 
-Volvo 5+Volvo 2
  
 </​code>​ </​code>​
Line 183: Line 131:
 Executabilul obținut în urma compilării va avea numele parcAuto, iar regula de rulare va fi: Executabilul obținut în urma compilării va avea numele parcAuto, iar regula de rulare va fi:
 <note tip>​./​parcAuto cerinte.in date.in rezultate.out marci.in</​note>​ <note tip>​./​parcAuto cerinte.in date.in rezultate.out marci.in</​note>​
 +
 +<code c main.c>
 +int main(int argc, char *argv[] {
 +    //argc -> numarul de parametri
 +    //argv -> parametri
 +    //​Folosindu-ne de conditia de executie prezentata mai sus =>
 +    //argv[0] = parcAuto -> numele executabilului
 +    //argv[1] = cerinte.in
 +    //argv[2] = date.in
 +    //argv[3] = rezultate.out
 +    //argv[4] = marci.in
 +    //Iar un fisier se deschide astfel:
 +    FILE *inputCerinte = fopen(argv[1],​ "​r"​);​
 +}
 +</​code>​
  
 ===== Reguli de trimitere ===== ===== Reguli de trimitere =====
sda-ab/tema0.1647109625.txt.gz · Last modified: 2022/03/12 20:27 by ruben_gilian.udroiu
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