| Nickolas94 a întrebat:

Se da un tablou A[1.100],n-este mai mic si egal cu o suta. Scrieti un program care detemina de cite ori figureaza in acest tablou elementul cu valoarea maxima si pozitia elementului maxim!
(Eu am doar secventele care sa le includ in program, dar problema e ca nu pot sa alcatuiesc insasi programul, ajutati-ma va rog frumos, acest program este la tema functii si proceduri, clasa a11a!)

Răspuns Câştigător
anonim_4396
| anonim_4396 a răspuns:

Nici eu nu o sa-ti fac programul intrucat aici nu rezolvam teme integral.
Iti voi da doar sugestii pe care sper sa le intelegi.
Ai un sir de numere: 2, 5, 7, 3, 4, 13, 9,1,2,4,13,5,13,2,1
Tu trebuie sa afli numarul maxim din acest sir, sa numeri de cate ori apare si pe ce pozitie.
Poti face asa: iei o variabila pe care o botezezi "max". O initializezi cu primul numar din sir/vector. Adica a[1](sau a[0], depinde de indexare si in Pascal se incepe de obicei cu 1 si in C/C++ cu 0);
max=a[1]; (in cazul sirului dat exemplu de mine, max ia valoarea 2, prima componenta a sirului).
Apoi parcurgi intr-un ciclu FOR dupa i=2 la n(numar citit de la tastatura=dimensiunea sirului; incepi cu i de la 2 pentru ca am avut deja treaba cu a[1], prima componenta) si scrii dedesubt un IF (max< a[i]) atunci max=a[i]; Adica se parcurge tot sirul cautand dupa o valoare mai mare si se salveaza in variabila max.
Apoi iar iei un FOR(i=1 pana la n) si acum scrii un if care verifica asa: if(a[i]=max) {incrementam o valoare k care numara de cate ori apare maximul; afisam pozitia i, adica scriem valoarea lui i pe ecran;}. La final scriem ca valoarea maxima "max" apare de "k" ori in sir.
In cazul sirului dat de mine ca exemplu: valoarea maxima e 13 si apare de 3 ori, pe pozitiile 6, 11, 13(daca am numarat eu bine).
Functiile si procedurile se fac chiar si din clasa a X-a. Dar pentru banalitatea asta de program nici nu sunt necesare. N-o sa stau eu sa-ti scriu programul efectiv. Descurca-te si tu la partea asta daca vrei sa inveti ceva, nu doar sa ti se faca tema ca sa scapi de o grija.
Nota: {/}(C/C++) = begin/end(Pascal)