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

Создать строку S2, содержащую вначале цифры, а затем другие символы из строки S - C++

Восстановить пароль Регистрация
 
Sivrit
0 / 0 / 0
Регистрация: 27.05.2012
Сообщений: 30
01.06.2012, 13:55     Создать строку S2, содержащую вначале цифры, а затем другие символы из строки S #1
Прошу помочь с заданием.
Дана строка S, состоящая из цифр и других символов. Создать новую
строку, содержащую вначале цифры, а затем другие символы из S.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2012, 13:55     Создать строку S2, содержащую вначале цифры, а затем другие символы из строки S
Посмотрите здесь:

Сформировать из значений массива другой массив, расположив в нем сначала цифры, затем – буквы, затем - символы, не являющихся ни буквами, ни цифрами C++
Вывести строку, содержащую те же символы, но расположенные в обратном порядке. C++
C++ Сформировать строку S таким образом, чтобы в нее попеременно вошли четные символы строки S1 и нечетные символы строки S2.
Вывести на экран сначала цифры, затем буквы, затем остальные символы исходной строки C++
Вывести строку, содержащую символы заданной строки, между которыми вставлено по одному пробелу C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
@r!er
 Аватар для @r!er
2 / 2 / 1
Регистрация: 15.09.2011
Сообщений: 25
01.06.2012, 14:38     Создать строку S2, содержащую вначале цифры, а затем другие символы из строки S #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
// <@r!er> <строка> <01.06.2012>
#include <cctype>
#include <iostream>
using namespace std;
//------------------------------------------------------------------------------
int main()
{
 const int MAX=80;
 char str[MAX];
 cout<<"Введите строку:\n";
 cin.getline(str, MAX);
 for(int i=1; i<MAX && str!='\0'; i++)
 {
  int j=i;
  while(!isdigit(str[j-1]) && isdigit(str[j]) && j>0)
  {
   char temp=str[j-1];
   str[j-1]=str[j];
   str[j]=temp;
   j--;
  }
 }
 cout<<str<<endl;
 return 0;
}
Awful
 Аватар для Awful
12 / 12 / 0
Регистрация: 09.11.2009
Сообщений: 65
01.06.2012, 14:50     Создать строку S2, содержащую вначале цифры, а затем другие символы из строки S #3
или так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string>
 
using namespace std;
 
int main()
{
    string out,buf,S="Ваша строка";
    for (int i=0;i<S.size();i++)
    {
        if ((S[i]>='0')&&(S[i]<='9'))
            out+=S[i];
        else
            buf+=S[i];
    }
    out+=buf;
}
@r!er
 Аватар для @r!er
2 / 2 / 1
Регистрация: 15.09.2011
Сообщений: 25
01.06.2012, 15:21     Создать строку S2, содержащую вначале цифры, а затем другие символы из строки S #4
Прошу прощения за небольшой косяк в 12-ой строке:
C++
1
for(int i=1; i<MAX; i++)
Alex_Konkov
51 / 11 / 2
Регистрация: 11.05.2012
Сообщений: 21
01.06.2012, 15:26     Создать строку S2, содержащую вначале цифры, а затем другие символы из строки S #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//---------------------------------------------------------------------------
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
int x,i;
string s,s1="",s2="",s4;
cin>>s;
x=s.length();
for (i=0;i<x;i++)
{
if (s[i]=='1' || s[i]=='2' || s[i]=='3' || s[i]=='4' || s[i]=='5' || s[i]=='6' || s[i]=='7' || s[i]=='8' || s[i]=='9' || s[i]=='0') s1=s1+s[i];
else s2=s2+s[i];
}
s4=s1+s2;
cout<<s4;
_getch();
return 0;
}
//---------------------------------------------------------------------------
Aesonet
23 / 23 / 1
Регистрация: 04.04.2012
Сообщений: 119
01.06.2012, 15:29     Создать строку S2, содержащую вначале цифры, а затем другие символы из строки S #6
C++
1
if (s[i]=='1' || s[i]=='2' || s[i]=='3' || s[i]=='4' || s[i]=='5' || s[i]=='6' || s[i]=='7' || s[i]=='8' || s[i]=='9' || s[i]=='0') s1=s1+s[i];
легче так написать:
C++
1
if (s[i]>=0 && s[i]<=9) s1+=s[i];
Ilyawow
24 / 24 / 5
Регистрация: 18.11.2011
Сообщений: 266
01.06.2012, 16:35     Создать строку S2, содержащую вначале цифры, а затем другие символы из строки S #7
Цитата Сообщение от Aesonet Посмотреть сообщение
if (s[i]>=0 && s[i]<=9) s1+=s[i];
каг бы это char тут нид тода от 49 отсчитывать а не от 0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2012, 16:45     Создать строку S2, содержащую вначале цифры, а затем другие символы из строки S
Еще ссылки по теме:

C++ Из строки извлечь символы операций в стек, а цифры - в другую строку
C++ Создать новую строку, содержащую вначале символы, а затем цифры из S
C++ Копировать строку содержащую нулевые символы

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

Или воспользуйтесь поиском по форуму:
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
01.06.2012, 16:45     Создать строку S2, содержащую вначале цифры, а затем другие символы из строки S #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <algorithm>
#include <cstdlib>
 
bool predicate(char c)
{
    return std::isdigit(c);
}
 
int main()
{
    std::string str;
    std::cout << "Enter a string" << std::endl;
    std::cin >> str;
    std::string str2(str);
    std::stable_partition(str2.begin(), str2.end(), &predicate);
    std::cout << str2;
    return EXIT_SUCCESS;
}
Yandex
Объявления
01.06.2012, 16:45     Создать строку S2, содержащую вначале цифры, а затем другие символы из строки S
Ответ Создать тему
Опции темы

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