Informatică, întrebare adresată de Laurentia1234, 8 ani în urmă

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 thePoint01
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
Laurentia1234: deci?
thePoint01: #include
#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;

}
thePoint01: #include
thePoint01: iostream
thePoint01: #include fstream
thePoint01: am uitat s-o mai trimit aseara
Laurentia1234: cum iti dau cel mai bun raspuns si coroana?
Laurentia1234: mersi mult
Laurentia1234: apreciez
Alte întrebări interesante