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

Превратить массив целых чисел размерности N, удалив из массива все серии, длина которых больше k - C++

Восстановить пароль Регистрация
 
Inn@
0 / 0 / 0
Регистрация: 17.03.2014
Сообщений: 6
18.03.2014, 00:14     Превратить массив целых чисел размерности N, удалив из массива все серии, длина которых больше k #1
Помогите плиз
Превратить массив целых чисел размерности N, удалив из массива все серии, длина которых больше k.
Вроде написала программу, но элементы не удаляет.

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
#include <stdio.h>
#include <conio.h>
#include<stdlib.h>
const int N = 100;
int main()
{
    int a[N], n, i, j, k, p, s, q;
    printf("vvedite razmer:\n");
    scanf_s("%d", &n);
    printf("Vvedine elementi massiva\n");
    for (i = 0; i < n; i++)// создаем массив
    {
        scanf_s("%d", &a[i]);
    }
    printf("vvedite dliny serii\n k=");
    scanf_s("%d", &k);// задаем длинну серии
    for (i = 1; i < n;)
    {
        if (a[i] == a[i - 1])//если есть одинковые элементы
        {
            j = i;//начало
            s = 1;//длинна серии 1
            p = i - 1;// начало на 1 раньше
            while ((j <= n) && (a[j] == a[j - 1]))//пока серия и не конец списка  vmesto j -- peremenuu druguu
            {
                s++;
                j++;
            }
            if (s > k)//если серия больше k
                     for (j = 1; j < s; j++)
        {
        for (q = p; q < (n - 1); q++, n--)//сдвигаем массив влево на начало серии  и уменьшаем массив
        a[q] = a[q + 1];
 
        }
        }
        else i = i + s;//перешагиваем через серию
        }
        else i = i + 1;//если нет серии, то идем  вперед
        
        if (n == 0)
            printf("vse ydaleno");
        else
        {
            printf("massiv");
            for (i = 1; i < n; i++)
                printf("%d ", a[i]);
        }
        _getch();
        return 0;
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2014, 00:14     Превратить массив целых чисел размерности N, удалив из массива все серии, длина которых больше k
Посмотрите здесь:

Составьте программу, которая выводит индексы тех элементов массива (состоящего из В целых чисел), значение которых больше заданного числа А C++
C++ Сжать массив, удалив из него все элементы, модуль которых находится в интервале [a, b]. освободившиеся в конце массива элементы заполнить нулями.
Сжать массив, удалив из него все элементы, модуль которых не превышает 1. C++
C++ Дан целочисленный массив размера N. Сжать массив, удалив из него все элементы, модуль которых не превышает 1
Дан целочисленный массив размера N. Сжать массив, удалив из него все элементы, модуль которых не превышает 1 C++
В массиве целых чисел из 20 элементов найти все элементы, значение которых больше среднего арифметического массива C++
задан текст. удалить из нее все слова, длина которых четная (создать новый массив, оставив все слова, длина которых нечетная) C++
Сжать массив, удалив из него все элементы, модуль которых находится в интервале [a,b]. Освободившиеся в конце массива элементы заполнить нулями C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fene4ka_
84 / 84 / 16
Регистрация: 24.01.2014
Сообщений: 1,142
18.03.2014, 02:45     Превратить массив целых чисел размерности N, удалив из массива все серии, длина которых больше k #2
Inn@,

Не по теме:

для того, чтобы не создавать константы, которые предназначены для размера массива, просто создайте динамический массив

Yandex
Объявления
18.03.2014, 02:45     Превратить массив целых чисел размерности N, удалив из массива все серии, длина которых больше k
Ответ Создать тему
Опции темы

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