Informatică, întrebare adresată de IEndermanGirl, 9 ani în urmă

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 Razzvy
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;
}
Alte întrebări interesante