Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
#1

как найти наибольшую арифметическую прогрессию в массиве - C++

12.03.2010, 16:31. Просмотров 603. Ответов 4
Метки нет (Все метки)

Здравствуйте! Подскажите, пожалуйста, как можно найти в массиве арифметическую прогрессию наибольшей длины, вывести на печать эту прогрессию и разность прогрессии. Массив вводится пользователем. Желательно выполнить с помощью функций и без указателей.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2010, 16:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос как найти наибольшую арифметическую прогрессию в массиве (C++):

Проверка в массиве на арифметическую прогрессию - C++
Задание: проверить есть ли арифметическая прогрессия в массиве, которая начинается с любого элемента массива. Сделал сортировку...

Найти числа < n, в двоичном представлении которых номера ненулевых разрядов образуют арифметическую прогрессию - C++
Перечислить все натуральные числа, не превосходящие заданного N, в двоичном представлении которых номера ненулевых разрядов образуют...

Сформировать арифметическую прогрессию - C++
Подскажите как сделать задачу. Сформировать арифметическую прогрессию, растущей из 10 элементов: начальное значение - 10, шаг - 2...

Составляют ли три числа арифметическую прогрессию - C++
Даны три числа. Определите, можно ли из них составить арифметическую прогрессии.

Определить, образуют ли числа арифметическую прогрессию - C++
Дан файл неупорядоченных целых чисел. Определить, образуют ли числа арифметическую прогрессию. Так вот он залипает, подскажите, пожалуйста,...

Проверить, образуют ли элементы массива арифметическую прогрессию - C++
Дан целочисленный массив размера n (вводится с клавиатуры), не содержащий одинаковых чисел. Проверить, образуют ли его элементы...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Грымзик
2466 / 1443 / 31
Регистрация: 14.09.2009
Сообщений: 2,742
12.03.2010, 16:46 #2
Задача не очень понятна. Элементы прогрессии должны быть в том же порядке, что и в массиве?
Если так, то они в массиве должны следовать подряд, или могут разделяться другими элементами?
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
12.03.2010, 16:51  [ТС] #3
Да, элементы не могут разделяться другими элементами. Например, если массив: 1 2 3 4 5 7 9 11 13 15 17 6 , то в нем 2 арифметические прогрессии, но большая из них: 5 7 9 11 13 15 17, она должна быть выведена на печать и зазность прогрессии, т.е 2
Грымзик
2466 / 1443 / 31
Регистрация: 14.09.2009
Сообщений: 2,742
12.03.2010, 17:21 #4
Считывание сами добавьте. И надо рассмотреть случай, если всего 1 элемент, у меня тогда работать не будет.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
int main()
{
    int a[]={1,2,3,4,5,7,9,11,13,15,17,6};
    int N=12, *len, ans_index=1,i;
    len=new int[N];
    len[1]=2;
    for (i=2; i<N; ++i)
    {
        if(a[i]-a[i-1]==a[i-1]-a[i-2])
            len[i]=len[i-1]+1;
        else len[i]=2;
        if(len[i]>len[ans_index])
            ans_index=i;
    }
    for (i=ans_index-len[ans_index]+1; i<=ans_index;++i)
        cout<<a[i]<<' ';
    system("PAUSE");
    return 0;
}
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
12.03.2010, 17:29  [ТС] #5
Спасибо большое!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2010, 17:29
Привет! Вот еще темы с ответами:

Определить, образуют ли элементы массива арифметическую прогрессию - C++
Проверить, образуют ли элементы целочисленного массива размера N арифметическую прогрессию. Если да, то вывести разность прогрессии, если...

Определить, образуют ли элементы массива арифметическую прогрессию - C++
Здравствуйте, помогите пожалуйста решить задачки, а то за целый день уже башка не варит а то завтра нужно сдать. 1. Определить, образуют...

Проверить составляют ли арифметическую прогрессию элементы массива - C++
Задана последовательность из t целых чисел. Проверить, составляют ли они арифметическую прогрессию. Если да, то вызначить разницу этой...

Как найти в двумерном массиве наибольшую диагональ/горизонталь/вертикаль? - C++
как найти в двумерном массиве наибольшую диагональ/горизонталь/вертикаль?? подскажите пожалуйста


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.03.2010, 17:29
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru