Cerința
Scrieți funcția sumaMinMax care primește ca parametri un tablou unidimensional v format din n elemente și un număr natural n. Funcția va returna un vector cu două elemente, primul element reprezentând cea mai mică sumă formată din exact n-1 elemente dintre cele n ale lui v, iar cel de-al doilea element reprezentând cea mai mare sumă formată din exact n-1 elemente dintre cele n ale lui v.
Restricții și precizări
sumaMinMax primește doi parametri, în această ordine, un tablou unidimensional v și un număr natural n reprezentând numărul de elemente ale lui v
elementele lui v sunt indexate de la 0
sumaMinMax returnează un pointer la int, reprezentând un tablou alocat dinamic în cadrul funcției, tablou cu două elemente cu semnificațiile din cerință
1 ≤ n ≤ 100
1 ≤ v[i] ≤ 50, unde v[i] reprezintă al i-lea element din v
Intrare
5
1 2 3 4 5
Ieșire
10 14
Explicație
10 reprezintă primul element din vectorul returnat, iar 14 reprezintă al doilea element.
Răspunsuri la întrebare
Răspuns de
3
#include <iostream>
using namespace std;
void sumaMinMax (int v[50],int n)
{
int i,min=v[0],max=v[0],a[2];
a[0]=0;
a[1]=0;
for(i=0; i<n; i++)
if(v[i]<min)
min=v[i];
for(i=0; i<n; i++)
if(v[i]>max)
max=v[i];
for(i=0; i<n; i++)
if(v[i]!=max)
a[0]=a[0]+v[i];
for(i=0; i<n; i++)
if(v[i]!=min)
a[1]=a[1]+v[i];
cout<<a[0]<<" "<<a[1];
}
int main()
{
int n,v[50],nr,i;
cin>>n;
for(i=0; i<n; i++)
{
cin>>nr;
v[i]=nr;
}
sumaMinMax(v,n);
}
using namespace std;
void sumaMinMax (int v[50],int n)
{
int i,min=v[0],max=v[0],a[2];
a[0]=0;
a[1]=0;
for(i=0; i<n; i++)
if(v[i]<min)
min=v[i];
for(i=0; i<n; i++)
if(v[i]>max)
max=v[i];
for(i=0; i<n; i++)
if(v[i]!=max)
a[0]=a[0]+v[i];
for(i=0; i<n; i++)
if(v[i]!=min)
a[1]=a[1]+v[i];
cout<<a[0]<<" "<<a[1];
}
int main()
{
int n,v[50],nr,i;
cin>>n;
for(i=0; i<n; i++)
{
cin>>nr;
v[i]=nr;
}
sumaMinMax(v,n);
}
Alte întrebări interesante
Istorie,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
{
int smin=0, smax=0,i;
int *a=new int[2];
for(i=0; i {
smax=smax+v[i+1];
smin=smin+v[i];
}
a[0]=smin;
a[1]=smax;
return a;
}