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

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

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

Программа для сортировки - C++

19.09.2013, 21:31. Просмотров 441. Ответов 2
Метки нет (Все метки)

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

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>
using namespace std;
 
int main()
{
     // Считываем размер массива,
     // который необходимо отсортировать
     int size;
     cin >> size;
 
     // Динамически выделяем память под
     // хранение массива размера size
     int *a = new int[size];
    
     // Считываем массив
     for (int i = 0; i < size; i++)
     {
         cin >> a[i];
     }
 
     // Внешний цикл алгоритма совершает
     // ровно size итераций
     for (int i = 0; i < size; i++)
     {
         // Массив просматривается с конца до
         // позиции i и "легкие элементы всплывают"
         for (int j = size - 1; j > i; j--)
         {
             // Если соседние элементы расположены
             // в неправильном порядке, то меняем
             // их местами
             if (a[j] < a[j - 1])
             {
                 swap (a[j], a[j - 1]);
             }
         }
     }
 
     // Выводим отсортированный массив
     for (int i = 0; i < size; i++)
     {
         cout << a[i] << ' ';
     }
 
     return 0;
     getchar();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2013, 21:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа для сортировки (C++):

Программа для сортировки массива строк - C++
Нужно написать программу для сортировки строк, используя указатели. Программа должна считать количество элементов массива (вот тут и...

Программа сортировки матрицы, работает только для квадратных - C++
Помогите исправить, пожалуйста, программа должна работать для любых значений строк и столбцов, где логическая ошибка?( Постановка задачи:...

Составить блок – схемы для шейкер- сортировки и сортировки Шелла - C++
Доброго времени суток, очень нужна ваша помощь в решении данной проблемы, буду бесконечно благодарен. Составить блок – схемы для шейкер-...

Составить программы для пузырьковой сортировки и сортировки посредством выбора с применением оператора while - C++
Доброго времени суток, очень нужна ваша помощь в решении данной проблемы, буду бесконечно благодарен. Составить программы для пузырьковой...

Напишите функцию сортировки, похожую на функцию которая использовалась для сортировки массивов, с той разницей, что ее а - C++
Напишите функцию сортировки, похожую на функцию которая использовалась для сортировки массивов, с той разницей, что ее аргументом должен...

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

2
lipnev
60 / 60 / 1
Регистрация: 14.09.2013
Сообщений: 145
19.09.2013, 23:46 #2
Manninger, вот тебе сложение соседних элементов
C++
1
2
3
4
5
     int k, j;
     for (k = 0, j = 0; j < size; k++, j=k*2){
        a[k]=a[j]+a[j+1];
     }
     size=k;
Вставляешь сразу после цикла считывания массива. Проверял - работает. Кстати, зачем необходимо вводить размер массива с клавиатуры, инициализировать динамический массив и также заполнять его с клавиатуры. В задании чётко написано 12 элементов. То есть можно использовать статический массив. А для генерации случайных чисел можно использовать функции srand и rand.
0
Genn55
370 / 217 / 41
Регистрация: 26.12.2012
Сообщений: 713
20.09.2013, 01:08 #3
Пойдет?


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
#include <iostream>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
 
int main()
{
srand(time(NULL));
const int N =12; // размер массива
int a[N]; // объявление массива
 
    for (int i = 0; i < N; i++)
        a[i] = rand() % 15;
    for (int i = 0; i < N; i++)
        cout << a[i] << " ";
        cout<<"\n\n" ;
 
int M =0;
     for (int i = 0; i < N+2; i+=2)
     {
        M++;
        a[M]=a[i]+a[i+1];
     }
     for (int i = 0; i < M; i++)
      cout << a[i] << " ";
      cout<<"\n\n";
    for (int i = 1; i < M; i++)
    for (int j = 0; j < M - 1; j++)
       if (a[j] > a[j + 1])
         {
      int temp = a[j];
           a[j] = a[j + 1];
           a[j + 1] = temp;
         }
     for (int i = 0; i < M; i++)
      cout << a[i] << " ";
      cout<<"\n\n";
 
return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.09.2013, 01:08
Привет! Вот еще темы с ответами:

программа порозрядной сортировки - C++
Напишите пожалуйста алгоритм и програмку для порозрядного сортирования плииз

Программа сортировки списка - C++
Помогите сделать программу пожалуйста. Программа считывает информацию о студентах (имя, оценка (от одного до десяти) ) и выводит их...

программа сортировки методом пузырька - C++
Доброго времени суток! Прошу помощи в написании программы с требованиями: •Входные данные – текстовый файл. •Выходные данные –...

Программа сортировки массива методом пузырька - C++
Здравствуйте! Пожалуйста, помогите написать программу! Вот задание: Создать на C++ Builder программу сортировки массива в порядке...


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

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

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