Проверить, является ли последовательность арифметической прогрессией - C (СИ)

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

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

Даны натуральное N и последовательность, состоящая из N целых чисел. Определить, является ли данная последовательность арифметической прогрессией. Если не является, то вывести номер первого числа, нарушающего закономерность и модуль разности первого и последнего элементов последовательности.

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

textual
Листинг программы
    int first, second, third, i, n, arith;
    scanf("%d", &n);
    if (n>2){       
       scanf("%d%d", &first, &second);
       for (i=3, arith=1; i<=n && arith; ++i){
           scanf("%d", &third);
           arith = (first+third == second<<1);
           first=second; second=third;
       }
    }
    printf("Not arithmetic"+(arith?4:0));

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

  1. Объявлены переменные: first, second, third, i, n, arith;
  2. Программа запрашивает у пользователя ввод количества элементов последовательности (n);
  3. Если n больше 2, то программа запрашивает у пользователя ввод первых трех элементов последовательности (first, second, third);
  4. Затем программа в цикле проходит по всем элементам последовательности, начиная с третьего, и проверяет является ли последовательность арифметической прогрессией;
  5. Для проверки используется формула (first+third == second<<1);
  6. Если последовательность является арифметической прогрессией, то выводится сообщение Arithmetic, иначе выводится сообщение Not arithmetic.

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


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

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

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