Informatică, întrebare adresată de lifeisnotgood2, 8 ani în urmă

poate cineva să scrie un algoritm c ++ pentru aceasta:

Se consideră un semnal 1D de maxim 20000 de eșantioane.
Folosind structuri de date specifice listelor simple înlănțuite, determinați numărul de treceri prin zero al semnalului. Semnalul trece prin 0 dacă îşi schimbă semnul de la un eşantion la altul. 0 nu se consideră schimbare de semn.

Folosirea STL este interzisă. Orice structură de date din STL sau funcție din STL folosită va conduce la punctarea cu 0 a rezolvării.

Folosirea vectorilor este interzisă. Orice structură vectorială statică (T V[N]) sau dinamică (T *V = new T[N]) folosită va conducerea la punctarea cu 0 a rezolvării.



Date de intrare:

N numărul de eșantioane

eșantioanele semnalului



Date de ieșire:

numărul de treceri prin zero



Exemplu:

Date de intrare:

10

1 3 -2 -6 4 10 1 -5 4 1

Date de iesire:

4



Explicatie:

Au loc 4 schimbari de semn intre doua esantioane consecutive:

3 -2 -> schimbare de semn (prima trecere prin zero)

-6 4 -> schimbare de semn (a doua trecere prin zero)

1 -5 -> schimbare de semn (a treia trecere prin zero)

-5 4 -> schimbare de semn (a patra trecere prin zero)

Răspunsuri la întrebare

Răspuns de Crestfall
1

Răspuns:

Explicație:

Sper sa te ajute

Anexe:
Alte întrebări interesante