This shows you the differences between two versions of the page.
|
programare-cc:laboratoare:10 [2025/12/11 11:50] carmen.odubasteanu [Problema 1] |
programare-cc:laboratoare:10 [2025/12/11 12:44] (current) carmen.odubasteanu [Problema 4] |
||
|---|---|---|---|
| Line 14: | Line 14: | ||
| Funcţia primeşte ca argument adresa funcţiei de integrat şi numărul de paşi şi va avea antetul: | Funcţia primeşte ca argument adresa funcţiei de integrat şi numărul de paşi şi va avea antetul: | ||
| <code c>double integrala(double (*func) (double x), double a, double b, int n) </code> | <code c>double integrala(double (*func) (double x), double a, double b, int n) </code> | ||
| - | Programul principal va apela funcţia de calcul a integralei pentru două funcţii diferite şi un n suficient de mare. Se pot | + | Programul principal va apela funcţia de calcul a integralei pentru două funcţii diferite şi un n suficient de mare(peste 100). Se pot |
| integra functiile **sin(x)** si **cos(x)** pe intervalul **[0, PI]**. Pentru sin rezultatul va fi 2, iar pentru cos va fi 0. | integra functiile **sin(x)** si **cos(x)** pe intervalul **[0, PI]**. Pentru sin rezultatul va fi 2, iar pentru cos va fi 0. | ||
| Verificati si cu sin pe intervalul **[PI/2, PI]** ca rezultatul este 1. | Verificati si cu sin pe intervalul **[PI/2, PI]** ca rezultatul este 1. | ||
| Line 39: | Line 39: | ||
| void add(struct multime *m, int x) // adaugă pe x la mulţimea m | void add(struct multime *m, int x) // adaugă pe x la mulţimea m | ||
| void del(struct multime *m, int x) // şterge pe x din mulţimea m | void del(struct multime *m, int x) // şterge pe x din mulţimea m | ||
| - | void print(struct multime *m) // afişează mulţimea m | + | void print(struct multime m) // afişează mulţimea m |
| - | int contains(struct multime *m, int x) // returnează 1 dacă x se află în mulţimea m şi 0 altfel | + | int contains(struct multime m, int x) // returnează 1 dacă x se află în mulţimea m şi 0 altfel |
| </code> | </code> | ||
| Să se scrie un program ce testează funcţiile definite mai sus. | Să se scrie un program ce testează funcţiile definite mai sus. | ||
| Line 95: | Line 95: | ||
| Definiţi tabloul **PROGRAMA** de **MAX** elemente de tip **MATERIA**, **MAX** fiind o constantă predefinită. | Definiţi tabloul **PROGRAMA** de **MAX** elemente de tip **MATERIA**, **MAX** fiind o constantă predefinită. | ||
| + | |||
| Scrieţi funcţia **citire_PROGRAMA**, de tip **void**, care iniţializează tabloul **PROGRAMA**, prin apelul funcţiei | Scrieţi funcţia **citire_PROGRAMA**, de tip **void**, care iniţializează tabloul **PROGRAMA**, prin apelul funcţiei | ||
| **citire_MAT**. | **citire_MAT**. | ||
| Line 125: | Line 126: | ||
| /* afiseaza pe ecran matricea transmisă ca parametru. | /* afiseaza pe ecran matricea transmisă ca parametru. | ||
| */ | */ | ||
| - | void scrie_MATRICE(MATRICE* ma) | + | void scrie_MATRICE(MATRICE ma) |
| /* dacă matricile ma şi mb au aceleaşi dimensiuni, atunci funcţia returnează adresa unei noi | /* dacă matricile ma şi mb au aceleaşi dimensiuni, atunci funcţia returnează adresa unei noi | ||
| Line 131: | Line 132: | ||
| *(adunarea nu se poate face, deci rezultatul nu există). | *(adunarea nu se poate face, deci rezultatul nu există). | ||
| */ | */ | ||
| - | MATRICE* aduna_MATRICE(MATRICE* ma, MATRICE* mb) | + | MATRICE* aduna_MATRICE(MATRICE ma, MATRICE mb) |
| /* dacă matricile ma şi mb se pot înmulţi, atunci funcţia returnează adresa unei noi matrici | /* dacă matricile ma şi mb se pot înmulţi, atunci funcţia returnează adresa unei noi matrici | ||
| Line 137: | Line 138: | ||
| * (înmulţirea nu se poate face, deci rezultatul nu există). | * (înmulţirea nu se poate face, deci rezultatul nu există). | ||
| */ | */ | ||
| - | MATRICE* inmulteste_MATRICE(MATRICE* ma, MATRICE* mb) | + | MATRICE* inmulteste_MATRICE(MATRICE ma, MATRICE mb) |
| </code> | </code> | ||
| Scrieti un main in care testati functiile implementate anterior! | Scrieti un main in care testati functiile implementate anterior! | ||