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

Одномерные массивы. Найти есть ли в нем арифметическая прогрессия состоящая из трех элементов - C++

Восстановить пароль Регистрация
 
FraGas
0 / 0 / 0
Регистрация: 26.01.2014
Сообщений: 11
03.02.2014, 20:39     Одномерные массивы. Найти есть ли в нем арифметическая прогрессия состоящая из трех элементов #1
Здравствуйте! Помогите решить задачку: Дан одномерный массив. Найти есть ли в нем арифметическая прогрессия состоящая из трех элементов. Ввод элементов с клавиатуры.
Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2014, 20:39     Одномерные массивы. Найти есть ли в нем арифметическая прогрессия состоящая из трех элементов
Посмотрите здесь:

Арифметическая прогрессия C++
C++ Арифметическая прогрессия
C++ Арифметическая прогрессия
Арифметическая прогрессия C++
C++ Арифметическая прогрессия в массиве
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Werewolf_RU
 Аватар для Werewolf_RU
5 / 5 / 3
Регистрация: 03.02.2014
Сообщений: 187
Завершенные тесты: 1
03.02.2014, 20:47     Одномерные массивы. Найти есть ли в нем арифметическая прогрессия состоящая из трех элементов #2
Небольшое уточнение, элементы какими могут быть? Целые/дробные, положительные/отрицательные? Вводится кол-во элементов или ввод заканчивается каким-то символом?
FraGas
0 / 0 / 0
Регистрация: 26.01.2014
Сообщений: 11
03.02.2014, 20:49  [ТС]     Одномерные массивы. Найти есть ли в нем арифметическая прогрессия состоящая из трех элементов #3
Целые, положительные
Размер массива через константу
S_el
1907 / 1502 / 296
Регистрация: 15.12.2013
Сообщений: 5,920
03.02.2014, 20:50     Одномерные массивы. Найти есть ли в нем арифметическая прогрессия состоящая из трех элементов #4
В чем сложность?
Ev_Hyper
 Аватар для Ev_Hyper
1806 / 1627 / 435
Регистрация: 15.12.2013
Сообщений: 5,790
03.02.2014, 20:51     Одномерные массивы. Найти есть ли в нем арифметическая прогрессия состоящая из трех элементов #5
FraGas, покажите вашу реализацию
FraGas
0 / 0 / 0
Регистрация: 26.01.2014
Сообщений: 11
03.02.2014, 20:54  [ТС]     Одномерные массивы. Найти есть ли в нем арифметическая прогрессия состоящая из трех элементов #6
Я не могу понять, как воплотить. Даже с чего начать.
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <QtCore/QCoreApplication>
#include <iostream>
#include <stdlib.h>
using namespace std;
 
int main()
{
const int size=10;
int A[size];
int d;
int i;
cout<<" massive: "<<endl;
 
for ( i=0; i<size; ++i){
cin>>A[i];
}
 
system ("pause");
    return 0;
}
Werewolf_RU
 Аватар для Werewolf_RU
5 / 5 / 3
Регистрация: 03.02.2014
Сообщений: 187
Завершенные тесты: 1
03.02.2014, 20:55     Одномерные массивы. Найти есть ли в нем арифметическая прогрессия состоящая из трех элементов #7
Можно и без массива, проверять во время ввода. Но, как мне кажется, для такого уровня так будет наглядней. Благо числа небольшие и экономия памяти не требуется.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
unsigned int m[1000];
int main()
{
    unsigned short int n;
    cin>>n;
    for(int i=0; i<n; i++)
    {
        cin>>m[i];
    }
    int k=0;
    for(int i=0; i<n-2; i++)
    {
        if(m[i]-m[i+1]==m[i+1]-m[i+2])
        {
            cout<<"YES";
            return 0;
        }
    }
    cout<<"NO";
    return 0;
}
Ev_Hyper
 Аватар для Ev_Hyper
1806 / 1627 / 435
Регистрация: 15.12.2013
Сообщений: 5,790
03.02.2014, 20:56     Одномерные массивы. Найти есть ли в нем арифметическая прогрессия состоящая из трех элементов #8
Цитата Сообщение от FraGas Посмотреть сообщение
#include <QtCore/QCoreApplication>
вам что на Qt надо это сделать?
Werewolf_RU
 Аватар для Werewolf_RU
