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

Проверить, является ли последовательность прогрессией или нет? - C++

Восстановить пароль Регистрация
 
versa4e_1706
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 11
05.01.2013, 01:40     Проверить, является ли последовательность прогрессией или нет? #1
Дан последовательность из N целых чисел (N задаётся с клавиатуры). Проверить, является ли данная последовательность прогрессией или нет? Если является - вывести на экран разницу, если нет - вывести 0. (сделать БЕЗ МАССИВОВ, а только с помощью цифр и циклов)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2013, 01:40     Проверить, является ли последовательность прогрессией или нет?
Посмотрите здесь:

Найти самую длинную подпоследовательность, которая является арифметической или геометрической прогрессией C++
как проверить число на то, является ли оно им или нет C++
Определить является ли последовательность арифметической прогрессией C++
C++ Определить, является ли целочисленный массив арифметической или геометрической прогрессией.
Проверить, является ли последовательность убывающей C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
miriganua
129 / 100 / 4
Регистрация: 05.02.2012
Сообщений: 241
05.01.2013, 02:11     Проверить, является ли последовательность прогрессией или нет? #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
 
using std::cout;
using std::cin;
 
bool isItArithmeticProgression(int n, int* arr)
{
    if (n == 1 || n == 2)
    {
        return true;
    }
    else
    {
        int d = arr[1] - arr[0];
        for (int i = 2 ; i < n; i++)
        {
            if (d != arr[i] - arr[i - 1])
            {
                return false;
            }
        }
        return true;
    }
}
 
int main(int argc, char* argv[])
{
    int n;
    cout << "Enter n:";
    cin >> n;
    int* arr = new int[n];
    for (int i = 0; i < n; i++)
    {
        cin >> arr[i];
    }
    cout << "Is it arithmetic progression:" << isItArithmeticProgression(n, arr) << '\n';
    return 0;
}
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
05.01.2013, 02:51     Проверить, является ли последовательность прогрессией или нет? #3
Игорь Миронюк, я вижу, Вас не смущает фраза:
Цитата Сообщение от versa4e_1706 Посмотреть сообщение
сделать БЕЗ МАССИВОВ, а только с помощью цифр и циклов)
versa4e_1706
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 11
05.01.2013, 16:22  [ТС]     Проверить, является ли последовательность прогрессией или нет? #4
Просто с массивами я сделал, а вот с более простым заданием не могу справиться
miriganua
129 / 100 / 4
Регистрация: 05.02.2012
Сообщений: 241
05.01.2013, 19:30     Проверить, является ли последовательность прогрессией или нет? #5
А что это значит: сделать БЕЗ МАССИВОВ, а только с помощью цифр и циклов. Как хранить последовательность?
Если можно пример.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,832
Записей в блоге: 2
Завершенные тесты: 1
05.01.2013, 19:34     Проверить, является ли последовательность прогрессией или нет? #6
Цитата Сообщение от Игорь Миронюк Посмотреть сообщение
Как хранить последовательность?
зачем её хранить? Проверяем элементы уже на этапе ввода.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2013, 20:06     Проверить, является ли последовательность прогрессией или нет?
Еще ссылки по теме:

C++ Проверить, является ли заданная последовательность чисел линейкой Голомба
Является ли одномерный массив геометрической прогрессией? C++
Определить, является ли данная последовательность арифметической прогрессией C++

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

Или воспользуйтесь поиском по форуму:
miriganua
129 / 100 / 4
Регистрация: 05.02.2012
Сообщений: 241
05.01.2013, 20:06     Проверить, является ли последовательность прогрессией или нет? #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
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
 
using std::cout;
using std::cin;
 
int main(int argc, char* argv[])
{
    int n;
    cout << "Enter n:";
    cin >> n;
    int previousElement;
    int nextElement;
    cin >> previousElement;
    cin >> nextElement;
    int difference = nextElement - previousElement;
    bool isItAritmeticProgression = true;
    for (int i = 0; i < n - 2; i++)
    {
        previousElement = nextElement;
        cin >> nextElement;
        if (difference != nextElement - previousElement)
        {
            isItAritmeticProgression = false;
        }
    }
    if (isItAritmeticProgression)
    {
        cout << "It is aritmetic progression with difference is equal to " << difference << '\n';
    }
    else
    {
        cout << "It is not aritmetic progression." << '\n';
    }
    return 0;
}
А если так.
Yandex
Объявления
05.01.2013, 20:06     Проверить, является ли последовательность прогрессией или нет?
Ответ Создать тему
Опции темы

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