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

Упорядочить массив в порядке возрастания суммы цифр - C++

20.09.2016, 22:27. Просмотров 281. Ответов 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
33
34
35
36
#include <iostream> 
#include "fstream" 
using namespace std;
int digit(int n)
{
    int c = 0;
    c = (n % 10) + (n / 10);
    return c;
}
 
int main() {
    int n, i, j;
    ifstream f("input.txt");
    ofstream f1("output.txt");
    cin>> n;
    int* a;
    a = new int[n];
    for (i = 0; i < n; i++) {
        cin>>a[i];
    }
    for (i = 0; i < n - 1; i++) {
        for (j = i + 1; j < n; j++) {
 
            if (digit(a[i]) > digit(a[j])) {
                swap(a[j], a[j + 1]);
            }
 
        }
    }
 
    for (int i = 0; i < n; i++)
        cout<<a[i] << " ";
 
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.09.2016, 22:27
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Упорядочить массив в порядке возрастания суммы цифр (C++):

Упорядочить массив в порядке убывания суммы цифр элементов
Вот мой код, но он не работает: #include &lt;iostream&gt; using namespace std; ...

Упорядочить массив в порядке возрастания.
Народ помогите с задачкой. Задан массив Z(m) целых чисел. Упорядочить массив в...

Построенный массив упорядочить в порядке возрастания
Здравствуйте, уважаемые кодеры. Заданный одномерный массив А из 10 цифр....

Упорядочить массив в порядке возрастания и убывания
1 Вариант. Заранее спасибо :)

Упорядочить массив А в порядке возрастания его элементов
Вот программа на С++ #include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt;...

Упорядочить массив в порядке возрастания его элементов
Вот условие задания: -ввести массив А6,сформулировать В6 по формуле:Вi=sinAi...

2
Байт
Эксперт C
17777 / 11802 / 2453
Регистрация: 24.12.2010
Сообщений: 23,728
20.09.2016, 22:43 #2
ShuricFC, Странно ты считаешь сумму цифр. Твоя digit правильно работает только до 99
А что касаемо вопроса твоего - строка 24
C++
1
 if (digit(a[i]) > digit(a[j]) || (digit(a[i])==digit(a[j] && a[i] > a[j]))
0
SpBerkut
Объявлятель переменных
948 / 274 / 275
Регистрация: 24.09.2011
Сообщений: 1,008
Завершенные тесты: 2
21.09.2016, 13:05 #3
Сумма цифр для беззнакового числа.
C++
1
2
3
4
5
6
7
8
unsigned getSumOfDigits(unsigned x){
    unsigned r=0;
    while (x){
        r+=x%10;
        x/=10;
    }
    return r;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2016, 13:05
Привет! Вот еще темы с решениями:

Структуры. Дан массив записей, содержащих дату и время. Упорядочить этот массив в порядке «возрастания»
Дан массив записей, содержащих дату (число, месяц, год) и время (час, минута,...

Дан массив из n элементов упорядочить его в порядке возрастания
Привет.Помогите пожалуйста решить задачу. Заранее спасибо. Дан массив из n...

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

Упорядочить массив по убыванию суммы цифр элементов
Создать случайный массив размера n. Упорядочить его по убыванию суммы цифр...


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

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

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