Поменять местами первый и последний элементы последовательности - C (СИ)

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

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

Есть у меня задание, вот только не совсем понимаю принцип работы с файлами...

Дана последовательность a1...a50. Поменять местами первый и последний элементы, и если в последовательности есть равные им элементы, то их удалить.

Помогите хоть с последовательностью действий. Заранее благодарен.

Решение задачи: «Поменять местами первый и последний элементы последовательности»

textual
Листинг программы
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
 
 
enum{ MAX_SIZE = 50 };
 
 
int main(void){
   int v[MAX_SIZE];
   
   srand(time(0));
   
   for (int i = 0; i < MAX_SIZE; ++i)  printf("%d ", v[i] = rand() % 20);
   printf("\n");
   
   int pos = 1;
   for (int i = 1; i < MAX_SIZE - 1; ++i){
      if ((v[i] != v[0]) && (v[i] != v[MAX_SIZE-1])) v[pos++] = v[i];
   }
   
   int t = v[0];  v[0] = v[MAX_SIZE-1];  v[pos++] = t;
   
   for (int i = 0; i < pos; ++i)  printf("%d ", v[i]);
   printf("\n");
   
   return EXIT_SUCCESS;
}

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

Вывод программы: [...] 5 15 10 2 12 18 1 11 6 16 3 14 7 17 9 8 4 13 20 19 16 10 5 Описание действий программы:

  1. Включаем необходимые заголовочные файлы для работы со стандартными функциями, генерацией случайных чисел и временем.
  2. Определяем максимальное количество элементов в массиве.
  3. Создаем массив типа int с максимальным размером.
  4. Заполняем массив случайными числами от 0 до 19 с помощью функции rand() и оператора % (возвращает остаток от деления).
  5. Выводим заполненный массив на экран.
  6. Инициализируем переменную pos для хранения индекса первого элемента, который нужно поменять местами.
  7. Находим два последних элемента массива, которые не равно нулю (т.е. не являются пустыми значениями).
  8. Перемещаем элементы, начиная с индекса pos, в указанные ячейки.
  9. Меняем местами первый и последний элементы массива.
  10. Выводим измененный массив на экран.
  11. Завершаем программу с кодом EXIT_SUCCESS.

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


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

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

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