infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Plesa Mihail Iulian din Octombrie 24, 2011, 06:56:26



Titlul: problema cu subprograme
Scris de: Plesa Mihail Iulian din Octombrie 24, 2011, 06:56:26
Salut!

Am dat peste urmatoarea problema:
Se considera functia f care primeste prin intermediul parametrului n un numar natural nenul, prin intermediul parametrului a un tablou unidimensional care contine n valori intregi iar prin intermediul parametrilor p1 si p2 doua valori naturale reprezentand doua pozitii din tablou.Subprogramul returneaza daca 1 daca intre cele doua pozitii exista mai multe numre negative........

Problema (ca idee) stiu sa o fac insa nu stiu cum trebuie sa scriu antetul functiei si cum trebuie sa scriu cand apelez functia. Ma puteti ajuta va rog?

Multumesc!


Titlul: Răspuns: problema cu subprograme
Scris de: Simoiu Robert din Octombrie 24, 2011, 13:25:28
In ce limbaj lucrezi ?


Titlul: Răspuns: problema cu subprograme
Scris de: Mihai Visuian din Decembrie 01, 2011, 12:42:17
am si eu o intrebare... nu prea merge lee-ul implementat de mine la unele probleme. Imi poate da cineva un lee clasic si o explicatie?(fara <deque>sau<queue>)
un plus la karma nu costa nimic :D


Titlul: Răspuns: problema cu subprograme
Scris de: Simoiu Robert din Decembrie 01, 2011, 14:36:35
Dar merge cu deque sau cu queue, lejer la orice problema si frumos. Daca vrei viteza iti recomand deque, merge mai repede (la deque ai de grija cand faci pop trebuie pop_front). Daca vrei clasic, faci o coada tip vector, cu st si dr capete, si cand vrei sa bagi in coada faci Q[++dr] = element, si ca sa faci pop-ul trebuie doar sa faci foru' principal.
Cod:
for (; st <= dr; ++st) {
    for (dir = 0; dir < NR_DIR; ++dir) {
        ..........
        if (bun) Q[++dr] = element;
    }
}


Titlul: Răspuns: problema cu subprograme
Scris de: mdmdmd din Decembrie 23, 2011, 17:27:05
Nu vad rostul primului parametru ...
Cod:
int f(int n, int a[], unsigned int p1, unsigned int p2)
{
unsigned int i = 0, k = 0;
for(i = p1; i <= p2; i++)
if(a[i] < 0)
k++;

return (k > 1); // 1 - daca exista 2 sau mai multe numere negative in [p1, p2]
}