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

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

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

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

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

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

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

В этом коде:

  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы