Задать вопрос
14 апреля, 22:52

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

Язык Си. Хотя бы алгоритм

+2
Ответы (1)
  1. 15 апреля, 02:50
    0
    Например, так: явно подсчитать кол-во, "загубив" повторяющиеся числа:

    int count_unique (int * a, int n) {

    int * ind = malloc (n * sizeof (int)) ;

    int i, j, count = 0;

    for (i = 0; i < n; i++)

    ind[i] = 1;

    for (i = 0; i < n; i++)

    for (j = i + 1; j < n; j++)

    if (a[i] = = a[j]) ind[j] = 0;

    for (i = 0; i < n; i++)

    count + = ind[i];

    free (ind) ;

    return count;

    }

    или: отсортировать массив, а дальше по нему один раз пройтись.

    или: составить двусвязный список из элементов массива, а потом удалить повторяющиеся так же, как и в первом варианте.

    и т. д ...
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Написать программу, которая определяет, сколько различных чисел находится в массиве Язык Си. Хотя бы алгоритм ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы