Documente Academic
Documente Profesional
Documente Cultură
ȘI TEHNOLOGII INFORMAȚIONALE
Chișinău, 2023
17. 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.
Date de intrare. Fişierul de intrare recruti.in conţine pe prima linie numărul natural N,
reprezentând numărul de recruţi. Pe cea de a doua linie, se află N numere reale separate
prin câte un spaţiu, reprezentând înălţimile recruţilor, în ordinea în care aceștia sau plasat
iniţial în rând.
Date de ieşire.n Fişierul de ieşire recruti.out va conţine pe prima linie un număr natural
Lg, reprezentând numărul de recruţi rămaşi în rând. Pe cea de a doua linie vor fi afişate Lg
numere reale separate prin câte un spaţiu, reprezentând înălţimile recruţilor rămaşi în rând.
#include <iostream>
#include <fstream>
#include <ctime>
struct Recrut {
double inaltime;
int index;
};
if (recruti[current].index != current) {
eliminat[recruti[current].index] = true;
++Nr_eliminati;
}
int main() {
time_t start = time(nullptr);
ifstream fin("recruti.in");
ofstream fout("recruti.out");
int N;
fin >> N;
Recrut recruti[100];
for (int i = 0; i < N; ++i) {
fin >> recruti[i].inaltime;
recruti[i].index = i;
}
sortare(recruti, N);
cout << "Timpul de executie: "<<fixed<< executie << " secunde" << endl;
return 0;
}
Date de intrare
Date de ieșire