Преобразовать массив, увеличив каждую его серию на один элемент - C# (204603)

Узнай цену своей работы

Формулировка задачи:

Дан целочисленный массив размера N. Преобразовать массив, увеличив каждую его серию на один элемент. Серия – это группа подряд идущих одинаковых элементов, длина серии – количество этих элементов (длина серии может быть равна1). Помогите решить задачу, сам пытался, но чет не могу додуматься как сделать, подкиньте идей вот код
Console.Write("Введите количество элементов N: ");
            int N = int.Parse(Console.ReadLine());
            int[] mass = new int[N];
            int i;
            Console.WriteLine("Исходный массив");
            for (i = 0; i < N; i++)
            {
                Console.Write("A[{0}]= ", i + 1);
                mass[i] = int.Parse(Console.ReadLine());
            }
            Console.WriteLine();
            int count = 0 ;
            for (i = 0; i < N -1  ; i++)
            {
                if (mass[i] == mass[i + 1]) count++;

            for (i = 0; i < mass.Length; i++)
            {
                Console.Write(mass[i] + "  ");
            }
            Console.ReadKey();

Решение задачи: «Преобразовать массив, увеличив каждую его серию на один элемент»

textual
Листинг программы
        static void Main(string[] args)
        {
        
        Console.Write("Введите количество элементов N: ");
            int N = int.Parse(Console.ReadLine());
            int[] mass = new int[N];
            int i;
            
            Console.WriteLine("Исходный массив");
            for (i = 0; i < N; i++)
            {
                Console.Write("A[{0}]= ", i + 1); mass[i] = int.Parse(Console.ReadLine());
            }
            Console.WriteLine();
            
            int[] rezaltmass = new int[N * 2];
            int ofset = 0;
 
            
            for (i = 0; i < N - 1; i++)
            {
                rezaltmass[i + ofset] = mass[i];
                if (mass[i] != mass[i + 1]) { ofset++; rezaltmass[i + ofset] = mass[i]; }
 
            }
            rezaltmass[i + ofset] = mass[i];
            ofset++;  rezaltmass[i + ofset] = mass[i];
 
            ofset = i + ofset;
 
 
 
            for (i = 0; i <= ofset; i++)
            {
                Console.Write(rezaltmass[i]);
            }
 
            Console.ReadKey();
        
        
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы