Advertisement
HyperSensualNarwhal

Количество встреч числа в массиве

Jan 9th, 2017
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.51 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3.  
  4. using std::cout;
  5. using std::cin;
  6. using std::endl;
  7.  
  8. #define TAB '\t';
  9. #define E3 cout << endl << endl << endl                
  10.  
  11. void main()
  12. {
  13.     setlocale(0, "");
  14.     srand(time(NULL));
  15.  
  16.     const int sz = 10;
  17.  
  18.     int numeria[sz];
  19.  
  20.     // nmbr (от англ. number) - текущее число, tms (от англ. times) - количество его встреч (по умолчанию одна, потому что проверяемое число уже встречается как минимум один раз)
  21.     int nmbr, tms;                                                 
  22.  
  23.     // инициализация массива случайными числами и вывод его на экран
  24.     for (int i = 0; i < sz; ++i)
  25.         cout << (numeria[i] = rand() % 5) << TAB;
  26.    
  27.     E3;
  28.  
  29.     for (int i = 0; i < sz; ++i)
  30.     {
  31.         //сброс переменной tms до 1 при каждой новой итерации основного цикла
  32.         tms = 1;
  33.  
  34.         // вычисление количества встреч текущего числа
  35.         for (int j = i + 1; j < sz; ++j)
  36.         {
  37.             if (numeria[i] == numeria[j])
  38.             {
  39.                 nmbr = numeria[i];
  40.                 tms += 1;
  41.             }
  42.         }
  43.  
  44.         // исключение числа, если оно уже было использовано во избежании вторичного вывода
  45.         for (int j = i - 1; j >= 0; --j)                           
  46.             if (nmbr == numeria[j]) tms = 1;
  47.  
  48.         if (tms > 1) cout << "Количество встреч числа " << nmbr << " равно " << tms << endl;
  49.     }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement