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

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

Восстановить пароль Регистрация
 
AndreyDob
Сообщений: n/a
08.06.2013, 09:03     Найдите во введенной строке все подстроки вида «ХХ.ХХХ.Х», где Х – цифра, и выведите их на экран #1
Найдите во введенной строке все подстроки вида «ХХ.ХХХ.Х», где Х – цифра, и выведите их на экран. (Задачка проде простенькая, возможно я что-то напутал, не знаю как вывести на экран только «ХХ.ХХХ.Х», подсобите чем можете) Вот моя работа:

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();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2013, 09:03     Найдите во введенной строке все подстроки вида «ХХ.ХХХ.Х», где Х – цифра, и выведите их на экран
Посмотрите здесь:

Найдите из этого текста слово из трех букв и выведите на экран C++
C++ Вывести номера позиций начала введенной подстроки в введенной строке
C++ Заменить во введенной строке каждую последовательность <xx> (где xx – двухзначное шестнадцатеричное число) на символ с номером xx
замените в строке все вхождения одной подстроки на другую C++
C++ STL. Заменить в строке S все вхождения подстроки S1 на подстроку S2
Во введенной пользователем строке удалите все пробелы в начале и конце строки C++
Выведите массив на экран и найдите количество элементов, значение которых равно нулю C++
C++ В прямоугольной матрице найдите наименьший элемент, и выведите на экран строки, в которых он находится

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Рыжий Лис
Просто Лис
 Аватар для Рыжий Лис
209 / 164 / 44
Регистрация: 17.05.2012
Сообщений: 611
Записей в блоге: 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]);
  }
}
Mysterion777
 Аватар для Mysterion777
-74 / 48 / 2
Регистрация: 11.01.2013
Сообщений: 199
08.06.2013, 09:49     Найдите во введенной строке все подстроки вида «ХХ.ХХХ.Х», где Х – цифра, и выведите их на экран #3
Читайте регулярные выражения!
Yandex
Объявления
08.06.2013, 09:49     Найдите во введенной строке все подстроки вида «ХХ.ХХХ.Х», где Х – цифра, и выведите их на экран
Ответ Создать тему
Опции темы

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