3. Se citeşte de pe prima linie a fisierului sportiv.in un număr natural nenul n (n <= 100) și apoi de pe a
doua linie înălțimile a n sportivi (numere reale). Så se realizeze un program C++ care determină: a. afişarea inaltimilor mai mari decat 1.70 b. Înălțimea maxima a sportivilor
c. dacă valorile înălțimilor au proprietatea ca citite de la stanga la dreapta sau de la dreapta la
stanga se obtine acelasi sir
Răspunsuri la întrebare
Răspuns:
#include <iostream>
#include <fstream>
#include <vector>
int main () {
std::vector<double> listaInaltime;
int n;
std::ifstream fisier;
fisier.open("sportiv.in");
fisier >> n;
listaInaltime.reserve(n);
for (int i = 0; i < n; i++) {
fisier >> listaInaltime[i];
}
fisier.close();
/*** a. ***/
std::cout << "Înălțimi mai mari decât 1.70: " << std::endl;
for (int i = 0; i < n; i++) {
if (listaInaltime[i] > 1.70) {
std::cout << listaInaltime[i] << std::endl;
}
}
/*** b. ***/
double maxim = 0;
for (int i = 0; i < n; i++) {
if (maxim < listaInaltime[i]) {
maxim = listaInaltime[i];
}
}
std::cout << "Înălțime maximă: " << maxim << std::endl;
/*** c. ***/
bool palindromic = true;
for (int i = 0; i < n / 2; i++) {
if (listaInaltime[i] != listaInaltime[n - i - 1]) {
palindromic = false;
break;
}
}
std::cout << "Șirul de înălțimi " << (palindromic ? "" : "nu ") << "este identic citit de la stânga ori de la dreapta" << std::endl;
}