Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 03.10.2017
Сообщений: 11

Написать функцию, которая удаляет из списка элементы, входящие в него только один раз

10.10.2017, 09:53. Показов 2519. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать функцию, которая удаляет из списка элементы, входящие в него только один раз.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.10.2017, 09:53
Ответы с готовыми решениями:

Определить функцию , удаляющую из списка все элементы, входящие в список ровно один раз
Здравствуйте!!!!Помогите,пожалуйста решить задачу.Трудновато с Лиспом((( 1)Определить функцию , удаляющую из списка все элементы,...

Написать функцию, которая удаляет из списка элементы
Помогите, пожалуйста, создать функцию (REMOVE EL LST), которая из списка LST удаляет все элементы, совпадающие с EL. Рассмотреть...

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

1
 Аватар для Геомеханик
838 / 641 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
10.10.2017, 13:27
Лучший ответ Сообщение было отмечено Щеблучеллооооо как решение

Решение

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
#include <stdio.h>
#include <malloc.h>
 
typedef struct node {
    struct node* next;
    int val;
} slist;
void slist_copy(slist** ls, const int a[], unsigned n);
void slist_remove_unique(slist** ls);
void slist_print(FILE* _out, const slist* ls);
void slist_clear(slist* ls);
 
int main(void){
    int    a[] = { -7, 90, 1, 2, 3, 4, 5, 6, 7, 2, 8, 1, 9, 2, 0 };
    slist* ls  = NULL;
 
    slist_copy(&ls, a, sizeof(a)/sizeof(a[0]));
    slist_print(stdout, ls);
    slist_remove_unique(&ls);
    slist_print(stdout, ls);
    slist_clear(ls);
    getchar();
    return 0;
}
 
//удаление уникальных элементов за O(n^2), по простому без сортировки
void slist_remove_unique(slist** ls){
    int    m;
    slist* i, *a = *ls, *b = *ls;
    while(b != NULL){
        for(m = 0, i = *ls; i != NULL; i = i->next){
            if(i->val == b->val){
                if(++m > 1)
                    break;
            }
        }
 
        if(i == NULL){
            if(b == *ls)
                a = i = *ls = (*ls)->next;
            else
                i = a->next = b->next;
            free(b);
            b = i;
        } else {
            a = b;
            b = b->next;
        }
    }
}
 
//копирование массива
void slist_copy(slist** ls, const int a[], unsigned n){
    unsigned i;
    slist*   p, *t = NULL;
    for(*ls = NULL, i = 0; i < n; ++i){
        if((p = (slist*)malloc(sizeof(slist))) == NULL)
            break;
 
        p->val  = a[i];
        p->next = NULL;
        if(t == NULL)
            t = *ls = p;
        else 
            t = t->next = p;
    }
}
 
//печать
void slist_print(FILE* _out, const slist* ls){
    for(; ls != NULL; ls = ls->next)
        fprintf(_out, "%d ", ls->val);
    fputc('\n', _out);
}
 
//удаление всех
void slist_clear(slist* ls){
    slist* t;
    while(ls != NULL){
        t  = ls;
        ls = ls->next;
        free(t);
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.10.2017, 13:27
Помогаю со студенческими работами здесь

Описать функцию, которая удаляет все минимальные элементы из списка
Помогите пожалуйста. Я студент второго курса. (Не программист ни разу &gt;.&lt;&quot;) Мне нужна помощь в написании программы. Завтра уже нужно...

Описать процедуру и функцию которая, удаляет из списка L за каждым вхождением элемента Е один элем если такой есть, и он отличен от Е
помогите пожалуйста очень нужно

Описать процедуру и функцию которая, удаляет из списка L за каждым вхождением элемента Е один элем если такой есть, и он отличен от Е
помогите пожалуйста очень нужно я в С++ очень плохо разбираюсь

Сжать массив, удалив из него все элементы, которые встречаются только один раз
Дан одномерный массив целых чисел, в котором элементы могут повторяться, сжать массив, удалив из него все элементы, которые встречаются...

Написать функцию, которая из списка образует два новых списка. Один содержит нечетные числа, а второй - парные
Помогите закончить одно из заданий по работе со списком: Написать функцию, которая использует первоначальный список L и образует два...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru