Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 77
1

Для одномерного целочисленного массива вычислить количество разных элементов

27.02.2018, 11:36. Показов 1802. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Составить программу, которая для одномерного целочисленного массива вычисляет количество различных чисел в нем.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.02.2018, 11:36
Ответы с готовыми решениями:

Для одномерного целочисленного массива найти количество и процентное соотношение отрицательных элементов
Люди добрые, помогите! Для одномерного целочисленного массива из 10 элементов найти количество и...

Вычислить значения 42 элементов одномерного целочисленного массива
Вычислить значения 42 элементов одномерного целочисленного массива Y в интервале (-10, 6) с...

Вычислить значения 36 элементов одномерного целочисленного массива
программу записал, но нужно проверить, есть ошибка в нахождении максимального значения ...

Вычислить значения элементов одномерного целочисленного массива Y в интервале (-8 ,8)
Люди добрые, помогите пожалуйста решить это задание. Прошу многого, конечно, но всё же попытка не...

2
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12459 / 7483 / 1754
Регистрация: 25.07.2009
Сообщений: 13,762
27.02.2018, 16:46 2
Лучший ответ Сообщение было отмечено артем36 как решение

Решение

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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <assert.h>
#include <glib.h>
 
#define bounded_rand(minVal, maxVal) ( rand() % ((maxVal) - (minVal) + 1) + (minVal))
#define MIN_VAL (0)
#define MAX_VAL (10)
 
void dump_array(const int * array, size_t size) {
    while ( size-- )
        printf("%2d%c", *array++, ( size ) ? ' ' : '\n');
}
 
void fill_array(int * array, size_t size) {
    while ( size-- )
        *array++ = bounded_rand(MIN_VAL, MAX_VAL);
}
 
size_t diff_elements(const int * array, size_t size) {
    unsigned cnt;
 
    GHashTable * set = g_hash_table_new(g_direct_hash, g_direct_equal);
    while ( size-- )
        g_hash_table_add(set, GINT_TO_POINTER(*array++));
    cnt = g_hash_table_size(set);
    g_hash_table_destroy(set);
 
    return (size_t)cnt;
}
 
int main(void) {
    int * array;
    size_t size;
 
    printf("Array size: ");
    if ( scanf("%zu", &size) != 1 || ! size ) {
        fprintf(stderr, "Wrong input!\n");
        return 1;
    }
 
    array = malloc(sizeof(int) * size);
    assert(array);
    fill_array(array, size);
    printf("Array:\n");
    dump_array(array, size);
    printf("%zu different elements.\n", diff_elements(array, size));
 
    free(array);
 
    return 0;
}
Код
[andrew@andrew Array2Set]$ gcc -std=c99 -Wall main.c \
> $(pkg-config --cflags --libs glib-2.0)
[andrew@andrew Array2Set]$ ./a.out 
Array size: 10
Array:
 6 10  6  2  1  4  0  6  3  1
7 different elements.
[andrew@andrew Array2Set]$
0
307 / 288 / 116
Регистрация: 23.01.2018
Сообщений: 933
28.02.2018, 14:42 3
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define N 20
 
int cmp(const void* a, const void* b)
{
    return *(int*)a < *(int*)b ? -1 : 1;
}
 
int main(void)
{
    srand(time(NULL));
    int arr[N];
    int i;
    for (i = 0; i < N; ++i) {
        printf("%d%c", arr[i] = rand() % 10, i == N - 1 ? '\n' : ' ');
    }
    qsort(arr, N, sizeof(int), cmp);
    int diff = 0;
    for (i = 0; i < N; ++i) {
        if (i == 0 || arr[i] != arr[i - 1]) diff++;
    }
    printf("Diff: %d\n", diff);
    return 0;
}
0
28.02.2018, 14:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.02.2018, 14:42
Помогаю со студенческими работами здесь

Вычислить значения 39 элементов одномерного целочисленного массива F в заданном интервале
можете помочь доделать остальные пункты? сделал первый пункт 1) вычислить значения 39 элементов...

Вычислить значения 39 элементов одномерного целочисленного массива V в заданном интервале
помогите пожалуйста,очень надо! 1. Вычислить значения 39 элементов одномерного целочисленного...

Вычислить значения 36 элементов одномерного целочисленного массива Т в заданном интервале
Здравствуйте! Нужно срочно решить задачи: I.Дана задача состоящая из 4 частей: 1)Вычислить...

Вычислить значения 31 элементов одномерного целочисленного массива F в интервале (-9,6) с использованием ГСЧ
Помогите пожалуйста с задачей завтра защита курсовой а в этой теме не чего понять не могу ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru