This shows you the differences between two versions of the page.
programare:teme_2019:tema4_2019_cbd [2019/11/04 18:53] marius.vintila [Task 4 (5p)] |
programare:teme_2019:tema4_2019_cbd [2020/01/04 00:24] (current) marius.vintila [Task 1 (5p)] |
||
---|---|---|---|
Line 5: | Line 5: | ||
* [[murarugeorgec@gmail.com|George Muraru]] | * [[murarugeorgec@gmail.com|George Muraru]] | ||
- | * Data publicare: **5 Noiembrie 2019** | + | * Data publicare: **5 Noiembrie 2019, ora 22:20** |
* Deadline: **6 Ianuarie 2020, ora 23:55** | * Deadline: **6 Ianuarie 2020, ora 23:55** | ||
+ | |||
+ | ==Depunctări== | ||
+ | Deadline-ul hard coincide cu cel soft. \\ | ||
+ | În consecință, [[http://ocw.cs.pub.ro/courses/programare/regulament-cb-cd#temele_de_casa|deadline-ul hard]] este **06.01.2020, ora 23:55**. | ||
+ | |||
+ | ==Întrebări== | ||
+ | Dacă aveți nelămuriri, puteți să ne contactați pe forumul dedicat [[https://acs.curs.pub.ro/2019/mod/forum/view.php?id=6890|temei de casă nr. 4]].\\ | ||
+ | La orice întrebare vom răspunde în maxim 24 de ore.\\ | ||
+ | Nu se acceptă întrebări în ultimele 24 de ore înainte de deadline. | ||
+ | |||
+ | ==Updates== | ||
+ | * 15.12.2019: Update teste | ||
+ | * 3.1.2020: Update teste v2 | ||
====== Obiective ====== | ====== Obiective ====== | ||
* să se respecte formate stricte de intrare/ieșire | * să se respecte formate stricte de intrare/ieșire | ||
* să se însușească cunoștințele necesare pentru examen | * să se însușească cunoștințele necesare pentru examen | ||
- | * sa se înțeleagă si sa se utilizeze operații cu vectori de referințe | + | * sa se înțeleagă si sa se utilizeze operații cu array-uri de pointeri |
* sa se inteleaga si sa se utilizeze scrierea si citirea din fisiere binare | * sa se inteleaga si sa se utilizeze scrierea si citirea din fisiere binare | ||
====== Introducere ====== | ====== Introducere ====== | ||
Line 20: | Line 33: | ||
===== Încălzire ===== | ===== Încălzire ===== | ||
==== Task 1 (5p) ==== | ==== Task 1 (5p) ==== | ||
- | Se dă un vector cu n elemente numere întregi. Se cere întoarcerea un nou vector, alocat dinamic, care să aibă pe poziția i produsul tuturor elementelor din vectorul primit, cu excepția elementului de pe poziția i. | + | Se dă un vector cu n elemente numere întregi. Se cere întoarcerea unui nou vector, alocat dinamic, care să aibă pe poziția i produsul tuturor elementelor din vectorul primit, cu excepția elementului de pe poziția i. |
<note>Veți completa funcția arrayProduct din fișierul project.c</note> | <note>Veți completa funcția arrayProduct din fișierul project.c</note> | ||
Exemplu: | Exemplu: | ||
Line 26: | Line 39: | ||
Input: | Input: | ||
<code> | <code> | ||
+ | 4 | ||
1 2 3 4 | 1 2 3 4 | ||
</code> | </code> | ||
Line 39: | Line 53: | ||
Input: | Input: | ||
<code> | <code> | ||
+ | 3 | ||
1 2 3 | 1 2 3 | ||
4 5 6 | 4 5 6 | ||
Line 50: | Line 65: | ||
</code> | </code> | ||
==== Task 3 (5p) ==== | ==== Task 3 (5p) ==== | ||
- | Se dă o matrice având dimensiunile n și m, cu elemente întregi și k query-uri de forma <x1, y1, x2, y2>, unde x1, y1, x2, y2 sunt numere întregi ce reprezintă coordonate ale matricei. Se cere calcularea sumei elementelor dintre cele două coordonate pentru fiecare query și întoarcerea lor într-un nou vector alocat dinamic. | + | Se dă o matrice având dimensiunile n și m, cu elemente întregi și k query-uri de forma <x1, y1, x2, y2>, unde x1, y1, x2, y2 sunt numere întregi ce reprezintă coordonate ale matricei. Se cere calcularea sumei elementelor din submatricea definita de cele 2 coordonate. |
- | <note>Veți completa funcția subMatrixesSums din fișierul project.c</note> | + | <note>Veți completa funcția subMatrixesSums din fișierul project.c. |
+ | |||
+ | 0 <= x1, x2 < nrLinii; 0 <= y1, y2 < nrColoane</note> | ||
Exemplu: | Exemplu: | ||
Line 62: | Line 79: | ||
3 | 3 | ||
1 2 2 2 | 1 2 2 2 | ||
- | 2 2 3 2 | + | 2 2 2 3 |
0 0 2 2 | 0 0 2 2 | ||
</code> | </code> | ||
Output: | Output: | ||
<code> | <code> | ||
- | 13 33 54 | + | 18 23 54 |
</code> | </code> | ||
===== Rezolvarea Subiectului ===== | ===== Rezolvarea Subiectului ===== |