Сравнить каждый элемент массива из 20 целых чисел с его правым соседом и поменяь местами при несовпадении. Ошибка. - C (СИ)

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

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

Сравнить каждый элемент массива из 20 целых чисел с его правым соседом и меняющий их местами, если они не совпадают
Листинг программы
  1. #include "stdafx.h"
  2. #include <stdio.h>
  3. #include <conio.h>
  4. #include <math.h>
  5. int main(void)
  6. {
  7. int i;
  8. int a[6];
  9. for(i = 0 ; i < 6; i++) {
  10. printf("massiv[%d] = ", i);
  11. scanf_s("%d", &a[i]);}
  12. for (i = 0; i < 6 - 1; i++)
  13. {
  14. if (a[i] != a[i + 1])
  15. {
  16. int temp = a[i];
  17. a[i] = a[i + 1];
  18. a[i + 1] = temp;
  19. printf("%d", a[i]);
  20. }
  21. }
  22. system("pause");
  23. return 0;
  24. }
http://pastebin.com/DveWNj84

Решение задачи: «Сравнить каждый элемент массива из 20 целых чисел с его правым соседом и поменяь местами при несовпадении. Ошибка.»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3.  int main(void)
  4.  {
  5.     int i,temp;
  6.     int a[6];
  7.     for(i = 0 ; i < 6; i++) {
  8.         printf("massiv[%d] = ", i);
  9.         scanf("%d", &a[i]);}
  10.  
  11.     for (i = 0; i < 5; i++)
  12.     {
  13.     if (a[i] != a[i + 1] && i%2==0)
  14.     {
  15.     temp = a[i];
  16.     a[i] = a[i + 1];
  17.     a[i + 1] = temp;
  18.     printf("%d", a[i]);
  19.     printf(" ");
  20.     }
  21.     else
  22.     {
  23.     printf("%d", a[i]);
  24.     printf(" ");
  25.     }
  26.     }
  27.     printf("%d", a[5]);
  28.     return 0;
  29.  }

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

В этом коде:

  1. Объявлены переменные:
    • i - счётчик для циклов;
    • temp - временная переменная для обмена значениями;
    • a - массив из 6 элементов.
  2. Заполняются элементы массива a с помощью цикла for и функции scanf.
  3. Внешний цикл for перебирает первые 5 элементов массива a.
  4. Внутренний цикл if проверяет неравенство соседних элементов массива и четность индекса.
  5. Если условия выполняются, то происходит обмен значениями с помощью временной переменной temp.
  6. Выводится значение элемента массива с помощью функции printf.
  7. Внутренний цикл else выводит значение элемента массива без изменений.
  8. После завершения внутреннего цикла выводится последний элемент массива.
  9. В конце программы возвращается 0, чтобы операционная система знала, что программа завершилась успешно. Например, для массива [1, 2, 3, 4, 5, 6] и ввода [1, 2, 3, 4, 5, 6] программа выведет [2, 3, 4, 5, 6, 1].

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


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

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

5   голосов , оценка 4.4 из 5

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

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

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