Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
1 / 1 / 0
Регистрация: 04.05.2015
Сообщений: 42
1

Преобразовать массив, увеличив все его серии наибольшей длины на один элемент

20.10.2015, 22:04. Просмотров 344. Ответов 0
Метки нет (Все метки)


Ребят помогите с таким задании:
Дан целочисленный массив размера N. Преобразовать массив,увеличив все его серии наибольшей длины на один элемент.Серия - это группа подряд идущих одинаковых элементов,длина серии — коли-чество этих элементов.
Как преоброзовать мой код что бы если все серии длиной 1 тоже увеличивались на один елемент. Без использования List

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
int kol=1; //количество наибольших серий
            int n = 1,l=1; //длина серии
            int j = 0; //индекс массива индексов
 
            Console.Write("Введите количество элементов N: ");
            int N = int.Parse(Console.ReadLine());
            int[] mass = new int[N];
            
            
 
            Console.WriteLine("Исходный массив:");
            for (int i = 0; i < N; i++)
            {
                Console.Write("A[{0}]:= ", i + 1);
                mass[i] = int.Parse(Console.ReadLine());
            }
 
            for (int i=0; i<N-1; i++)
            {
                
 
                if (mass[i] == mass[i + 1])
                {
                    l++;
                    if (l == n)
                    {
                        kol++; 
                       
                    }
                    else if (l > n) 
                    { 
                        n = l; 
                        kol = 1; 
                    }
                }
                else
                {
 
                    l = 1;
                }
            }
 
            
            int[] mass_in = new int[kol];
           
            int p=1;
 
            
               for (int i = 0; i < mass.Length-1; i++)
                {
                    if (mass[i] == mass[i + 1])
                    {
                        p++;
                        if (p == n)
                        {
                            mass_in[j] = i - p + 2;
                            
                            if (j < kol - 1) j++;
                            p = 1;
                        }
                    }
                    
                    else 
                        p = 1; 
                }
               j = -1;
               int x = 1;
               int buf;
               int k = 0;
               
               for (int q = 0; q <kol;q++ )
               {
                   if (j < mass_in.Length) j++;
                   buf = mass[mass_in[j]+k];
                   Array.Resize(ref mass, N+1);
                   for (int i = N; i > mass_in[j] + k; i--)
                   {
                       mass[i] = mass[i - 1];
 
                   }
                   mass[mass_in[j]+n-1] = buf;
                   N += 1;
                   k++;
                   
               }
 
                for (int i = 0; i < mass.Length; i++)
                {
                    Console.WriteLine(mass[i]);
                }
                Console.ReadKey();
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.10.2015, 22:04
Ответы с готовыми решениями:

Преобразовать массив, увеличив все его серии наибольшей длины на один элемент
У меня вот такое задание: Дан целочисленный массив размера N. Преобразовать массив,увеличив все...

Преобразовать массив, увеличив все его серии наибольшей длины на один элемент
Дан целочисленный массив размера N. Преобразовать массив, увеличив все его серии наибольшей длины...

Преобразовать массив, увеличив его первую серию наибольшей длины на один элемент
дан целочисленный массив размера N. Преобразовать массив, увеличив его первую серию наибольшей...

Преобразовать массив, увеличив его первую серию наибольшей длины на один элемент
Всем доброго времени суток! Дали в инсте задания сделал все кроме этих. Помогите с их решением,...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.10.2015, 22:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Преобразовать массив, увеличив его последнюю серию наибольшей длины на один элемент
Дан целочисленный массив размера N. Преобразовать массив, увеличив его последнюю серию наибольшей...

Преобразовать массив, увеличив первую/последнюю/все серии наибольшей длины на один элемент
Вот задача Дан целочисленный массив размера N. Преобразовать массив, увеличив...

Преобразовать массив увеличив серии одинаковых элементов наибольшей длины на один элемент
Всем привет! Задача звучит следующим образом: Дан массив, состоящий из n элементов. Назовем серией...

Преобразовать массив, увеличив первую1|последнюю2|все3 серии наибольшей длины на один элемент
Дан целочисленный массив размера N. Преобразовать массив, увеличив первую1|последнюю2|все3 серии...

Переобразовать массив, увеличив все его серии наибольшей длинны на один элемент
Помогите пожалуйста... Дан целочисленный массив размера n. Переобразовать массив, увеличив все...

Преобразовать массив, увеличив его первую серию наибольшей длины на один элемент
Ребятки, кому не сложно выручите с задачкой) Дан целочисленный массив размера N. Преобразовать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.