Форум программистов, компьютерный форум CyberForum.ru

Поменять местами серию с минимальной длиной с последней серией в массиве - C++

Восстановить пароль Регистрация
 
Artishok
ЧакЭ одобряЭ
 Аватар для Artishok
277 / 276 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
02.11.2010, 23:52     Поменять местами серию с минимальной длиной с последней серией в массиве #1
Задан целочисленный массив размера N. Поменять местами серию с
минимальной длиной с последней серией в массиве. Если минимальных
серий несколько, то только первую из них.

(прога не закончена.сам закончу потом)

не выводит последнюю серию элементов

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
#include <iostream>
 
int main()
{
    int n;
    cout<<"Size of array"<<endl;
    cin>>n;
    
    int a[n];
    cout<<"Insert elements into array"<<endl;
    for(int i=0;i<n;i++)
    cin>>a[i];
    
    int min=n;
    int k=0,number=0;
    int i=1,j=0;
    while(i<=n-1)
    {
     if (a[i]==a[i-1])
     {
        k=1;j=i;
        while(a[j]==a[j-1]&&j<=(n-1))
        {
            j+=1;
            k+=1;
        }
        if(k<min&&k>=2)
        {
            min=k;
            number=i-1;
        }
        i+=k;
     }
     else
     i++;
    }
    
    k=0;
    //ïðîâåðêГ* Г*Г* ìèГ*ГЁГ¬Г*ëüГ*ГіГѕ ïîñëåäîâГ*òåëüГ*îñòü
    cout<<"Min series"<<endl;
    for(int i=number;i<min;i++)
    cout<<a[i]<<" ";
    
    cout<<endl;
    
    i=(n-1);
    while(i>=0)
    {
     if (a[i]==a[i-1])
     {
        k=1;j=i;
        while(a[j]==a[j-1]&&j>=0)
        {
            j-=1;
            k+=1;
        }
        if(k>=2)
        {
            number=i;
        }
        break;
     }
     else
     --i;
    };
    
    //äëèГ*Г* ïåðâîé ïîñëåäîâГ*òåëüГ*îñòè --min Г* âòîðîé--k
    
    //ïðîâåðêГ* Г*Г* ïîñëåäîâГ*òåëüГ*îñòü
    cout<<"Min last series"<<endl;
    for(int i=number-k;k<number;i++)
    cout<<a[i]<<" ";
    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2010, 23:52     Поменять местами серию с минимальной длиной с последней серией в массиве
Посмотрите здесь:

Определить в предложении слова максимальной и минимальной длины и поменять их местами. C C++
C++ Поменять местами слово максимальной и минимальной длины.
C++ Массив: В таблице поменять местами элементы первой и последней строки
Найти в строках максимальную серию последовательности одинаковых элементов с минимальной длиной C++
Поменять местами две средние строки матрицы с первой и последней C++
C++ Поменять в массиве первую и последнею максимальную серию
Функция: в трехзначном числе поменять местами первую с последней цифрой C++
В предложении поменять местами слова с максимальной и минимальной длинами C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 12:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru