Удалить один из повторяющихся элементов массива - C (СИ)

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

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

Всем доброй ночи, как сделать, чтобы в массиве, в котором следующий элемент = предыдущем, т.е. если дан массив A: 1 1 2 2 4 4 7 7 удалить один, из повторяющихся элементов, т.е. должно получиться так: 1 2 4 7.. Заранее спасибо)

Решение задачи: «Удалить один из повторяющихся элементов массива»

textual
Листинг программы
#include "stdafx.h"
#include "conio.h"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    int i, j;
    int mas[] = {1,1,2,2,4,4,7,7};
    int dlina = 8;
    for(i = 0; i < 7; i++)
    {
        if ((mas[i] == mas[i + 1]) && mas[i] != 0)
        {
            for (j = i + 1; j < 7; j++)
            {
                mas[j] = mas[j + 1];
            }
            mas[dlina - 1] = 0;
            dlina--;
        }
    }
    for(i = 0; i < 7; i++)
    {
        printf("%d\n",mas[i]);
    }
    getch();
    return 0;
}

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

В этом коде реализована функция, которая удаляет дубликаты из массива.

  1. Сначала объявляются переменные:
    • i и j - используются для прохождения по массиву;
    • mas[] - это сам массив, в котором нужно удалить дубликаты;
    • dlina - это переменная, которая хранит длину массива.
  2. Затем происходит проход по массиву с помощью цикла for. В каждой итерации проверяется текущий элемент массива и следующий за ним. Если они равны и не равны нулю (чтобы исключить случай, когда последний элемент массива равен нулю), то происходит перестановка элементов с помощью еще одного цикла for. После этого, в последней ячейке массива (которая теперь пуста) записывается ноль, и переменная dlina уменьшается на единицу, так как один элемент был удален.
  3. После удаления всех дубликатов происходит проход по массиву с помощью цикла for и выводится каждый элемент массива.
  4. В конце программы вызывается функция getch(), которая ожидает нажатия клавиши, и функция return 0;, которая завершает выполнение программы.

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


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

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

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