Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 27.05.2012
Сообщений: 30
1

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

01.06.2012, 13:55. Показов 1210. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Прошу помочь с заданием.
Дана строка S, состоящая из цифр и других символов. Создать новую
строку, содержащую вначале цифры, а затем другие символы из S.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.06.2012, 13:55
Ответы с готовыми решениями:

Создать новую строку, содержащую вначале символы, а затем цифры из S
Дана строка S , состоящая из цифр и других символов .Создать новую строку , содержащею вначале...

Вывести на экран сначала цифры, затем буквы, затем остальные символы исходной строки
Вывести на экран сначала цифры, затем буквы, затем остальные символы исходной строки. : a -...

Строки. Зашифровать строку, поместив вначале символы, расположенные на четных позициях, а затем, в обратном порядке, на нечетных
2. Дана строка-предложение. Зашифровать ее, поместив вначале все символы, расположенные на четных...

Зашифровать строку, поместив вначале все символы, с четных позиций строки, а затем все символы с нечетных позиций
Дана строка-предложение. Зашифровать ее, поместив вначале все символы, расположенные на четных...

7
2 / 2 / 1
Регистрация: 15.09.2011
Сообщений: 25
01.06.2012, 14:38 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;
}
1
12 / 12 / 3
Регистрация: 09.11.2009
Сообщений: 65
01.06.2012, 14:50 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;
}
0
2 / 2 / 1
Регистрация: 15.09.2011
Сообщений: 25
01.06.2012, 15:21 4
Прошу прощения за небольшой косяк в 12-ой строке:
C++
1
for(int i=1; i<MAX; i++)
0
51 / 11 / 5
Регистрация: 11.05.2012
Сообщений: 21
01.06.2012, 15:26 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;
}
//---------------------------------------------------------------------------
0
24 / 24 / 10
Регистрация: 04.04.2012
Сообщений: 119
01.06.2012, 15:29 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];
0
26 / 26 / 7
Регистрация: 18.11.2011
Сообщений: 266
01.06.2012, 16:35 7
Цитата Сообщение от Aesonet Посмотреть сообщение
if (s[i]>=0 && s[i]<=9) s1+=s[i];
каг бы это char тут нид тода от 49 отсчитывать а не от 0
0
программист С++
860 / 600 / 147
Регистрация: 19.12.2010
Сообщений: 2,014
01.06.2012, 16:45 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;
}
0
01.06.2012, 16:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.06.2012, 16:45
Помогаю со студенческими работами здесь

Строка: создать из двух строк третью строку, содержащую общие символы первой и второй строки без их дублирования.
создать из двух строк третью строку, содержащую общие символы первой и второй строки без их...

Сгрупировать в выходном файле вначале числа, начинающиеся с цифры 1, затем с цифры 2, 3, 4
сделайте программу кто может, пожалуйста. Очень сильно прошу! Условие: Исходный текст содержит...

Сгруппировать в выходном файле вначале числа, начинающие с цифры 1, затем с цифры 2, 3, 4 и т.д.,
Здравствуйте, помогите мне пожалуйста с задачкой. Исходный текст содержит список целых...

Из строки сформировать новую строку, содержащую символы цифр исходной строки
Из введенной символьной строки выбрать все цифры и сформировать другую строку из этих цифр,...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru