Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
12 / 12 / 3
Регистрация: 28.03.2014
Сообщений: 156

Сортировка четных чисел вставками

23.05.2016, 21:29. Показов 2713. Ответов 1
Метки нет (Все метки)

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

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
template<class T>
void insertSort(T a[], long size) {
  T x;
  long i, j;
 
  for ( i=0; i < size; i++) {  // цикл проходов, i - номер прохода
    x = a[i];
        
    // поиск места элемента в готовой последовательности 
    for ( j=i-1; j>=0 && a[j] > x; j--)
      a[j+1] = a[j];    // сдвигаем элемент направо, пока не дошли
 
    // место найдено, вставить элемент
    a[j+1] = x;
  }
}
вот такое

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
#include <iostream>
#include <conio.h>
using namespace std;
 
 
void sort(int *A, int size) {
 
    int tmp;
 
    int i, j;
 
    for (i = 0; i < size; i++) { 
 
        if (A[i] % 2 == 1)
            continue;
 
        tmp = A[i];
 
        int lastPairNum = i, last = 0;
 
        for (j = i - 1; j >= 0 && A[j] > tmp; j--)
        {
            if (A[j] % 2 == 0)
                continue;
            A[lastPairNum] = A[j];
            last = lastPairNum;
            lastPairNum = j;
        } 
        A[last] = tmp;
    }
}
 
void init(int *A, int size)
{
    for (int i = 0; i < size; i++)
        A[i] = rand() % 50;
}
 
void show(int *A, int size)
{
    for (int i = 0; i < size; i++)
        cout << A[i] << " ";
    cout << endl;
}
 
void main()
{
    const int size = 40;
    int A[size];
    init(A, size);
    show(A, size);
    sort(A, size);
    show(A, size);
    getch();
}
но результат неверный. До этого написал правильную функцию через другой алгоритм
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void sort(int *A, int size) {
 
    int temp;
 
    for (int i = 0; i < size; i++)
    {
        if (A[i] % 2 != 0)
            continue;
        for (int j = i + 1; j < size; j++)
        {
            if (A[j] % 2 != 0)
                continue;
            if (A[i] > A[j])
            {
                temp = A[j];
                A[j] = A[i];
                A[i] = temp;
            }
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.05.2016, 21:29
Ответы с готовыми решениями:

Сортировка вектора по полю(Сортировка вставками)
Здравствуйте! Нужно написать сортировку вектора по полю weight класса tomato. Вот класс: #pragma once #include &lt;iostream&gt; ...

Сортировка Шелла и сортировка вставками
Напишите программу для: 1)Сортировка вставкой 2)сортировка Шелла

Отсортировать столбцы в массиве по уменьшению сумм четных чисел. Сортировка выбором. Исправить код
Задача: Задать двумерный массив целых чисел m=5, n=6. Отсортировать столбцы в массиве по упаданию сум парных чисел. Сортировка выбором....

1
12 / 12 / 3
Регистрация: 28.03.2014
Сообщений: 156
29.05.2016, 15:05  [ТС]
Вобщем решил созданием нового массива, в который записал все парные, в нем же их отсортировал и вставил обратно в изначальный
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.05.2016, 15:05
Помогаю со студенческими работами здесь

Сортировка вставками.
Пожалуйста помогите написать программу на языке &quot;си&quot; Дана последовательность чисел a1, a2, …, an . Требуется представить числа в...

Сортировка вставками
Помогите написать программу на языке &quot;СИ&quot; Сортировка вставками. Дана последовательность чисел a1, a2, …, an . Требуется представить ...

Сортировка вставками
Где-то ошибка в цикле... помогите) ... int array = {3, 2, 1}, min = 0, a = 0, b = 0; ... for(a = 1; a &lt; size;...

Сортировка вставками
Необходимо отсортировать весь массив методом вставками парных чисел на возрастание const int N = 4; int mas; void fill(){ ...

Сортировка вставками
Продемонстрируйте работу метода сортировки вставками по возрастанию. Для этого выведите состояние данного массива после каждой вставки на...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru