Să se ordoneze crescător elementele dintr-un şir dat cuprinse între elementul de valoare maximă şi cel de valoare minimă.
Dau 15 puncte.
Răspunsuri la întrebare
Răspuns de
13
#include <iostream>
using namespace std;
int main()
{
int a[1000], n, max = 0, min = 0;
cin>>n;
for(int i = 0; i < n; ++i)
{
cin>>a[i];
if(a[i] >= a[max]) max = i;
if(a[i] < a[min]) min = i;
}
if(min > max) swap(min, max);
for(int i = min; i <= max; ++i)
{
int m = i;
for(int j = i + 1; j <= max; ++j)
if(a[j] < a[m]) m = j;
swap(a[i], a[m]);
}
for(int i = 0; i < n; ++i)
cout<<a[i]<<' ';
return 0;
}
using namespace std;
int main()
{
int a[1000], n, max = 0, min = 0;
cin>>n;
for(int i = 0; i < n; ++i)
{
cin>>a[i];
if(a[i] >= a[max]) max = i;
if(a[i] < a[min]) min = i;
}
if(min > max) swap(min, max);
for(int i = min; i <= max; ++i)
{
int m = i;
for(int j = i + 1; j <= max; ++j)
if(a[j] < a[m]) m = j;
swap(a[i], a[m]);
}
for(int i = 0; i < n; ++i)
cout<<a[i]<<' ';
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă