Дан массив С1, С2, …, С24. В массиве есть два элемента равные 0. Заменить все элементы,...

0 голосов
81 просмотров

Дан массив С1, С2, …, С24. В массиве есть два элемента равные 0. Заменить все элементы, стоящие между ними, на единицы


Информатика (15 баллов) | 81 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication4
{
    class Program
    {
        // Дан массив С1, С2, …, С24. В массиве есть два элемента равные 0. Заменить все элементы, стоящие между ними, на единицы
        static void Main(string[] args)
        {
            const int n = 24; // Размер массива
            int[] С = new int[n]; // Создали массив
            for (int i = 0; i < n; i++) // Вводим элементы массива
            {
                С[i] = int.Parse(Console.ReadLine());
            }

            bool check = false; // Индикатор замены (пока что выключен)

            for (int i = 0; i < n; i++) // Цикл для выполнения замены
            {
                if (С[i] == 0) // Если проверемый элемент нулевой, то переулючить индикатор замены и закончить текущую иттерацию
                {
                    check = !check;
                    continue;
                }
                if (check == true) // Если индикатор замены включен, то заменяем текущий элемент
                    С[i] = 1;
            }

            for (int i = 0; i < n; i++) // Выводим элементы массива
            {
                Console.WriteLine(С[i]);
            }

            Console.ReadKey(); // Ждем нажатия клавиши
        }
    }
}

(3.5k баллов)