Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <vector>
- #include <algorithm>
- #include <cmath>
- #include <climits>
- #include <cstdlib>
- using namespace std;
- /**
- * Objectif
- * Dans cet exercice, vous devez analyser un relevé de températures pour trouver quelle température se rapproche le plus de zéro.
- *
- * Exemple de températures
- * Ici, -1 est le plus proche de 0.
- *
- * Règles
- * Écrivez un programme qui affiche la température la plus proche de 0 parmi les données d'entrée.
- * Si deux nombres sont aussi proches de zéro, alors l'entier positif sera considéré comme étant le plus proche de zéro
- * (par exemple, si les températures sont -5 et 5, alors afficher 5).
- *
- * Entrées du jeu
- * Votre programme doit lire les données depuis l'entrée standard et écrire le résultat sur la sortie standard.
- *
- * Entrée
- * Ligne 1 : Le nombre N de températures à analyser.
- * Ligne 2 : Une chaîne de caractères contenant les N températures exprimées sous la forme de nombres entiers allant de -273 à 5526
- *
- * Sortie
- * Affichez 0 (zéro) si aucune température n'est fournie. Sinon, affichez la température la plus proche de 0.
- *
- * Contraintes
- * 0 ≤ N < 10000
- *
- * Exemple
- * Entrée
- * 5
- * 1 -2 -8 4 5
- * Sortie
- * 1
- */
- int main()
- {
- int n; // Le nombre de températures à analyser
- cin >> n; cin.ignore();
- int nearZero = n != 0 ? abs(INT_MAX) : 0;
- for (int i = 0; i < n; i++) {
- int t; // Une température exprimée sous forme d'un entier allant de -273 à 5526
- cin >> t; cin.ignore();
- nearZero = (abs(t) <= abs(nearZero) ? (abs(t) == nearZero ? abs(t) : t) : nearZero);
- }
- cout << nearZero << endl;
- return EXIT_SUCCESS; // Indique que le programme s'est exécuté avec succès
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement