Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Arilabaf
0 / 0 / 0
Регистрация: 07.10.2016
Сообщений: 56
#1

Сортировать числа

05.02.2017, 16:46. Просмотров 890. Ответов 4
Метки нет (Все метки)

Помогите написать код по сортировке чисел. Вводим рандомных 10 чисел, из них нужно найти самое большое четное число и поставить ее в начало, остальные числа сортировать по возрастанию.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2017, 16:46
Ответы с готовыми решениями:

помогите научиться сортировать числа.
{ int i,j,g; int mas ; for(int i=0;i<10;i++) scanf("%i", &mas); ...

Из двух массивов чисел образовать третий, и сортировать числа в порядке невозрастания
Всем привет! Помогите с решением задачи: заданы две последовательности...

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

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

Сортировать
написать программу самым простым способом типо сортировки и так далее !!! ...

4
no swear
162 / 142 / 74
Регистрация: 01.07.2016
Сообщений: 772
Завершенные тесты: 1
05.02.2017, 19:16 #2
Лучший ответ Сообщение было отмечено Arilabaf как решение

Решение

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
#include <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    int a[10];
    int n;
    cin>>n;
    for(int i=0;i<n;++i){
        cin>>a[i];
    }
    int maxi=a[0];
    int position;
    for(int i=0;i<n;++i){
        if(a[i]%2==0){
            if(a[i]>maxi){
                maxi=a[i];
                position=i;
            }
        }
    }
    for(int i=0;i<n-1;++i){
        for(int j=0;j<n-1;++j){
            if(a[j]>a[j+1])swap(a[j],a[j+1]);
        }
    }
    cout<<maxi<<" ";
    for(int i=0;i<n;++i){
        if(i!=position)cout<<a[i]<<" ";
    }
}
Добавлено через 7 минут
13 строка maxi=-1 сделай.
1
Arilabaf
0 / 0 / 0
Регистрация: 07.10.2016
Сообщений: 56
05.02.2017, 21:04  [ТС] #3
Цитата Сообщение от no swear Посмотреть сообщение
13 строка maxi=-1 сделай.
Можно узнать почему -1?
0
no swear
162 / 142 / 74
Регистрация: 01.07.2016
Сообщений: 772
Завершенные тесты: 1
05.02.2017, 21:18 #4
Лучший ответ Сообщение было отмечено Arilabaf как решение

Решение

Ну если я не ошибаюсь числа которые мы вводим положительные, исходя из этого я и написал maxi=-1, если написать maxi=a[0] то в переменной maxi сохраниться любое число (хоть оно чётное или нечётное) и если получиться так что в maxi сохранилось максимальное нечётное число то цикл который будет находить максимум не сработает потому что не будет такого максимального чётного числа который бы был больше maxi(максимально нечётное число).
ВОТ ПРИМЕР при котором maxi=a[0] не будет работать:
7 6 5 4 3 2 1
Здесь 7 это maxi, а в последовательности нет такого чётного числа который бы был больше 7 и в ответе получаем:
7 1 2 3 4 5 6

Добавлено через 6 минут
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
#include <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    int a[10];
    int n;
    cin>>n;
    bool f=false;
    for(int i=0;i<n;++i){
        cin>>a[i];
    }
    int maxi;
    for(int i=0;i<n;++i){
        if(a[i]%2==0){
            if(!f){
            maxi=a[i];
            f=true;
            }
            if(a[i]>maxi){
                maxi=a[i];
            }
        }
    }
    for(int i=0;i<n-1;++i){
        for(int j=0;j<n-1;++j){
            if(a[j]>a[j+1])swap(a[j],a[j+1]);
        }
    }
    cout<<maxi<<" ";
    for(int i=0;i<n;++i){
        if(a[i]!=maxi)cout<<a[i]<<" ";
    }
}
Чуточку изменил код. Теперь не надо писать maxi=-1 и т. п.
0
no swear
162 / 142 / 74
Регистрация: 01.07.2016
Сообщений: 772
Завершенные тесты: 1
07.02.2017, 22:51 #5
Arilabaf, Моё сообщение пришло к тебе на почту? А то я не пойму мои сообщения доходят до тебя или нет.
0
07.02.2017, 22:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2017, 22:51

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

Как сортировать массив?
В массиве положительных чисел а1,а2,...аN разместить в начале массива числа, в...

Сортировать вектор структур
Отсортировать вектор по одному из полей, используя алгоритмы STL. По...


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

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

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