c++ va rog!! dau 100 de puncte si coroana. Recruţii. În prima zi de armată, la ordinul comandantului, cei N recruţi sau aranjat în rând. Comandantul suferă ori de câte ori lucrurile nu sunt în perfectă ordine, iar şirul format de recruţi era complet dezordonat. Din acest motiv, comandantul solicită ca un număr minim de recruţi să iasă din rând astfel încât soldaţii rămaşi în rând să fie în ordine strict crescătoare a înălţimilor.
Răspunsuri la întrebare
Răspuns de
2
#include <iostream>
using namespace std;
int n,v[101],cp=n;
void citire(int n,int v[]){
for(int i=1;i<=n;++i){
cin>>v[i];
}
}
void p(int& n){
for(int i=2;i<n;++i){
if(v[i-1]<=v[i] && v[i]>=v[i+1]){
;
}else{
for(int j=i;j<n;++j){
v[j]=v[j+1];
}
n--;
}
}
}
int main()
{
cin>>n;
citire(n,v);
p(n);
cout<<cp-n+1;
return 0;
}
Explicație:
1. daca te gandesti la cum sunt asezati soldatii poti sa vezi ca are forma unui vector
2.poti sa vezi si in poza ca au fost "eliminati" 2 soldati ca sa fie ordonati
Anexe:

Laurentia1234:
bine, multumesc
#include
using namespace std;
fstream f("recruti.in");
ofstream f2("recruti.out");
int n,v[101],cp=n;
void citire(int n,int v[]){
for(int i=1;i<=n;++i){
f>>v[i];
}
}
void p(int& n){
for(int i=2;i if(v[i-1]<=v[i] && v[i]>=v[i+1]){
;
}else{
for(int j=i;j v[j]=v[j+1];
}
n--;
}
}
}
int main()
{
f>>n;
citire(n,v);
p(n);
cout< f2< for(int i=1;i<=n;++i){
f2< }
f.close();
f2.close();
return 0;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă