Informatică, întrebare adresată de Utilizator anonim, 9 ani în urmă

Se citește un vector cu n elemente, numere naturale distincte. Să se afișeze elementele cuprinse între elementul cu valoarea minimă și cel cu valoare maximă din vector, inclusiv acestea.

Răspunsuri la întrebare

Răspuns de artur99
58
#include <iostream>
using namespace std;
int main(){
    int n, i, a, minl=0, maxl=0;
    cin>>n;
    int v[n];
    for(i=0;i<n;i++){
        cin>>v[i];
        if(v[i]>v[maxl]) maxl=i;
        if(v[i]<v[minl]) minl=i;
    }
    if(minl>maxl){
        a=minl;
        minl=maxl;
        maxl=a;
    }
    for(i=minl;i<=maxl;i++){
        cout<<v[i]<<" ";
    }
    return 0;
}
Răspuns de AntiEaglesDavids
14
#include <iostream>
#include <limits.h>
using namespace std;
const int NMAX = 30000;

int v[NMAX];

int main()
{
    int n, Max = 0, Min = INT_MAX, pozMin = 0, pozMax = 0;

    cin >> n;

    for(int i=1; i<=n; i++) {
        cin >> v[i];
        if(v[i] < Min) { Min = v[i]; pozMin = i; }
        if(v[i] > Max) { Max = v[i]; pozMax = i; }
    }

    if(pozMax > pozMin) { for(int i=pozMin; i<=pozMax; i++) cout << v[i] << ' '; }
    else { for(int i=pozMax; i<=pozMin; i++) cout << v[i] << ' '; }

    return 0;
}
Alte întrebări interesante