Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C (СИ) Функция с переменным числом параметров ошибка https://www.cyberforum.ru/ c-beginners/ thread1633727.html
Есть функция с переменным числом параметров, которая вставляет 0 в след параметр если не вписать то что записано в комментарии(p++). Почему между параметрами появляется этот 0? #include<stdio.h> ...
C (СИ) Поиск кратчайшего пути между заданными веринами матрицы
Здравствуйте уважаемые форумчане, возникла проблема при написании программы для решения следующей задачи: Найти кратчайшее расстояние между двумя вершинами в графе. Найти все возможные пути между...
Определить произведение элементов в тех строках, которые не содержат отрицательных элементов C (СИ)
Выделив под массив динамически память. Обращаться к элементам массива необходимо используя указатель: Дана целочисленная квадратная матрица. Определить произведение элементов в тех строках,...
C (СИ) Написать код через рекурсивную функцию #include <stdio.h> #include <stdlib.h> main(){ int i,l,n,p,z,s,t,k,f, *a; printf("write number"); if(scanf("%d",&n)!=1){ puts("wrong"); return(0); }... https://www.cyberforum.ru/ c-beginners/ thread1633483.html
C (СИ) Вычислить количество положительных элементов массива https://www.cyberforum.ru/ c-beginners/ thread1633478.html
выделив под массив динамически память. Обращаться к элементам массива необходимо используя указатель: В одномерном массиве, состоящем из к целых элементов, вычислить: - количество положительных...
C (СИ) Сделать ввод
Здравствуйте. Не знаю как сделать ввод данных на Си, а именно для данной задачи. Я раньше писал задачки, но там перед подачей основных входных данных предоставляли n, то есть сколько их всего будет....
C (СИ) Может ли printf выводить разные данные по одному адресу?
Здравствуйте, программеры. Не первый год программирую, но отчаялся уже, топчусь второй день на одном месте и ничего не могу понять... Проблема в том, что printf выводит разные данные по одному...
C (СИ) Структура стандартной библиотеки У меня возник вопрос по теме того, что чем является. Допустим, такой пример: В википедии написано, что функция fopen является частью стандартной библиотеки. Но fopen во всех просмотренных мной... https://www.cyberforum.ru/ c-beginners/ thread1633177.html
C (СИ) Переход на новую форму через DBGrid (дипломный проект) https://www.cyberforum.ru/ c-beginners/ thread1633104.html
Доброго времени суток господа,знаю что есть похожая тема но у меня не много другая проблема - есть БД созданная при помощи SQL сервера 2008 и данные отображаются в DBGrid и есть столбец...
C (СИ) Клиент/Сервер - передача текста любой длины Нужно, чтобы сервер посчитал количество символов в строке. Допустим, сервер принял строку, посчитал количество символов, как теперь послать клиенту именно количество символов? У меня получается... https://www.cyberforum.ru/ c-beginners/ thread1633010.html
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10910 / 6836 / 1625
Регистрация: 25.07.2009
Сообщений: 12,540
08.01.2016, 01:58 0

Получить все числа, которые входят в последовательность по одному разу

08.01.2016, 01:58. Просмотров 1364. Ответов 1
Метки (Все метки)

Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
#include <stdio.h>
#include <glib.h>
 
int keycmp(const void * a, const void * b) {
    return GPOINTER_TO_INT(a) - GPOINTER_TO_INT(b);
}
 
gboolean print_unique(gpointer key, gpointer value, gpointer data) {
    if ( GPOINTER_TO_INT(value) == 1 ) {
        printf("%d\n", GPOINTER_TO_INT(key));
        *(int*)data += 1;
    }
    
    return FALSE;
}
 
int main(void) {
    int n, v;
    
    while ( printf("Elements in sequence: ") && scanf("%d", &n) == 1 && n > 0 ) {
        GTree * tree = g_tree_new(keycmp);
        
        for ( ; n && scanf("%d", &v) == 1; --n )
            g_tree_insert(tree, GINT_TO_POINTER(v), GINT_TO_POINTER(GPOINTER_TO_INT(g_tree_lookup(tree, GINT_TO_POINTER(v)) + 1)));
        
        if ( n ) {
            fprintf(stderr, "Input error!\n");
            return 1;
        }
        
        printf("----------------------------------------\n");
        g_tree_foreach(tree, print_unique, &n);
        printf("%d unique value(s).\n", n);
        
        g_tree_destroy(tree);
    }
    
    return 0;
}
Код
~/cpp/glib $ gcc unique_in_sequence.c `pkg-config --cflags --libs glib-2.0`
~/cpp/glib $ ./a.out 
Elements in sequence: 5
2 3 3 5 2
----------------------------------------
5
1 unique value(s).


Вернуться к обсуждению:
Получить все числа, которые входят в последовательность по одному разу
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.01.2016, 01:58
Готовые ответы и решения:

Получить все числа которые входят в последовательность по одному разу
помогите написать программу даны целые числа A1..........An. получить все числа которые входят в...

Получить все числа, которые входят в последовательность по одному разу
Люди,пожалуйста,помогите решить задачу.я в VBA полный ноль,экзамены и сессия на носу,нужно рещить...

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

Получить все числа, которые входят в последовательность по одному разу
Даны целые числа а1,а2...а15 ( могут быть повторяющиеся члены). Получить все числа, которые входят...

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