Advertisement
gasaichan

Lab5_Var15

Nov 12th, 2017
354
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.70 KB | None | 0 0
  1. #include <iostream>
  2. #include <clocale>
  3. #include <conio.h>
  4. #include <ctime>
  5.  
  6. // Функция для инициализации массива случайными числами от 1 до 10
  7. void InitArray(int* Array, int n) {
  8.     for (int i = 0; i < n; i++) {
  9.         Array[i] = rand() % 10;
  10.     }
  11. }
  12.  
  13. /* Функция для печати массива на экран. start - позиция, с которой начинаем печатать,
  14. length - количество выводимых элементов, начиная с элемента start */
  15. void PrintArray(int Array[], int start, int length) {
  16.     for (int i = start; i <= length + start - 1; i++) {
  17.         std::cout << Array[i] << "\t";
  18.     }
  19.     std::cout << std::endl;
  20. }
  21.  
  22. int FindZeros(int* Array, int* &Zeros, int n) {
  23.     int Counter = 0;
  24.     for (int i = 0; i < n; i++) {
  25.         if (Array[i] == 0) {
  26.             Zeros[Counter] = i;
  27.             Counter++;
  28.         }
  29.     }
  30.     return Counter;
  31. }
  32.  
  33. int main() {
  34.     setlocale(LC_ALL, "Russian");
  35.     srand(time(0));
  36.  
  37.     int n;
  38.  
  39.     char Choice[16];
  40.     strcpy_s(Choice, 16, "Yes");
  41.     while (strcmp(Choice, "Yes") == 0) {
  42.         std::cout << "Введите количество элементов в массиве: ";
  43.         std::cin >> n;
  44.         int * Array = new int[n];
  45.  
  46.         InitArray(Array, n);
  47.         std::cout << "Исходный массив: " << std::endl;
  48.         PrintArray(Array, 0, n);
  49.  
  50.         int* Zeros = new int[100];
  51.         int* Counter = new int(FindZeros(Array, Zeros, n));
  52.         std::cout << "Позиции нулей в исходном массиве: " << std::endl;
  53.         PrintArray(Zeros, 0, *Counter);
  54.  
  55.         delete[] Array;
  56.         delete[] Zeros;
  57.         delete Counter;
  58.         std::cout << "Еще раз? (Yes / No): ";
  59.         getchar();
  60.         gets_s(Choice, 16);
  61.     }
  62.  
  63.     return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement