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

Salut! Am si eu nevoie de ajutor la problema #161 de pe pbinfo cu explicatii la fiecare linie de cod c++, pentru a o intelege.
Atasez codul c++ aici si este 100% functional :

Anexe:

Răspunsuri la întrebare

Răspuns de andreidamian604
1

Răspuns:

primul for citești vectorul, adică cele n numere

al doilea for aduni in variabila s suma elementelor diferite de 0 SI reții in variabila ct cate elemente sunt diferite de 0

ma e practic media aritmetică a elementelor diferite de 0

al 3 for daca elementul e 0 afișezi ma, altfel afișezi elementul

ai grija că problema zice sa se înlocuiască cu partea întreaga, la chestiile de genu trebuie sa ai grija


ciprian74: Am sa o postez ca intrebare imediat!
ciprian74: Gata! Am postat-o!
andreidamian604: am închis din greșeală și nu mai găsesc întrebarea.
andreidamian604: m-am uitat înainte pe poze, sincer nu prea înțeleg ce ai făcut acolo, dar îți pot explica cum am făcut eu, daca vrei
ciprian74: DA. este bine asa. Daca poti sa imi trimiti la raspuns si codul tau de c++ cum ai facut , te rog.
andreidamian604: #include
using namespace std;

int main()
{
int n, v[1001];
cin >> n;
for ( int i = 1; i <= n; i++ )
cin >> v[i];

for ( int i = 1; i <= n; i++)
{
int ok = 0;
for ( int j = i+1; j <= n ; j++)
{
if ( v[i] < v[j] )
{
cout << v[j] << ' ';
ok++;
break;
}
}
if ( ok == 0)
cout << -1 << ' ';
}

return 0;
}
andreidamian604: trebuie sa găsești ptr fiecare element v[i] un element v[i+cnt], cnt>0 (in cazul asta v[j]), care este mai mare decât elementul curent v[i]
andreidamian604: al doilea for: daca găsește un element mai mare îl afișez, fac ok = 1 (condiția că a găsit elementul), și opresc for ul. daca ok este 0, adică dacă nu a găsit un element, afișez 0
andreidamian604: se poate scrie in for i
andreidamian604: nu m-am complicat atunci când am făcut-o, dar în problemele mai serioase contează fiecare detaliu
Alte întrebări interesante