Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Pelmesh_
0 / 0 / 0
Регистрация: 29.11.2017
Сообщений: 81
1

Дана строка символов, состоящая из цифр, разделенных пробелами. Вывести на экран числа этой строки в порядке возрастан

13.12.2017, 20:56. Просмотров 1203. Ответов 3
Метки нет (Все метки)

При вводе чисел к примеру 5 3 2 1 , выдает непонятные цифры 3251325032490
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
//---------------------------------------------------------------------------
 #include <stdio.h>
#include <vcl.h>
#pragma hdrstop
#include <string.h>
#include <conio.h>
#include <iostream.h>
#pragma hdrstop
#pragma argsused
//---------------------------------------------------------------------------
 
#pragma argsused
 
int main() {
    int n, j,c;
    char st[81];
    puts("Vvedite");
     gets(st);
    n = strlen(st);
    atoi(st);
    for (j = 0; j < n; j++) {
        if (st[j]<st[j+1])
         c=st[j];
         st[j]=st[j+1] ;
          st[j+1]=c;
          }
   for (j = 0; j < n; j++)
    printf("%d",st[j]);
 
    getch();
}
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2017, 20:56
Ответы с готовыми решениями:

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

Дана строка символов, состоящая из цифр, разделенных пробелами. Вывести четные числа этой строки
Дана строка символов, состоящая из цифр, разделенных пробелами. Вывести четные числа этой строки...

Дана строка символов, состоящая из цифр, разделенных пробелами. Вывести четные числа этой строки
Дана строка символов, состоящая из цифр, разделенных пробелами. Вывести четные числа этой строки....

Дана строка символов, состоящая из цифр, разделенных пробелами. Вывести четные числа этой строки- не работает
#include &lt;vcl.h&gt; #pragma hdrstop #include &lt;conio.h&gt; #include &lt;iostream.h&gt; #include &lt;string.h&gt; ...

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

3
n1b1ru
235 / 92 / 45
Регистрация: 22.01.2017
Сообщений: 357
13.12.2017, 21:38 2
Лучший ответ Сообщение было отмечено Pelmesh_ как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
char st[81];
    puts("Vvedite");
    gets(st);
    int n = strlen(st);
    
    // Bubble sort
    for(int i = 0; i < n - 1; i++)
    {
        for(int j = i; j < n; j++)
        {
            if((st[i] - '0') > (st[j] - '0')) // char to int
            {
                std::swap(st[i], st[j]);
            }
        }
    }
 
    std::cout << st << std::endl;
1
Pelmesh_
0 / 0 / 0
Регистрация: 29.11.2017
Сообщений: 81
13.12.2017, 23:30  [ТС] 3
а можно объяснить 9 и 11 строчку?
0
n1b1ru
235 / 92 / 45
Регистрация: 22.01.2017
Сообщений: 357
14.12.2017, 00:03 4
Pelmesh_, это пузырьковая сортировка. В первом цикле берётся элемент из массива и сравнивается с
остальными (вложенный цикл - 9 строчка). В условии сравниваются элементы предварительно изменив тип с char в int.
В таблице ASCII коды для символов чисел от 0-9 начинаются с 48-57. Следовательно если '0' имеет код 48, то разница
элемента массива и '0' даст код равный равный числу в десятичной системе.
0
14.12.2017, 00:03
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2017, 00:03

Дана строка, состоящая из слов на английском языке, разделенных пробелами. Вывести на экран эти слова в порядке алфавита
Дана строка, состоящая из слов на английском языке, разделенных пробелами. Вывести на экран эти...

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

Дана строка символов, состоящая из цифр и пробелов. Вывести на экран слово с максимальной длиной
Помогите, выдает ошибку в проверке условия цикла #include &lt;conio.h&gt; #include &lt;stdio.h&gt;...


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

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

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