Дана последовательность целых чисел. Найти количество различных чисел в этой последовательности - C (СИ)
Формулировка задачи:
Решение задачи: «Дана последовательность целых чисел. Найти количество различных чисел в этой последовательности»
#include <stdio.h> //----------------------------------------------------------------------------- int cnt(const int arr[], const unsigned size) { unsigned i, j, count = 0; for (i = 0; i < size; ++i) { for (j = i + 1; (j < size) && (arr[i] != arr[j]); ++j) { ; } if (j == size) { count++; } } return count; } //----------------------------------------------------------------------------- int main() { int arr[] = {1, 5, 3, 3, 5, 1, 2, 3, 4, 3}; printf("%d\n", cnt(arr + 0, 10)); printf("%d\n", cnt(arr + 3, 7)); printf("%d\n", cnt(arr + 5, 5)); printf("%d\n", cnt(arr + 7, 3)); return 0; }
Объяснение кода листинга программы
В данном коде представлен функция cnt
, которая принимает два аргумента: массив целых чисел и размер этого массива. Внутри функции создаются две переменные i
и j
, которые используются для прохода по элементам массива. Переменная count
инициализируется нулем и используется для подсчета количества уникальных чисел в массиве.
В первой части кода, которая находится внутри функции cnt
, происходит проход по всем элементам массива. Для каждого элемента arr[i]
происходит проход по всем последующим элементам массива arr[j]
. Если arr[i]
равно arr[j]
, то это означает, что текущий элемент уже встречался ранее, и его можно пропустить. Если arr[i]
не равно arr[j]
, то это означает, что текущий элемент является уникальным, и его можно добавить к общему количеству count
.
Во второй части кода, которая находится в функции main
, создается массив arr
с десятью элементами. Затем функция cnt
вызывается три раза с разными аргументами. Первый вызов функции cnt
происходит с массивом arr + 0
и размером 10. Это означает, что функция cnt
будет считать количество уникальных чисел в массиве arr
. Второй вызов функции cnt
происходит с массивом arr + 3
и размером 7. Это означает, что функция cnt
будет считать количество уникальных чисел в массиве arr
, начиная с четвертого элемента (так как индексы в C начинаются с нуля). Третий вызов функции cnt
происходит с массивом arr + 5
и размером 5. Это означает, что функция cnt
будет считать количество уникальных чисел в массиве arr
, начиная с шестого элемента. Четвертый вызов функции cnt
происходит с массивом arr + 7
и размером 3. Это означает, что функция cnt
будет считать количество уникальных чисел в массиве arr
, начиная с восьмого элемента.
В конце кода функция main
возвращает 0, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д