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

Проверить, можно ли переставить элементы массива так, чтобы получилась арифметическая прогрессия - C++

Восстановить пароль Регистрация
 
jlejluk
0 / 0 / 0
Регистрация: 14.05.2010
Сообщений: 32
17.05.2010, 20:10     Проверить, можно ли переставить элементы массива так, чтобы получилась арифметическая прогрессия #1
Реализовать выполнение заданных действий над одномерным массивом. Число элементов массива задаётся пользователем. Элементы могут заполняться как вручную, так и случайным образом (если другой способ явно не указан в условии задачи).
Проверить, можно ли переставить элементы массива так, чтобы получилась арифметическая прогрессия.

Сложности с решением.
Массив вводится руками. размер массива тоже вводится руками.тут нужна формула арифметической прогрессии.
Арифметическая прогрессия это например a1 = 2, d = 3;
и далее считаешь a2 = a1 + d = 2 + 3 = 5;
a3 = a2 + d = 5 + 3; и так далее
проверяешь твои элементы являются частью прогрессии или нет. элемент a1 у тебя будет самым маленьким элементом в массиве

Вопрос,как это реализавать в код?!

Добавлено через 12 часов 0 минут
Никто не поможет? (((
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2010, 20:10     Проверить, можно ли переставить элементы массива так, чтобы получилась арифметическая прогрессия
Посмотрите здесь:

C++ Арифметическая прогрессия
Заданы две строки. Можно ли переставить буквы в одном из слов так, чтобы слова стали одинаковыми? C++
C++ Переставить элементы массива так, чтобы отрицательные оказались в начале, положительные - в конце
C++ Переставить строки матрицы так, чтобы элементы последнего столбца были отсортированы по возрастанию
C++ Проверить, являются ли три введенных числа последовательными элементами арифметической прогрессии
C++ Ввести n слов и упорядочить их так, чтобы получилась цепочка
В заданном целочисленном массиве переставить элементы так, чтобы чётные шли перед нечётными C++
C++ Арифметическая прогрессия

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
17.05.2010, 21:19     Проверить, можно ли переставить элементы массива так, чтобы получилась арифметическая прогрессия #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
А может проще отсортировать (в новый массив) или в старом все элементы массива и проверить, равна ли разница всех рядом стоящих элементов?.. или так нельзя?

Добавлено через 57 минут
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
39
40
41
42
43
44
45
46
47
#include <iostream>
#include <time.h>
#include <locale.h>
const int N=50;
using namespace std;
 
int main()
{
    setlocale( LC_ALL,"Russian" );
    srand(time(NULL));
    
    int i, j, n, a[N], k, flag=false;
 
    cout<<"введите n: ";
    cin>>n;
    //a=new int (n);
    for (int j=0; j<n; j++)
        cin>>a[j];
 
    for (int j=0; j<n; j++)
        cout<<a[j]<<" ";
    cout<<endl<<endl;
 
    for (j=0; j<n; j++)
        for (i=n-1; i>j; i--)
            if (a[i-1]>a[i])
            {
                k=a[i-1];
                a[i-1]=a[i];
                a[i]=k;
            }
    for (i=0, j=1; i<n, j<n-1; i++, j++)
        if (a[j]-a[i]==a[j+1]-a[i+1])
            flag=true;
        else
        {
            flag=false;
            break;
        }
        if (flag==true)
            cout<<"Арифметическая прогрессия\n";
        else cout<<"Не может быть геометрической прогрессией\n";
 
    for (int j=0; j<n; j++)
        cout<<a[j]<<" ";
    return 0;
}
Yandex
Объявления
17.05.2010, 21:19     Проверить, можно ли переставить элементы массива так, чтобы получилась арифметическая прогрессия
Ответ Создать тему
Опции темы

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