0 / 0 / 0
Регистрация: 28.11.2021
Сообщений: 4
1

Элементы, которые стоят на парных местах, разместить в порядке увеличения, а на непарных - в порядке уменьшения

28.11.2021, 18:52. Показов 475. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
#include <iostream>
#include <windows.h>
using namespace std;
template <class T>
 
void bubbleSort(T a[], long size) {
    long i, j;
    T x;
    for (i = 0; i < size; i++) { // i - номер прохода
        if (i % 2 == 0) {
            for (j = size - 1; j > i; j--) { // внутренний цикл прохода
                if (a[j - 1] > a[j]) {
                    x = a[j - 1];
                    a[j - 1] = a[j];
                    a[j] = x;
                }
            }
        }
        if (i % 2 > 0) {
            for (j = size - 1; j > i; j--) { // внутренний цикл прохода
                if (a[j - 1] < a[j]) {
                    x = a[j - 1];
                    a[j - 1] = a[j];
                    a[j] = x;
                }
            }
        }
    }
}
 
void printArr(int a[], int size) {
    for (int i = 0; i < size; i++) {
        cout << a[i] << " ";
    }
    cout << "\n";
}
 
int main() {
    SetConsoleCP(1251); SetConsoleOutputCP(1251);
    int arr[22], n = 22;
    for (int i = 0; i < n; i++)
    {
        arr[i] = (rand() % 200 - 99) - (float)(rand() % 201) / 100.0;
 
    }
    cout << "До сортування:\n";
    printArr(arr, n);
    bubbleSort(arr, n);
    cout << "Після сортування:\n";
    printArr(arr, n);
    return 0;
}
Элементы, которые стоят на парных местах, разместить в порядке увеличения, а на непарных - в порядке уменьшения. Метод сортировки - пузырьковый. Написал код, но выходит какая-то чущь и оно в абсолютно рандомном порядке выстраивает элементы по возрастанию и убыванию. Помогите, пожалуйста!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.11.2021, 18:52
Ответы с готовыми решениями:

Разместить в порядке убывания элементы последовательности которые стоят на четных местах
Всем привет! Имеется рандомная последовательность вещественных чисел состоящая из 22 элементов....

В бинарном файле поменять местами элементы, что стоят на парных местах с элементами, что стоят на непарных местах
Помогите пожалуйста написать код. В бинарном файле поменять местами элементы, что стоят на...

Разместить элементы парных столбцов матрицы в порядке возрастания
Данная целочисленная квадратная матрица. Разместить элементы парных столбцов в порядке возрастания.

Расположить элементы последовательности, стоящие на четных местах в порядке уменьшения
Дана последовательность действительных чисел а1, а2, ..., a22. Расположить элементы...

Составить новый массив из так, чтобы элементы массива А стояли на парных местах, а элементы В-на непарных
нужно написать программу дано два массива: А =(3, 7, 8, 9, 0, -1, -2, 4, 5, 6); В = (0, 8, -3,...

2
nmcf
28.11.2021, 19:01
  #2

Не по теме:

По-русски говори - чётный, нечётный. А то парный, рядки. Сколько можно?

0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
29.11.2021, 01:11 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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <iostream>
#include <cstdlib>
#include <utility>
#include <ctime>
using namespace std;
 
void random (int *a, int n)
{
    for (int i = 0; i < n; i++)        
        a[i]=rand()%100;
}
 
void sortDownOddPos (int* a, int n)
{
    for (int i=0; i<n-2; i+=2)    
    for (int j=0; j<n-i-2; j+=2)        
      if (a[j] < a[j+2]) 
      swap(a[j], a[j+2]);
}
 
void sortUpEvenPos (int* a, int n)
{
    for (int i=1; i<n-1; i+=2)    
    for (int j=1; j<n-i-1; j+=2)        
      if (a[j] > a[j+2]) 
      swap(a[j], a[j+2]);
}
 
void print (int *a, int n)
{
    for (int i = 0; i < n; i++)             
        cout << a[i] << " ";        
    cout << "\n";    
}  
 
int main()
{
    srand((int)time(0));
    int n;
    cout << "n="; cin >> n;
    
      int *a = new int[n];
    
    random(a,n);
    cout << "Array:\n";
    print(a,n);    
    sortDownOddPos(a,n);
    sortUpEvenPos(a,n);
    cout << "Sorted array:\n";
    print(a,n);
    
    delete[]a;
system("pause");
return 0;
}
0
29.11.2021, 01:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.11.2021, 01:11
Помогаю со студенческими работами здесь

Найти среднее геометрическое значение положительных элементов,которые расположены на местах пересечения непарных строчек и парных столбцов
Здравствуйте,уважаемые форумчане!Помогите пожалуйста с написанием программ-а то завтра сдать уже...

Напечатать сумму отрицательных элементов, которые стоят на парных местах в массиве
Напечатать сумму отрицательных элементов, которые стоят на парных местах в массиве...

Числа меньше 80H расположить в порядке уменьшения, а числа больше 80H - в порядке увеличения (KP580)
помогите написать программу на языке ассемблера микропроцессора kp580 64 однобайтных числа...

В массиве заменить все элементы, что стоят на парных местах, максимальным значением массива
Доброго времени суток) Написал код, но не могу понять, почему оно не выводит массив не то, чтобы...

Дана последовательность а1, а2,.,а20. Элементы, стоящие на нечетных местах, расположить в порядке возрастания, а на — четных в порядке убывания
Дана последовательность а1, а2,...,а20. Элементы, стоящие на нечетных местах, расположить в порядке...

Дана последовательность а1, а2,.,а20. Элементы, стоящие на нечетных местах, расположить в порядке возрастания, а на — четных в порядке убывания
Дана последовательность а1, а2,...,а20. Элементы, стоящие на нечетных местах, расположить в порядке...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru