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

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

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

"Задан размер массива целых чисел и значения его элементов.Удалить пары соседних элементов,имеющих одинаковые значения,и вывести размер полученного массива и значения его элементов". Помогите,пожалуйста,решить данную задачу,буду очень благодарен! P.S Данная тема с такой же задачей поднималась ещё в 2014 году,но на неё так и не нашлось ответа,так что,я попытаюсь ещё раз. P.S.S Есть решение этой задачки в С++,но я только знакомлюсь с Си,поэтому С++ не подходит мне.

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

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int k[10]={5, 5, 9, 1, 7, 7, 3, 3, 2, 4}, i, j, n=10;
    int col = 10;
    for (i=0;i<n;i++)
        if (k[i]==k[i+1]){
            for (j=i;j<n;j+=2){
                k[j]=k[j+2];
                k[j+1]=k[j+3];
            }
            i--;
            col-=2;
        }
    for (i=0;i<col;i++)
        printf("%d ", k[i]);
    printf("\n");
    getch();
    return 0;
}

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

В этом коде:

  1. Создается массив k размером 10 и инициализируется значениями 5, 5, 9, 1, 7, 7, 3, 3, 2, 4.
  2. Создается переменная i для хранения индекса текущего элемента массива.
  3. Создается переменная j для хранения индекса соседнего элемента массива.
  4. Создается переменная n и инициализируется значением 10, что является размером массива k.
  5. Создается переменная col и инициализируется значением 10, что является размером массива k.
  6. В цикле for перебираются все элементы массива k.
  7. Если текущий элемент массива k равен следующему элементу массива k, то выполняется код в фигурных скобках.
  8. В цикле for, который находится внутри условия, перебираются все элементы массива k, начиная с элемента с индексом i и с шагом 2.
  9. Элементы массива k с нечетными индексами (этот и следующий) заменяются на элементы с четными индексами (этот и следующий).
  10. Уменьшается значение i на 1, так как один элемент был удален.
  11. Уменьшается значение col на 2, так как было удалено 2 элемента.
  12. После завершения внешнего цикла выводится массив k.
  13. Выводится сообщение, что программа выполнена.
  14. Программа завершается.

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


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

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

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