👤


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ăspuns :

#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);

}