Advertisement
enkov

Задачата с уловените покемони за 30 дни, с коментари

Sep 15th, 2016
821
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.79 KB | None | 0 0
  1. /*
  2. Да се напише програма на С++, реализираща въвеждане от клавиатурата на броя покемони,
  3. уловени от играч на Pokemon Go за всеки от последните 30 дни (номерирани 1 до 30).
  4. а) да се изведе на екрана най-големия брой уловени покемони за ден и номерът по ред
  5. на съответния ден с този брой (ако са повече от 1 ден, да се изведат всички);
  6. б) да се изведе на екрана сумата от броя покемони в дните с повече от 5 уловени покемона.
  7. */
  8.  
  9. // Поясненията са за учебника Процедурни основи на програмирането с CPP.PDF
  10. // За коментари - 2.3 стр. 17
  11. // За създаване на нов проект с Visual Studio 2008-2015 - 1.3 стр. 7
  12.  
  13.  
  14. #include <iostream> // стр. 10 и стр. 26
  15. using namespace std;  // стр. 10
  16.  
  17. int main()  // стр. 10 за ред 3 обяснението
  18. {
  19.  
  20.     cout << "Programa za statistika na ulova na Pokemoni!" << endl;
  21.     // Заглавна част на програмата, за cout 4.1, стр.26
  22.  
  23.     // дефиниране на размера на масива
  24.     const int n = 30; // може да е по-малко, за тест, брой дни (елем на масива) 3.3 стр. 23
  25.     // за тип int - 3.1 стр. 20
  26.     int Pokemons_for_day[n + 1]; // едномерен масив дефиниране, 8.1 стр 99
  27.     // +1 за да може да работим с индекси от 1 до n
  28.  
  29.     // цикъл for за въвеждане на елементите на масива 7.3 стр. 75
  30.     for (int day = 1; day <= n; day++) // 5.5 стр. 42 за операции за сравнение <=
  31.     { // виж в 6.1 стр. 54 за if какво е съставен оператор - блок {...}
  32.         cout << "Pokemoni za den " << day << ": ";
  33.         cin >> Pokemons_for_day[day]; // cin 4.3 стр. 31
  34.     }
  35.  
  36.     // намиране на стойността на макс. елемент на масива
  37.     // макс. брой уловени покемони в ден. вж. 8.4 стр. 102, зад 1 г)
  38.     int max_Pok = Pokemons_for_day[1]; // приемаме че ел. 1 е максималния
  39.     for (int maxday = 2; maxday <= n; maxday++)
  40.     if (Pokemons_for_day[maxday] > max_Pok) // if 6.1 стр. 54, 5.5 стр. 42 за рел.оп.
  41.         max_Pok = Pokemons_for_day[maxday];
  42.    
  43.     // вече в max_Pok е стойността на най-големия брой уловени покемони
  44.     // трябва да намерим в кои дни е точно
  45.  
  46.     // извеждаме първо стойността
  47.     cout << "Naj-golemiq broj pokemoni e " << max_Pok << " i e v dnite: ";
  48.  
  49.     for (int day = 1; day <= n; day++)
  50.     if (Pokemons_for_day[day] == max_Pok) // при съвпадение извеждаме деня
  51.         cout << day << " ";
  52.  
  53.     // извеждаме нов ред, за да се затвори изброяването на дните
  54.     cout << endl;
  55.  
  56.     // намиране на сумата на броя покемони в дните с повече от 5
  57.     int broj_nad_5 = 0; // не забравяйте начална стойност 0 при сумиране/броене
  58.  
  59.     // обхождаме и търсим дните с > 5 покемона
  60.     for (int day = 1; day <= n; day++)
  61.     if (Pokemons_for_day[day] > 5) // при повече от 5 добавяме тия покемони към броя над 5
  62.         broj_nad_5 = broj_nad_5 + Pokemons_for_day[day];
  63.  
  64.     cout << "Sumata ot broq pokemoni v dnite s nad 5 e " << broj_nad_5 << endl;
  65.  
  66.     return 0;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement