На базе динамического массива выделить другой, в котором будут неповторяющиеся чётные числа - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Ребят, помогайте пожалуйста) Дан динамический массив, выделить другой, в котором будут не повторяющиеся четные числа(без разницы,какой ввод массива рандомный или с клавиатуры). Написать отдельно функцию для заведения памяти . Спасибо)

Решение задачи: «На базе динамического массива выделить другой, в котором будут неповторяющиеся чётные числа»

textual
Листинг программы
#include <stdio.h>
#include <malloc.h>
 
int main ()
{
    int *A,*U,i,j,n,p,m;
 
    printf("n=");
    scanf("%d",&n);
 
    A=(int *) calloc(sizeof(int),n);
 
    for (i=0; i<n; i++)
    {
        printf("A[%d]=",i);
        scanf("%d",&A[i]);
    }
    
    B=(int *) calloc(sizeof(int),n);
 
    m=-1;
 
    for (i=0; i<n; i++)
    {
        p=0;
        for (j=0; j<m; j++)
            if (B[j]==A[i])
               {
                  p=-1;
                  break;
                } 
         if (p==0) B[++m]=A[i];
      }
     
      printf("Uniq elements:\n");
      for (j=0; j<m; j++) printf("%d ",B[j]);
      printf("\n");
 
      free(A);
      free(B);
           
}

Объяснение кода листинга программы

В этом коде выполняется следующая последовательность действий:

  1. Пользователю предлагается ввести количество элементов массива (n).
  2. Выделяется динамический массив A размером n, который будет заполняться числами.
  3. Пользователю предлагается ввести n чисел и сохранить их в массиве A.
  4. Выделяется динамический массив B размером n, который будет хранить уникальные четные числа.
  5. Инициализируется переменная m=-1, которая будет использоваться для контроля количества уникальных чисел.
  6. В цикле обрабатываются все числа в массиве A.
  7. Если число уже есть в массиве B, то оно пропускается.
  8. Если число не найдено в массиве B, то оно добавляется в конец массива B и значение m увеличивается на 1.
  9. Выводится список уникальных четных чисел.
  10. Массивы A и B освобождаются от выделенной памяти.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.769 из 5
Похожие ответы