Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <clocale>
- #include <conio.h>
- #include <ctime>
- // Функция для инициализации массива случайными числами от 1 до 10
- void InitArray(int* Array, int n) {
- for (int i = 0; i < n; i++) {
- Array[i] = rand() % 10;
- }
- }
- /* Функция для печати массива на экран. start - позиция, с которой начинаем печатать,
- length - количество выводимых элементов, начиная с элемента start */
- void PrintArray(int Array[], int start, int length) {
- for (int i = start; i <= length + start - 1; i++) {
- std::cout << Array[i] << "\t";
- }
- std::cout << std::endl;
- }
- int FindZeros(int* Array, int* &Zeros, int n) {
- int Counter = 0;
- for (int i = 0; i < n; i++) {
- if (Array[i] == 0) {
- Zeros[Counter] = i;
- Counter++;
- }
- }
- return Counter;
- }
- int main() {
- setlocale(LC_ALL, "Russian");
- srand(time(0));
- int n;
- char Choice[16];
- strcpy_s(Choice, 16, "Yes");
- while (strcmp(Choice, "Yes") == 0) {
- std::cout << "Введите количество элементов в массиве: ";
- std::cin >> n;
- int * Array = new int[n];
- InitArray(Array, n);
- std::cout << "Исходный массив: " << std::endl;
- PrintArray(Array, 0, n);
- int* Zeros = new int[100];
- int* Counter = new int(FindZeros(Array, Zeros, n));
- std::cout << "Позиции нулей в исходном массиве: " << std::endl;
- PrintArray(Zeros, 0, *Counter);
- delete[] Array;
- delete[] Zeros;
- delete Counter;
- std::cout << "Еще раз? (Yes / No): ";
- getchar();
- gets_s(Choice, 16);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement