Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
 Аватар для den790
0 / 0 / 0
Регистрация: 21.02.2010
Сообщений: 40

Упорядочить целые числа в строке по возрастанию.

12.12.2010, 18:10. Показов 2508. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста с задачей на СИ: Задана строка, содержащая целые числа (максимум 15 чисел). Упорядочить числа в строке по возрастанию. При реализации программы необходимо использовать функции для обработки строк.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.12.2010, 18:10
Ответы с готовыми решениями:

Задана строка, содержащая целые числа (максимум 15 чисел). Упорядочить целые числа в строке по убыванию.
Задана строка, содержащая целые числа (максимум 15 чисел). Упорядочить целые числа в строке по убыванию. должно выглядеть что то...

Упорядочить целые числа в строке по убыванию
Задана строка, содержащая вещественные числа (максимум 20 чисел). Упорядочить целые числа в строке по убыванию. подскажите...

Упорядочить слова в строке по возрастанию их длины
Нужно упорядочить слова в строке по возрастанию их длины Найти ошибки #include "StdAfx.h" #include "stdio.h" ...

5
 Аватар для Просто Это Я
7 / 7 / 0
Регистрация: 12.12.2010
Сообщений: 14
12.12.2010, 18:20
если с функциями, то можно, перевести строку в число типа long. (если что,можно сначала разбить её на несколько строк). Затем из этого числа можно выделять и сравнивать цифры, строить их по порядку в виде другого числа. А его потом перевести в строку. как-то так... (не факт, что это самый лучший вариант)
1
 Аватар для den790
0 / 0 / 0
Регистрация: 21.02.2010
Сообщений: 40
12.12.2010, 18:32  [ТС]
Просто Это Я, как-то сложновато получается. помогите с реализацией
0
 Аватар для Просто Это Я
7 / 7 / 0
Регистрация: 12.12.2010
Сообщений: 14
12.12.2010, 18:41
реализуем это с помощью следующей ф-и:
long atol (const char *str) - преобразует троку str в целое число типа long (честно говоря, сама с ней пока не работала - так что придётся экспериментировать))
далее полученное число в цикле делим , скажем, на 10) и остаток от деления заносим в массив.
Далее массив сортируем по возрастанию. Потом этот массиб преобразуем в число.
Ну, и собственно, последнее - переводим число обратно с троку : char *ltoa(long value, char *str, int radix) - преобразует длинно целое число value в строку Str.
Напоминаю, что не уверена в эффективности данных методов)
1
 Аватар для den790
0 / 0 / 0
Регистрация: 21.02.2010
Сообщений: 40
12.12.2010, 19:52  [ТС]
помогите, не получается что-то
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
12.12.2010, 20:48
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
 
int split_n(const char * str, int * arr, int size, const char * delim){
    char * buf, * p, * tail;
    int cnt;
    long val;
    
    if ( ( buf = strdup(str) ) == NULL ){
        perror("strdup");
        return -1;
    }
    for ( cnt = 0, p = strtok(buf, delim); p && cnt < size; ++cnt, p = strtok(NULL, delim) ){
        errno = 0;
        val = strtol(p, &tail, 10);
        if ( errno || *tail ){
            free(buf);
            return -1;
        }
        arr[cnt] = (int)val;
    }
    
    free(buf);
    return cnt;
}
 
int asc_cmp(const void * a, const void * b){
    return *(int*)a - *(int*)b;
}
 
#define MAX_NUMBERS 15
#define DELIM " \t\n"
 
int main(void){
    int arr[MAX_NUMBERS], cnt, i;
    char buf[BUFSIZ];
    
    while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ){
        if ( ( cnt = split_n(buf, arr, MAX_NUMBERS, DELIM) ) < 1 ){
            fprintf(stderr, "Error while parsing string!\n");
            exit(1);
        }
        qsort(arr, cnt, sizeof(int), asc_cmp);
        printf("Sorted: ");
        for ( i = 0; i < cnt; ++i )
            printf("%d ", arr[i]);
        printf("\n");
    }
    
    exit(0);
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.12.2010, 20:48
Помогаю со студенческими работами здесь

Упорядочить элементы в каждой строке матрицы по возрастанию.
Дан двумерный массив n*m. Упорядочить элементы в каждой строке по возрастанию. В получившемся массиве найти сумму элементов по столбцам и...

Упорядочить слова в строке по возрастанию длины слов.
1)Упорядочить слова в строке по возрастанию длины слов. 2)Вводятся фамилия и баллы от1 до 100. Вывести фамилию учеников с максимальным и...

Объединить два файла, содержащих числа, в один и упорядочить числа по возрастанию
в основной программе создаются два числовых файла с n и m числами. Процедура объединяет оба файла в один, сортирует числа по возрастанию....

Массив, в котором целые числа идут по возрастанию
Есть массив, в котором целые числа идут по возрастанию. Например, массив (4, 8, 9, 12). Нужно написать программу, которая будет выводить на...

Упорядочить числа по возрастанию крайней правой цифры числа
Ребят помогите пожалуйста написать две программы завтра сдавать их надо пожалуйста помогите ! Тема:Числовая обработка одномерных...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru