Advertisement
MonsterScripter

CodinGame_2023_08_26__22_14_56__nearest_zero.cpp

Aug 27th, 2023
1,442
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.79 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <algorithm>
  5. #include <cmath>
  6. #include <climits>
  7. #include <cstdlib>
  8.  
  9. using namespace std;
  10.  
  11. /**
  12.  * Objectif
  13.  * Dans cet exercice, vous devez analyser un relevé de températures pour trouver quelle température se rapproche le plus de zéro.
  14.  *
  15.  * Exemple de températures
  16.  * Ici, -1 est le plus proche de 0.
  17.  *
  18.  * Règles
  19.  * Écrivez un programme qui affiche la température la plus proche de 0 parmi les données d'entrée.
  20.  * Si deux nombres sont aussi proches de zéro, alors l'entier positif sera considéré comme étant le plus proche de zéro
  21.  * (par exemple, si les températures sont -5 et 5, alors afficher 5).
  22.  *
  23.  * Entrées du jeu
  24.  * Votre programme doit lire les données depuis l'entrée standard et écrire le résultat sur la sortie standard.
  25.  *
  26.  * Entrée
  27.  * Ligne 1 : Le nombre N de températures à analyser.
  28.  * 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
  29.  *
  30.  * Sortie
  31.  * Affichez 0 (zéro) si aucune température n'est fournie. Sinon, affichez la température la plus proche de 0.
  32.  *
  33.  * Contraintes
  34.  * 0 ≤ N < 10000
  35.  *
  36.  * Exemple
  37.  * Entrée
  38.  * 5
  39.  * 1 -2 -8 4 5
  40.  * Sortie
  41.  * 1
  42.  */
  43.  
  44. int main()
  45. {
  46.     int n; // Le nombre de températures à analyser
  47.     cin >> n; cin.ignore();
  48.     int nearZero = n != 0 ? abs(INT_MAX) : 0;
  49.     for (int i = 0; i < n; i++) {
  50.         int t; // Une température exprimée sous forme d'un entier allant de -273 à 5526
  51.         cin >> t; cin.ignore();
  52.         nearZero = (abs(t) <= abs(nearZero) ? (abs(t) == nearZero ? abs(t) : t) : nearZero);
  53.     }
  54.     cout << nearZero << endl;
  55.     return EXIT_SUCCESS; // Indique que le programme s'est exécuté avec succès
  56. }
  57.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement