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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.89
k0ksby
4 / 4 / 0
Регистрация: 05.10.2012
Сообщений: 9
#1

Дана строка символов, состоящая из букв, цифр, запятых, точек, знаков «+» и «–». Выделить подстроку, которая соответствует записи вещественного числа - C++

12.12.2012, 08:54. Просмотров 3013. Ответов 2
Метки нет (Все метки)

Дана строка символов, состоящая из букв, цифр, запятых, точек, знаков «+» и «–». Выделить подстроку, которая соответствует записи вещественного числа с фиксированной точкой.

Решите пожалуйста,кто сможет . идей вообще нет....

Добавлено через 4 часа 39 минут
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include <iostream.h>
#include <string.h>
int main()  
{
int i,j;
char s[100];
char s1[100];
char s2[100];
char res[100];
cout<<"Vvedite stroky: "<<endl;
cin>>s;
int len=strlen(s);
for (i=1;i<len-1;i++)
{
strcpy(res,"");
if (s[i]=='.') 
{
strcpy(s1,"");
for (j=i-1;j>=0;j--)
{
if (s[j]=='0'||s[j]=='1'||s[j]=='2'||s[j]=='3'||s[j]=='4'||s[j]=='5'||s[j]=='6'||s[j]=='7'||s[j]=='8'||s[j]=='9') 
{
char tmp[100];
strcpy(tmp,s1);
strcpy(s1,"");
s1[0]=s[j];
strcat(s1,tmp);
}
else
{
break;
}
}
strcpy(s2,"\0");
for (j=i+1;j<len;j++)
{
if (s[j]=='0'||s[j]=='1'||s[j]=='2'||s[j]=='3'||s[j]=='4'||s[j]=='5'||s[j]=='6'||s[j]=='7'||s[j]=='8'||s[j]=='9')
{
s2[j-i-1]=s[j];
s2[j-i]='\0';
}
else
{
break;
}
}
if (strlen(s1)>0&&strlen(s2)>0)
{
bool plus=false;
int t=i-strlen(s1)-1;
if (t>=0)
 {
if (s[t]=='+'||s[t]=='-') 
{
res[0]=s[t];
 res[1]='\0';
plus=true;
 }
}
strcat(res,s1);
if (plus)
{
res[strlen(s1)+1]=s[i];
res[strlen(s1)+2]='\0';
}
else
{
res[strlen(s1)]=s[i];
res[strlen(s1)+1]='\0';
}
strcat(res,s2);
break;
}
}
}
if (strlen(res)>0)
{
cout<<res<<endl;
}
else
{
cout<<"Ne naideno!"<<endl;
}
return 0;
}
при компиляции "приложение не отвечает"

Добавлено через 9 часов 32 минуты
При вводе строки виснет exe потом прес эни Кей и все )
1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2012, 08:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дана строка символов, состоящая из букв, цифр, запятых, точек, знаков «+» и «–». Выделить подстроку, которая соответствует записи вещественного числа (C++):

Дана строка, состоящая из букв, цифр, запятых, точек, знаков «+» и «–». Выделить подстроку, которая соответствует записи целого числа. - C++
#include &lt;iostream.h&gt; #include &lt;string.h&gt; int main() { char st,st2; int i,j; cout &lt;&lt; &quot;Vvedite stroku&quot;; cin &gt;&gt; st; ...

Выделить подстроку, которая соответствует записи вещественного числа с плавающей точкой - C++
Дана строка символов, состоящая из букв, цифр, запятых, точек, знаков «+» и«–». Выделить подстроку, которая соответствует записи...

Выделить подстроку, которая соответствует записи вещественного числа с фиксированной точкой - C++
Здравствуйте. Такое вот задание: &quot;Дана строка символов, состоящая из букв, цифр, запятых, точек, знаков «+» и «–». Выделить подстроку,...

Выделить подстроку, которая соответствует записи вещественного числа с плавающей точкой - C++
Дана строка символов, состоящая из букв, цифр, запятых, точек, знаков «+» и «–». Выделить подстроку, которая соответствует записи...

В заданой строке выделить подстроку, которая соответствует записи вещественного числа с фиксированной точкой - C++
Дана срока из символов, состоящая из букв, цифр, запятых, точек и знаков &quot;+&quot; и &quot;-&quot;. Выделить подстроку, которая соответствует записи...

Выделить подстроку, которая соответствует записи целого числа - C++
Не могли бы помочь разобраться с кодом программы (комментариями). Задача: Дана строка, состоящая из букв, цифр, запятых, точек, знаков...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nameless
Эксперт C++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
12.12.2012, 10:30 #2
k0ksby,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
#include <iterator>
 
#include <boost/regex.hpp>
 
int main() {
   std::string str = "-3.14asd.asd.a0.23.asdfj234d.123.34++23.0";
   boost::regex rgx("\\-?\\d+(\\.\\d+)");
   std::copy(
      boost::sregex_token_iterator(str.begin(), str.end(), rgx),
      boost::sregex_token_iterator(),
      std::ostream_iterator <std::string>(std::cout, " ")
   );
}
http://liveworkspace.org/code/13RCH8$77
2
k0ksby
4 / 4 / 0
Регистрация: 05.10.2012
Сообщений: 9
12.12.2012, 16:57  [ТС] #3
Спасибо, но нам нельзя пользоваться такими средствами. ( только 3 библиотеки разрешено

Добавлено через 5 часов 44 минуты
А кто объяснит,что не так с тем кодом,что я выложил?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2012, 16:57
Привет! Вот еще темы с ответами:

Строки. Выделить подстроку, которая соответствует записи целого числа. - C++
Дана строка, состоящая из букв, цифр, запятых, точек, знаков &quot;+&quot; и &quot;-&quot;. Выделить подстроку, которая соответствует записи целого числа (т.е....

Дана строка символов, состоящая из букв и цифр. Удалить из строки все цифры - C++
Нужна прога... Дана строка символов, состоящая из букв и цифр. Удалить из строки все цифры. Буду очень признательна

Дана строка символов, состоящая из цифр, разделенных пробелами. Вывести четные числа этой строки - C++
Дана строка символов, состоящая из цифр, разделенных пробелами. Вывести четные числа этой строки если я ввожу 1 2 3 4 5, выводит 2 4,...

Дана строка символов, состоящая из цифр, разделенных пробелами. Вывести четные числа этой строки- не работает - C++
#include &lt;vcl.h&gt; #pragma hdrstop #include &lt;conio.h&gt; #include &lt;iostream.h&gt; #include &lt;string.h&gt; void main() { int n,i; ...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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