Sa se afiseze cele mai mari 2 valori dintr-un vector printr-o singura parcurgere.
Răspunsuri la întrebare
Răspuns de
0
Pai, in primul rand faci un for care sa parcurga toate numerele si de fiecare data cand citesti un numar, verifici daca este mai mare decat maximul curent si schimbi valoare maximului cu cea curenta daca e mai mare, apoi faci inca o verificare care sa verifice daca valoarea curenta e mai mare decat alta variabila, care sa retina a doua cea mai mare valoare, si mai mica decat maximul curent.
Sper ca ti-am fost de ajutor.
Sper ca ti-am fost de ajutor.
Elena1elle:
adica parcurg valorile din for pana dau de cea mai mare pe care o pun intr-un vector si iau un alt vector care compara toate valorile de dinainte si dupa cel mai mare?
Răspuns de
5
#include <bits/stdc++.h>
using namespace std;
int v[1005],n, i, max1 = - INT_MAX, max2 = max1;
int main()
{
cin >> n;
for(i = 1; i <= n; i ++)
{
cin >> v[i];
if(v[i] > max1) max2 = max1, max1 = v[i];
else if(v[i] > max2) max2 = v[i];
}
cout << max1 << " " << max2;
return 0;
}
using namespace std;
int v[1005],n, i, max1 = - INT_MAX, max2 = max1;
int main()
{
cin >> n;
for(i = 1; i <= n; i ++)
{
cin >> v[i];
if(v[i] > max1) max2 = max1, max1 = v[i];
else if(v[i] > max2) max2 = v[i];
}
cout << max1 << " " << max2;
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă