Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
DarkLORD7
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 15
1

Упорядочить заданную последовательность чисел так, чтобы каждый элемент, стоящий на нечетном месте, был больше каждого из соседних

02.06.2013, 14:13. Просмотров 1136. Ответов 2
Метки нет (Все метки)

Здесь совсем у меня вариантов нету.. не сталкивался с подобной сортировкой до этого.
Нужно составить алгоритм, упорядочивающий заданную последовательность чисел так, чтобы каждый элемент, стоящий на нечетном месте, был больше каждого из соседних. Обеспечить ввод параметров и количество элементов массива с клавиатуры.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2013, 14:13
Ответы с готовыми решениями:

Поменять каждый элемент массива, стоящий на нечетном месте, на элемент, стоящий справа
Дан одномерный массив A. Написать программу, которая будет менять каждый элемент, стоящий на...

Удалить каждый символ, стоящий на нечетном месте
Программа должна в заданном тексте удалить каждый символ, стоящий на нечетном месте.

Сформировать матрицу так, чтобы каждый последующий элемент начиная со ворого был больше придыдущего на 5
написать программу формирования и вывода двумерного массива произвольного размера так, чтобы каждый...

Заменить каждый отрицательный элемент его квадратом, если он стоит на нечетном месте
Помогите мне, пожалуйста, написать вот эти задачи: 2. Заменить каждый отрицательный элемент его...

Сдвинуть строки циклическим сдвигом вправо так, чтобы на последнем месте был максимальный по модулю элемент
в матрице сдвинуть строки циклическим сдвигом вправо так, что бы на последнем месте был...

2
лилиэн
6 / 6 / 5
Регистрация: 22.11.2012
Сообщений: 95
02.06.2013, 14:30 2
алгоритм:
1)Делаем простую сортировку по убыванию
10 9 8 7 6 5 4 3 2 1 0
2)Меняем попарно числа 1 с 2 2 с 3 3 с 4 и тд
9 10 7 8 5 6 3 4 1 2 0


вот и все
это гарантирует что числа на нечетных местах будут больше своих соседей
кроме если у нас есть одинаковые числа к примеру с последовательностью 5 5 5 5 5 1 3
такая сортировка не пройдет
а в других случаях пройдет )))
Удачи реализовать
0
Issues
432 / 367 / 149
Регистрация: 06.08.2012
Сообщений: 961
02.06.2013, 16:09 3
Лучший ответ Сообщение было отмечено DarkLORD7 как решение

Решение

Можно было сделать всё компактней, но так как ты новичок, то вот:
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
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
 
void Print(int[], const int);
void Sort(int[], const int);
 
int main()
{
    int size;
 
    std::cout << "Size: "; std::cin >> size;
 
    int* arr = new int[size];
 
    std::cout << "Enter " << size << " element's: ";
    for (int i = 0; i < size; ++i)
        std::cin >> arr[i];
 
    std::cout << std::endl;
 
    std::cout << "Before: ";
    Print(arr, size);
    
    Sort(arr, size);
 
    std::cout << "After : ";
    Print(arr, size);
 
    delete []arr;
 
    system("PAUSE");
    return 0;
}
 
void Print(int a[], const int sz)
{
    for (int i = 0; i < sz; ++i)
        std::cout << a[i] << ' ';
    std::cout << std::endl;
}
 
void Sort(int a[], const int sz)
{
    int tmp;
 
    for (int i = 1; i < sz; i++)
    {
        for (int j = 0; j < sz; j++)
        {
            if (a[i] < a[j]) {
                tmp = a[i]; a[i] = a[j]; a[j] = tmp;
            }
        }
    }
 
    for (int i = 0; i < sz-1; i += 2) {
        tmp = a[i]; a[i] = a[i+1]; a[i+1] = tmp;
    }
}
1
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2013, 16:09

Как сделать так, чтобы каждый элемент ListBoxItem был растянут на всю ширину ListBox
Я бы хотел сделать так, чтобы каждый элемент ListBoxItem был растянут на всю ширину ListBox. Справа...

Сформировать массив так, чтобы каждый элемент, начиная с третьего, был равен произведеннию двух предыдущих
uses crt; var a:array of integer; i,n:integer; begin writeln (' Введите длину массива');...

Преобразовать массив так, чтобы каждый элемент был как сумма себя и своего соседа впереди
Преобразовать массив A(i) в массив B(i) так, чтобы в новом массиве каждый элемент получался бы как...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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