Salut!
Am si eu nevoie de putin ajutor:
Vreau un program in C++, care sa afle maximul dintr-un sir de numere, si numarul urmator cel mai apropiat de maxim.
Un exemplu:
Intrare:
3
12 34 43
Iesire:
43 34
Sper ca ati inteles. Multumesc anticipat!
Răspunsuri la întrebare
Răspuns de
2
Sper ca de aceasta data sper sa nu se mai stearga raspunsurile deoarece nimeni nu sta sa faca ceva concret. Atata timp cand i-am dat un raspuns care sa il/o ajute nu e nici-o problema. Ar trebui venit cu comentarii. Si si asa trebuie sa fi capabil sa observi ca doar citirea si scrierea se modifica putin.
#include <iostream>
using namespace std;
int main()
{
int n;
cout<<"n=";
cin>>n;
cout<<endl;
int[] v = new int[n];
for(int i=0;i<n;i++)
{
cout<<"v["<<i<<"]=";
cin>>v[i];
}
int a = 0;
int b = 0;
for(int i=0;i<n;i++)
{
if (a==0)
a = v[i];
else if (b==0)
b = v[i];
else
{
if (v[i] > a && v[i] < b)
a = v[i];
else if (v[i] > a && v[i] > b)
{
a = b;
b = v[i];
}
else if (v[i] < a && v[i] > b)
b = v[i];
}
}
if (a>b)
cout<<a<<" "<<b;
else
cout<<b<<" "<<a;
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int n;
cout<<"n=";
cin>>n;
cout<<endl;
int[] v = new int[n];
for(int i=0;i<n;i++)
{
cout<<"v["<<i<<"]=";
cin>>v[i];
}
int a = 0;
int b = 0;
for(int i=0;i<n;i++)
{
if (a==0)
a = v[i];
else if (b==0)
b = v[i];
else
{
if (v[i] > a && v[i] < b)
a = v[i];
else if (v[i] > a && v[i] > b)
{
a = b;
b = v[i];
}
else if (v[i] < a && v[i] > b)
b = v[i];
}
}
if (a>b)
cout<<a<<" "<<b;
else
cout<<b<<" "<<a;
return 0;
}
Răspuns de
0
Sau si mai simplu:
#include <iostream>
using namespace std;
int main()
{
int n, v[100];
cin>>n;
for(int i=0;i<n;i++)
cin>>v[i];
int min1=v[0],min2=v[0];
for(int i=1;i<n;i++)
{
if(min1>v[i] && v[i]>min2)
min2=v[i];
if(v[i]>min1)
{
min2=min1;
min1=v[i];
}
}
cout<<min1<<" "<<min2;
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int n, v[100];
cin>>n;
for(int i=0;i<n;i++)
cin>>v[i];
int min1=v[0],min2=v[0];
for(int i=1;i<n;i++)
{
if(min1>v[i] && v[i]>min2)
min2=v[i];
if(v[i]>min1)
{
min2=min1;
min1=v[i];
}
}
cout<<min1<<" "<<min2;
return 0;
}
uleiaalex:
Salut, Sarbatori fericite ! Multumesc de idee doar am o obiectie! In cazul in care v[0] e maximul de la inceput, si min1 cat si min2 cor ramane egale cu v[0]
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Istorie,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă