С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Найдите во введенной строке все подстроки вида «ХХ.ХХХ.Х», где Х – цифра, и выведите их на экран - C++

08.06.2013, 09:03. Просмотров 286. Ответов 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
 
void main(void)
{
char S[250],R[250],RS[250];
int n,i,k;
printf("Введите строку");
gets(S);
n = strlen(S);
k = 0;
RS[0] = 0;
for (i=0; i<n; i++)
{
  if ((S[i] == '.') &&
      isdigit(S[i-1]) &&
      isdigit(S[i-2]) &&
      (i+5 < n) &&
      isdigit(S[i+1]) &&
      isdigit(S[i+2]) &&
      isdigit(S[i+3]) &&
      (S[i+4] == '.') &&
      isdigit(S[i+5]))
  {
    R[k-2] = 0;
    strcat(RS, R);
    strcat(RS, S);
    k = 0;
    i = i + 6;
  }
  R[k] = S[i];
  k++;
}
R[k] = 0;
if (k != 0)
  strcat(RS, R);
printf("Результирующая строка: %s\n", S);
getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2013, 09:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найдите во введенной строке все подстроки вида «ХХ.ХХХ.Х», где Х – цифра, и выведите их на экран (C++):

Вывести номера позиций начала введенной подстроки в введенной строке - C++
Вывести номера позиций начала введенной подстроки в введенной строке

Найдите все совершенные числа от 1 до 1000 и выведите их на экран - Turbo Pascal
Число совершенно,если она равна сумме всех своих делителей кроме самого себя.Пример:6=1+2+3 найдите все совершенные числа от 1 до 1000 и...

Найдите все совершенные числа от 1 до 1000 и выведите их на экран - Turbo Pascal
Число совершенно,если она равна сумме всех своих делителей кроме самого себя.Пример :6=1+2+3 найдите все совершенные числа от 1 до 1000 и...

Найдите и выведите на экран все пары чисел-близнецов на заданном отрезке - C#
Всем доброго вечера. Помогите пожалуйста решить задачу. Условие: Будет называть два числа «близнецами», если они простые и разность...

Найдите и выведите на экран все двузначные числа, сумма цифр которых не меняются - Turbo Pascal
Найдите и выведите на экран все двузначные числа, сумма цифр которых не меняются при умножении на 2. (Например: 27 и 27 * 2 = 54, сумма...

Для введенной строки найдите и выведите: - JavaScript
Для введенной строки найдите и выведите: предложения, не содержащие запятых.

2
Рыжий Лис
Просто Лис
351 / 276 / 81
Регистрация: 17.05.2012
Сообщений: 1,124
Записей в блоге: 4
08.06.2013, 09:48 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
for (i=0; i<n-7; i++)//или n-8 не знаю
{ //ХХ.ХХХ.Х
  if (
      isdigit(S[i]) &&
      isdigit(S[i+1]) &&
      (S[i+2] == '.') &&
      isdigit(S[i+3]) &&
      isdigit(S[i+4]) &&
      isdigit(S[i+5]) &&
      (S[i+6] == '.') &&
      isdigit(S[i+7])
   )
  {
    printf("%с%с.%с%с%с.%с",S[i],S[i+1],S[i+3],S[i+4],S[i+5],S[i+7]);
  }
}
1
Mysterion777
-74 / 48 / 2
Регистрация: 11.01.2013
Сообщений: 199
08.06.2013, 09:49 #3
Читайте регулярные выражения!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2013, 09:49
Привет! Вот еще темы с ответами:

Найдите и выведите на экран все трехзначные натуральные числа, сумма цифр которых равна М - Pascal ABC
С клавиатуры вводится натуральное число М (М&lt;27). Найдите и выведите на экран все трехзначные натуральные числа, сумма цифр которых равна...

Введите строку и подстроку. Удвойте все найденные вхождения подстроки в строке. Выведите преобразованную строку - Turbo Pascal
Введите строку и подстроку. Удвойте все найденные вхождения подстроки в строке. Выведите преобразованную строку

С клавиатуры вводится цифра, необходимо вывести на экран все цифры, начиная с ‘2’ и заканчивая введенной с клавиатуры. - Assembler
С клавиатуры вводится цифра, необходимо вывести на экран все цифры, начиная с ‘2’ и заканчивая введенной с клавиатуры.

Найдите и выведите на экран все двузначные числа, сумма квадратов цифр которых делится без остатка на 17 - Turbo Pascal
Найдите и выведите на экран все двузначные числа, сумма квадратов цифр которых делится без остатка на 17


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

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

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