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

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

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

Сортировать числа - C++

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

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

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

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

С помощью алгоритма вставки, нужно сортировать парные числа массива в порядке возрастания - C++
Приветствую! Нужно написать программу которая из текстового файла будет считывать в массив числа (например, 2 6 4 13 15 29). После...

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

Сортировать - C++
написать программу самым простым способом типо сортировки и так далее !!! вот задача : Задана строка, содержащая целые числа...

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

4
no swear
139 / 119 / 39
Регистрация: 01.07.2016
Сообщений: 696
Завершенные тесты: 1
05.02.2017, 19:16 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
139 / 119 / 39
Регистрация: 01.07.2016
Сообщений: 696
Завершенные тесты: 1
05.02.2017, 21:18 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ну если я не ошибаюсь числа которые мы вводим положительные, исходя из этого я и написал 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
139 / 119 / 39
Регистрация: 01.07.2016
Сообщений: 696
Завершенные тесты: 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
Привет! Вот еще темы с ответами:

Как сортировать массив - C++
В массиве положительных чисел а1,а2,...аN разместить в начале массива числа, в записи которых есть цифра &quot;0&quot;,сохраняя исходное расположение...

Как сортировать массив? - C++
В массиве положительных чисел а1,а2,...аN разместить в начале массива числа, в записи которых есть цифра &quot;0&quot;,сохраняя исходное расположение...

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

Сортировать по возрастанию(по алфавиту) - C++
2. Символьный массив, состоящий из 15и символов. Сортировать их по возрастанию(по алфавиту). Например: Дано: ф а п р б г д . . . . В...


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

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

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