30. Să se localizeze elementul maxim şi toate elementele dinaintea lui să se ordoneze crescător, iar cele de după el, descrescător, afişându-se rezultatul.
În c++
Răspunsuri la întrebare
Răspuns de
3
#include <iostream>
using namespace std;
int main(){
int n, i, mx,v[100];
//Citire date
cin >> n;
for(i=1;i<=n;i++) cin >> v[i];
//Determinare pozitie maxim
mx=1;
for(i=2;i<=n;i++)
if(v[i]>v[mx])mx=i;
//Sortare crescatoare
bool ok=1;
while(ok){
ok=0;
for(i=1;i<mx-1;i++){
if(v[i]>v[i+1]){
swap(v[i],v[i+1]);
ok=1;
}
}
}
//Sortare descrescatoare
ok=1;
while(ok){
ok=0;
for(i=mx+1;i<n;i++){
if(v[i]<v[i+1]){
swap(v[i],v[i+1]);
ok=1;
}
}
}
//Afisare rezultat
for(i=1;i<=n;i++) cout << v[i] << " ";
}
Anexe:
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Fizică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă