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

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

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

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

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

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

C++ Ввести три числа и проверить, возможно ли из них составить арифметическую прогрессию
Определить, образуют ли элементы массива арифметическую прогрессию C++
C++ Проверить, образует ли элементы данного массива арифметическую прогрессию
C++ Проверить, образуют ли элементы массива арифметическую прогрессию
Сформировать арифметическую прогрессию C++
Определить, образуют ли числа арифметическую прогрессию C++
C++ Определить, образуют ли элементы массива арифметическую прогрессию
C++ Составляют ли три числа арифметическую прогрессию
Определить, образуют ли элементы одномерного массива арифметическую прогрессию C++
C++ Найти числа < n, в двоичном представлении которых номера ненулевых разрядов образуют арифметическую прогрессию
Как найти в двумерном массиве наибольшую диагональ/горизонталь/вертикаль? C++
C++ Проверка в массиве на арифметическую прогрессию

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Грымзик
 Аватар для Грымзик
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
Спасибо большое!
Yandex
Объявления
12.03.2010, 17:29     как найти наибольшую арифметическую прогрессию в массиве
Ответ Создать тему
Опции темы

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