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

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

Войти
Регистрация
Восстановить пароль
 
 
tatarin4555
10 / 10 / 0
Регистрация: 20.11.2012
Сообщений: 163
Записей в блоге: 1
#1

Строки - C++

03.03.2013, 13:57. Просмотров 712. Ответов 16
Метки нет (Все метки)

Дана строка. Преобразуйте ее так, чтобы сначала следовали цифровые символы, а затем все остальные. Порядок следования символов между собой не изменять. Как ее решить на Visual C++ 2008???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2013, 13:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строки (C++):

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

Добавить строки, начиная со строки К1 и до строки К2, в динамический массив строк - C++
Есть динамический массив строк. Заполняется, т.е. размер его уже известен будет. Но дальше нужно сделать задание: "Добавить строки, начиная...

Удалить строки динамической матрицы, начиная со строки К1 и до строки К2 - C++
Сформировать динамический двумерный массив, заполнить его случайными числами и удалить строки, начиная со строки К1 и до строки К2 вот...

Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции первой строки, с которой вторая строка содер-жится в ней - C++
Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции первой строки, с которой вторая строка...

Чтение через fscanf_s части строки с пробелом (и запись этой же строки) - C++
нужно записать в файл строку, содержащую через табуляцию int, char, char, char, float, int. Далее необходимо из такой же строки вывести...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
03.03.2013, 14:04 #2
почитать книжку, а если по делу, то можно новую создать новую строку и туда записывать уже в новом порядке, ну или тогда уже менять символы местами. А как проверить строку на наличие цифр можно почитать здесь, там даже с примером
Кликните здесь для просмотра всего текста
http://www.cplusplus.com/reference/cctype/isalpha/
DU
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
03.03.2013, 14:07 #3
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 <algorithm>
#include <iostream>
#include <string>
#include <cctype>
 
bool compare(char ch1, char ch2)
{
    const bool isCh1Disit = isdigit(ch1);
    const bool isCh2Disit = isdigit(ch2);
 
    if (isCh1Disit && isCh2Disit)
        return false;
 
    if (isCh1Disit)
        return true;
 
    return false;
}
 
int main()
{
    std::string str = "a4b5h3c1";
 
    std::cout << "str = " << str << std::endl;
 
    std::stable_sort(str.begin(), str.end(), &compare);
 
    std::cout << "str = " << str << std::endl;
 
    return 0;
}
tatarin4555
10 / 10 / 0
Регистрация: 20.11.2012
Сообщений: 163
Записей в блоге: 1
03.03.2013, 14:15  [ТС] #4
только почему то ошибку выдает.
1>------ Построение начато: проект: Лаб2, Конфигурация: Debug Win32 ------
1>Компиляция...
1>stdafx.cpp
1>Компиляция...
1>Лаб2.cpp
1>d:\учеба\12во1(2)\лабы с++\лаб2\лаб2\лаб2.cpp(3) : warning C4627: #include <algorithm>: пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "stdafx.h" или перестройка предкомпилированного заголовка
1>d:\учеба\12во1(2)\лабы с++\лаб2\лаб2\лаб2.cpp(4) : warning C4627: #include <iostream>: пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "stdafx.h" или перестройка предкомпилированного заголовка
1>d:\учеба\12во1(2)\лабы с++\лаб2\лаб2\лаб2.cpp(5) : warning C4627: #include <string>: пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "stdafx.h" или перестройка предкомпилированного заголовка
1>d:\учеба\12во1(2)\лабы с++\лаб2\лаб2\лаб2.cpp(6) : warning C4627: #include <cctype>: пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "stdafx.h" или перестройка предкомпилированного заголовка
1>d:\учеба\12во1(2)\лабы с++\лаб2\лаб2\лаб2.cpp(34) : fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "stdafx.h"" в источник.
1>Журнал построения был сохранен в "file://d:\Учеба\12во1(2)\Лабы С++\Лаб2\Лаб2\Debug\BuildLog.htm"
1>Лаб2 - ошибок 1, предупреждений 4
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
В чем ошибка не пдскажете?
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
03.03.2013, 14:17 #5
tatarin4555, вы забыли директивы подключить!

C++
1
2
3
4
#include <algorithm>
#include <iostream>
#include <string>
#include <cctype>
tatarin4555
10 / 10 / 0
Регистрация: 20.11.2012
Сообщений: 163
Записей в блоге: 1
03.03.2013, 14:24  [ТС] #6
подскажи пожалуйста как это сделать, я еще новичек в этом
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
03.03.2013, 14:26 #7
tatarin4555,

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 "stdafx.h"
#include <algorithm>
#include <iostream>
#include <string>
#include <cctype>
 
