Определить, существуют ли в массиве три последовательных элемента, образующих арифметическую или геометрическую прогрессию. - C (СИ)

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

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

Всем доброго времени суток! Помогите пожалуйста решить задачу: Дан массив размера N. Определить, существуют ли в массиве три последовательных элемента, образующих арифметическую или геометрическую прогрессию. Если существуют, то вывести их на экран, указав их значения и индексы. На языке С. Спасибо!

Решение задачи: «Определить, существуют ли в массиве три последовательных элемента, образующих арифметическую или геометрическую прогрессию.»

textual
Листинг программы
#include<stdio.h>
#include<math.h>
 
#define N 10
#define EPSILON 0.0001
 
int main(void)
{
    float A[N];
    int i,j;
    for(i=0;i<N;i++)
    {
        printf("%s%d%s","Enter A[",i,"]=");
        scanf("%f",&A[i]);
    }
    for(i=1;i<N-1;i++)
    {
        if(((abs(A[i]-sqrt(A[i-1]*A[i+1]))<EPSILON))||(abs(A[i]-((A[i-1]+A[i+1])/2.0))<EPSILON))
        {
            for(j=i-1;j<i+2;j++) printf("%s%d%s%4.2f%s","i=",j,": ",A[j],"\n");
            printf("%s","==============\n");
        }
    }
    getch();
    return 0;
}

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

  1. Включаем необходимые заголовочные файлы
  2. Объявляем массив A типа float и переменную EPSILON
  3. Определяем функцию main()
  4. В цикле запрашиваем у пользователя ввод элементов массива A
  5. Используем второй цикл для проверки каждого элемента массива на условие арифметической или геометрической прогрессии
  6. Если условие выполняется, выводим на экран соответствующие элементы массива
  7. Завершаем программу

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


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

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

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