5 / 5 / 3
Регистрация: 03.02.2014
Сообщений: 187
Завершенные тесты: 1
03.02.2014, 21:03     Одномерные массивы. Найти есть ли в нем арифметическая прогрессия состоящая из трех элементов #9
Если автор ещё не сбежал с форума, получив ответ на своё первое сообщение, то вот версия, проверяющая сразу при вводе.
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;
unsigned int m[1000];
int main()
{
    unsigned short int n;
    int num1, num2, num3;
    cin>>n>>num1>>num2;
    for(int i=0; i<n-2; i++)
    {
        cin>>num3;
        if((num3-num2)==(num2-num1))
        {
            cout<<"YES";
            return 0;
        }
        num1=num2;
        num2=num3;
    }
    cout<<"NO";
    return 0;
}
Ev_Hyper
 Аватар для Ev_Hyper
1806 / 1627 / 435
Регистрация: 15.12.2013
Сообщений: 5,790
03.02.2014, 21:06     Одномерные массивы. Найти есть ли в нем арифметическая прогрессия состоящая из трех элементов #10
Werewolf_RU, в вашей второй реализации массива нет
Werewolf_RU
 Аватар для Werewolf_RU
5 / 5 / 3
Регистрация: 03.02.2014
Сообщений: 187
Завершенные тесты: 1
03.02.2014, 21:08     Одномерные массивы. Найти есть ли в нем арифметическая прогрессия состоящая из трех элементов #11
Я же специально и добавил её, а то в комментарии к первой упомянул, а код не приложил. Как-то воздушно и "на словах" выходило)
FraGas
0 / 0 / 0
Регистрация: 26.01.2014
Сообщений: 11
03.02.2014, 21:08  [ТС]     Одномерные массивы. Найти есть ли в нем арифметическая прогрессия состоящая из трех элементов #12
Это не то что требуется. надо вывести еще эти элементы образующие арифметическую прогрессию.
Допустим есть вот такой массив {3, 32, 12, 15, 4, 7, 10, 17, 12, 13}
В таком случае, нужно вывести 4, 7, 10
Werewolf_RU
 Аватар для Werewolf_RU
5 / 5 / 3
Регистрация: 03.02.2014
Сообщений: 187
Завершенные тесты: 1
03.02.2014, 21:10     Одномерные массивы. Найти есть ли в нем арифметическая прогрессия состоящая из трех элементов #13
Сразу бы в условии оговорили, что надо вывести. Решение абсолютно такое же, только вместо YES выводите проверяемые переменные.
C++
1
2
3
4
5
if((num3-num2)==(num2-num1))
        {
            cout<<num1<<num2<<num3;
            return 0;
        }
FraGas
0 / 0 / 0
Регистрация: 26.01.2014
Сообщений: 11
03.02.2014, 21:20  [ТС]     Одномерные массивы. Найти есть ли в нем арифметическая прогрессия состоящая из трех элементов #14
Не пойму зачем использовать unsigned и short?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2014, 21:25     Одномерные массивы. Найти есть ли в нем арифметическая прогрессия состоящая из трех элементов
Еще ссылки по теме:

C++ арифметическая прогрессия
Арифметическая прогрессия C++
C++ Одномерные массивы. Найти минимальный из четных элементов.

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

Или воспользуйтесь поиском по форуму:
Werewolf_RU
 Аватар для Werewolf_RU
5 / 5 / 3
Регистрация: 03.02.2014
Сообщений: 187
Завершенные тесты: 1
03.02.2014, 21:25     Одномерные массивы. Найти есть ли в нем арифметическая прогрессия состоящая из трех элементов #15
Памяти занимается меньше. В данном случае можно и без них, но в задачах где у тебя, к примеру, здоровый массив целых чисел, будет играть большую роль, укажешь ли ты на положительность значений переменных и длину.
Yandex
Объявления
03.02.2014, 21:25     Одномерные массивы. Найти есть ли в нем арифметическая прогрессия состоящая из трех элементов
Ответ Создать тему
Опции темы

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