Форум программистов, компьютерный форум CyberForum.ru

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

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

Строки C/C++ - C++

14.01.2012, 15:13. Просмотров 337. Ответов 5
Метки нет (Все метки)

До строк пока что не дошёл, взгляните если не сложно:

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


У самого есть предположение, но насколько оно правильное - это другое дело.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2012, 15:13     Строки C/C++
Посмотрите здесь:

Упорядочить строки массива в соответствии с ростом характеристики строки C++
От значений элементов каждой строки двумерного массива вычесть значение минимального элемента этой строки C++
C++ Рассортировать строки динамической матрицы по наибольшему элементу строки.
C++ Структуры и строки (как поменять значение строки в структуре?)
Сформировать строку, считая числа начальной строки соответствующими ASCII-кодами символов результирующей строки C++
C++ Задана матрица С(5,5). Поменять местами максимальный элемент каждой строки с первым элементом соответствующей строки
C++ Вводятся 2 строки. Перевернуть обе строки, склеить и вывести
C++ Даны строки s, s0. Найти количество вхождений строки s0 в строку s
C++ Каждый элемент строки матрицы представить как приращение по отношению к минимальному элементу этой же строки
C++ Создать новые строки, содержащие цифры, буквы, а также знаки пунктуации, выбранные из введенной строки
Выполнить циклический сдвиг элементов каждой строки матрицы на количество позиций, равное номеру строки C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Serejke_qq
 Аватар для Serejke_qq
150 / 108 / 9
Регистрация: 06.07.2011
Сообщений: 224
Завершенные тесты: 2
14.01.2012, 15:39     Строки C/C++ #2
Цитата Сообщение от Svender Посмотреть сообщение
У самого есть предположение, но насколько оно правильное - это другое дело.
ну так сразу и выкладывайте, а мы поддержим ход Ваших мыслей.
igorrr37
 Аватар для igorrr37
1600 / 1228 / 121
Регистрация: 21.12.2010
Сообщений: 1,875
Записей в блоге: 7
14.01.2012, 15:49     Строки C/C++ #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <set>
#include <iterator>
#include <sstream>
#include <algorithm>
#include <string>
 
int main()
{
    std::string s("55  342 -9 12 34 341 101 0 7  34 -12  0");
    std::stringstream ss(s);
    std::multiset<int> set((std::istream_iterator<int>(ss)), std::istream_iterator<int>());
    ss.clear();
    ss.str("");
    std::copy(set.begin(), set.end(), std::ostream_iterator<int>(ss, " "));
    s.assign(ss.str());
    std::cout << s << std::endl;
    return 0;
}
BRcr
 Аватар для BRcr
4004 / 2293 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
14.01.2012, 15:51     Строки C/C++ #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    int i, j;
    char tmp, str[20] = "365298745236";
 
    for ( i = 1; str[i] != '\0' && i < 20; ++i ) // цикл проходов, i - номер прохода
    {
        tmp = str[i];
        for ( j = i - 1; j >= 0 && str[j] > tmp ; --j) { // поиск места элемента в готовой последовательности
            str[j + 1] = str[j];
        }               // сдвигаем элемент направо, пока не дошли
        str[j + 1] = tmp; // место найдено, вставить элемент
    }
    printf("%s\n", str);
    system("pause");
    return 0;
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
17011 / 5416 / 335
Регистрация: 30.03.2009
Сообщений: 14,660
Записей в блоге: 26
14.01.2012, 16:34     Строки C/C++ #5
BRcr, по ходу дела ты не различаешь понятия "цифра" и "число"
igorrr37
 Аватар для igorrr37
1600 / 1228 / 121
Регистрация: 21.12.2010
Сообщений: 1,875
Записей в блоге: 7
14.01.2012, 16:48     Строки C/C++ #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
#include <stdio.h>
#include <stdlib.h>
 
int Compare(const void* a, const void* b)
{
    return *(long*)a - *(long*)b;
}
 
int main ()
{
    char* s = " 55  342 -9 12 34 341 101 0 7  34 -12  0", s1[256] = {0};
    long arr[20], i, j, k;
    for(i = 0; *s; ++i)
    {
        arr[i] = strtol(s, &s, 10);
    }
    qsort(arr, i, sizeof(*arr), Compare);
    for(j = 0, k = 0; k < i; ++k)
    {
        j += sprintf(s1 + j, "%d ", arr[k]);
    }
    puts(s1);
    return(0);
}
Yandex
Объявления
14.01.2012, 16:48     Строки C/C++
Ответ Создать тему
Опции темы

Текущее время: 01:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru