0 / 0 / 0
Регистрация: 27.12.2016
Сообщений: 29
1

Удаление строк, в которых 3 или более подряд идущих одинаковых элементов

27.09.2017, 19:14. Показов 1471. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задана матрица размером NxM. Удалить те строки, в которых встречается 3 или более подряд идущих одинаковых элементов.
Надо найти одинаковые элементы и удалить строки. Я сделала нахождение элементов, но ищет строку, в которой элементы встречаются не более двух раз, а как сделать так, как мне нужно не знаю, помогите.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.09.2017, 19:14
Ответы с готовыми решениями:

Все группы элементов, содержащие более 3х подряд идущих отрицательных элементов, заменить на максимальный элемент
В одномерном массиве A=(a1, a2, ..., an) все группы элементов, содержащие более 3х подряд идущих...

Удалить из каждой группы подряд идущих одинаковых элементов все, кроме одного
Работа со списками: в списке целых чисел удалить из каждой группы подряд идущих одинаковых...

Вставить перед каждой серией (группой подряд идущих одинаковых элементов) минимальный элемент массива
Дан массив состоящий из n элементов. Назовем серией группу подряд идущих, одинаковых элементов, а ...

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

2
Диссидент
Эксперт C
27497 / 17185 / 3784
Регистрация: 24.12.2010
Сообщений: 38,706
27.09.2017, 21:57 2
Цитата Сообщение от Mastoris Посмотреть сообщение
Я сделала
У нас это положено показывать.
0
837 / 640 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
28.09.2017, 11:00 3
Лучший ответ Сообщение было отмечено Mastoris как решение

Решение

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
#include <stdio.h>
#include <memory.h>
#define N  5
#define M  4
 
int is_rep3(const int arr[], int n){
    int i, j = 0;
    for(i = 0; i < n; ++i){
        j = i;
        while((j < n) && (arr[j] == arr[i]))
            ++j;
        if((j - i) >= 3)
            return 1;
    }
    return 0;
}
 
int main(void){
    int i, j, n, m;
    int mat[N][M] = {
        { 1, 1, 1, 1 },
        { 9, 8, 8, 9 },
        { 4, 5, 5, 5 },
        { 4, 2, 4, 4 },
        { 7, 7, 7, 7 }
    };
    n = N;
    m = M;
 
    //удаление строк
    for(i = 0; i < n; ++i){
        if(is_rep3(mat[i], m))
            break;
    }
 
    for(j = i; i < n; ++i){
        if(!is_rep3(mat[i], m))
            memcpy(mat[j++], mat[i], (size_t)m * sizeof(int));
    }
    n = j;
 
    //вывод
    for(i = 0; i < n; ++i){
        for(j = 0; j < m; ++j)
            printf("%d ", mat[i][j]);
        putchar('\n');
    }
    getchar();
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.09.2017, 11:00
Помогаю со студенческими работами здесь

Найти количество групп подряд идущих одинаковых символов
Дана таблица содержащая группы одинаковых подряд идущих чисел. Вывести на экран &quot;число-кол-во...

Найти в тексте наибольшее количество идущих подряд одинаковых символов
дан текст найти наибольшее количество идущих подряд одинаковых символов

Найти в файле наиболее длинную последовательность из подряд идущих одинаковых символом
Найти в файле наиболее длинную последовательность из подряд идущих одинаковых символом. Вывести...

Если в одномерном массиве имеются три подряд идущих одинаковых элемента, то переменной R присвоить значение 1
1)Если в одномерном массиве имеются три подряд идущих одинаковых элемента,то переменной R присвоить...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru