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

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

Войти
Регистрация
Восстановить пароль
 
jlejluk
0 / 0 / 0
Регистрация: 14.05.2010
Сообщений: 32
#1

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

17.05.2010, 20:10. Просмотров 358. Ответов 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++
Объявите двумерный целочисленный массив, в котором n строк по m элементов. Выполните генерацию массива случайными целыми числами из...

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

Дан массив а1,а2,,…,аn. Переставить его элементы так, чтобы в начале массива расположились все его неотрицательные элементы, а в конце – отрицательные - C++
Помогите плиз написать программу: Дан массив а1,а2,,…,аn. Переставить его элементы так, чтобы в начале массива расположились все его...

Дан массив а1+ a2+…+an Переставить его элементы так чтобы в начале массива расположились все его неотрицательные элементы, а в конце - отрицательные - C++
Дан массив а1+ a2+…+an помогите переставить его элементы так чтобы в начале массива расположились все его неотрицательные элементы, а в...

Ввести n слов и упорядочить их так, чтобы получилась цепочка - C++
Увести n слів, що є послідовністю символів без пробілів. слова переупорядкувати так, щоб вийшов "ланцюжок". тобто длякожного слова Аj його...

Переставить значение элементов заданного одномерного массива, так чтобы все нулевые оказались в конце массива - C++
А не нулевые в начале, не нарушая порядок, в котором они были

Переставить строки матрицы так, чтобы элементы последнего столбца были отсортированы по возрастанию - C++
Срочно понадобилась помощь! Дано такое условие: Переставить строки матрицы так, чтобы элементы последнего столбца были отсортированы...

В заданном целочисленном массиве переставить элементы так, чтобы чётные шли перед нечётными - C++
/*3.В массиве A1,A2,...An целых чисел переставить элементы так, чтобы чётные шли перед нечётными (не меняя взаимный порядок в каждой...

Заданы две строки. Можно ли переставить буквы в одном из слов так, чтобы слова стали одинаковыми? - C++
F. Заданы две строки А и В. Можно ли переставить буквы в одном из слов так, чтобы слова стали одинаковыми? Выведите "Yes", если можно...

Арифметическая прогрессия - C++
народ помогите отпишитесь кто знает как работает программа??? #include <iostream> #include <stdio.h> #include <stdlib.h> using...

Арифметическая прогрессия - C++
Вывести на экран 7ой член прогрессии если числа находящиеся по соседству различаются в 5 раз, а первое число равен 3ем Добавлено через...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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;
}
Ответ Создать тему
Опции темы

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