bool compare(char ch1, char ch2)
{
    const bool isCh1Disit = isdigit(ch1);
    const bool isCh2Disit = isdigit(ch2);
 
    if (isCh1Disit && isCh2Disit)
        return false;
 
    if (isCh1Disit)
        return true;
 
    return false;
}
 
int main()
{
    std::string str = "a4b5h3c1";
 
    std::cout << "str = " << str << std::endl;
 
    std::stable_sort(str.begin(), str.end(), &compare);
 
    std::cout << "str = " << str << std::endl;
 
    return 0;
}
tatarin4555
10 / 10 / 0
Регистрация: 20.11.2012
Сообщений: 163
Записей в блоге: 1
03.03.2013, 14:29  [ТС] #8
Большое спасибо))
Еще одна просьба, как увидеть ответ?
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
03.03.2013, 14:31 #9
tatarin4555, а что за IDE, если студия то Ctrl + f5
tatarin4555
10 / 10 / 0
Регистрация: 20.11.2012
Сообщений: 163
Записей в блоге: 1
03.03.2013, 14:32  [ТС] #10
Увидел спасибо)
а можно сделать чтоб эту строку я сам вводил?
DU
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
03.03.2013, 14:36 #11
C++
1
2
3
4
5
6
7
вместо:
std::string str = "a4b5h3c1";
 
Пишем:
std::string str;
std::cin >> str;
....
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
03.03.2013, 14:46 #12
tatarin4555, getline(cin, str, '\n'); так можешь вводить даже с пробелами
tatarin4555
10 / 10 / 0
Регистрация: 20.11.2012
Сообщений: 163
Записей в блоге: 1
03.03.2013, 14:48  [ТС] #13
А вместо чего это добавить?
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
03.03.2013, 14:52 #14
tatarin4555,

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 "stdafx.h"
#include <algorithm>
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
 
bool compare(char ch1, char ch2)
{
    const bool isCh1Disit = isdigit(ch1);
    const bool isCh2Disit = isdigit(ch2);
 
    if (isCh1Disit && isCh2Disit)
        return false;
 
    if (isCh1Disit)
        return true;
 
    return false;
}
 
int main()
{
    string str;
    cout << "Enter the string: ";
    getline(cin, str, '\n');
 
    cout << "str = " << str << endl;
 
    stable_sort(str.begin(), str.end(), &compare);
 
    cout << "str = " << str << endl;
 
    return 0;
}
tatarin4555
10 / 10 / 0
Регистрация: 20.11.2012
Сообщений: 163
Записей в блоге: 1
03.03.2013, 14:55  [ТС] #15
Цитата Сообщение от DU Посмотреть сообщение
C++
1
2
3
4
5
6
7
вместо:
std::string str = "a4b5h3c1";
 
Пишем:
std::string str;
std::cin >> str;
....
заменил а вводить сам ничего не могу все такая же программа

Добавлено через 2 минуты
Цитата Сообщение от yoghurt92 Посмотреть сообщение
tatarin4555,

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 "stdafx.h"
#include <algorithm>
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
 
bool compare(char ch1, char ch2)
{
    const bool isCh1Disit = isdigit(ch1);
    const bool isCh2Disit = isdigit(ch2);
 
    if (isCh1Disit && isCh2Disit)
        return false;
 
    if (isCh1Disit)
        return true;
 
    return false;
}
 
int main()
{
    string str;
    cout << "Enter the string: ";
    getline(cin, str, '\n');
 
    cout << "str = " << str << endl;
 
    stable_sort(str.begin(), str.end(), &compare);
 
    cout << "str = " << str << endl;
 
    return 0;
}
ввожу строку она ее не преобразует все так же остается и че то глючит программа
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2013, 14:55
Привет! Вот еще темы с ответами:

Как считать строки из файла, если там больше одной строки? - C++
Как считать строки из файла в массив. Если в файле одна строка, то нет проблем, но если несколько, то при использовании функции fgets ...

Упорядочить символы строки B в алфавитном порядке и удалить латинские буквы из строки A - C++
&quot;Даны строки A и B. Если в A есть латинские буквы, а в B нет повторяющихся символов, то упорядочить символы B в алфавитном порядке и...

Найти среднее арифметическое каждой строки матрицы и отсортировать строки по возрастанию - C++
Дана квадратная матрица. Найти среднее арифметическое каждой строки и отсортировать строки по возрастанию этих характеристик

Вычислить длину введенной строки и вывести символы строки с четными индексами - C++
Напишите программу, которая требует ввода строки с клавиатуры. Программа вычисляет длину строки и выводит на экран только те символы...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.03.2013, 14:55
Ответ Создать тему
Опции темы

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