Преобразовать массив, увеличив каждую его серию на один элемент - 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(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д