0 / 0 / 0
Регистрация: 11.09.2021
Сообщений: 18
1

Работа с символами

23.05.2022, 13:04. Показов 273. Ответов 4

Студворк — интернет-сервис помощи студентам
Всем привет!
Не могу понять, как можно это по-простому реализовать, мне нужно:
На вход получаю какие-то символы, к примеру: s13sa23sa. И мне нужно взять только "23" оттуда, и при этом, это должно быть числом.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.05.2022, 13:04
Ответы с готовыми решениями:

работа с символами
У меня ситуация такая, с массивом выводится значения, и возле них должна быть буква( первое...

Работа с символами
Привет всем.У меня есть задание.Надо написать программу которая будет работать так.Допустим я ввожу...

Работа с символами
Доброго времени суток,нужна ваша помощь. Помогите переделать программу так,чтобы мы использовали...

Работа с символами
среда программирования Visual C++ объектно-ориентированный Здравствуйте. Люди такой вопрос как...

4
Нарушитель
8994 / 4847 / 1119
Регистрация: 12.03.2015
Сообщений: 22,963
23.05.2022, 13:07 2
Цитата Сообщение от agfnv Посмотреть сообщение
s13sa23sa. И мне нужно взять только "23" оттуда
А "13" не нужно?
0
0 / 0 / 0
Регистрация: 11.09.2021
Сообщений: 18
23.05.2022, 13:09  [ТС] 3
нет, не нужно. Нужно только последнее число в строке.
0
792 / 598 / 318
Регистрация: 24.02.2017
Сообщений: 2,128
23.05.2022, 13:17 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <sstream>
using namespace std;
 
int main(){
      char s[]="s13sa23sa",*p;
 
      p=strstr(s,"23");
      stringstream t;
      t<<p;
      int n;
      t>>n;
      cout<<n;
      return 0;
}
0
Нарушитель
8994 / 4847 / 1119
Регистрация: 12.03.2015
Сообщений: 22,963
23.05.2022, 13:32 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
24
25
26
27
28
29
30
31
32
#include <cstdio>
#include <cstring>
 
#define is_digit(x) (0x2F < (x) && (x) < 0x3A)
 
// поиск и извлечение из строки символов последнего числа.
bool extract_last(char* text, unsigned &value)
{
  bool found = false;
  value = 0;
  unsigned factor = 1;
  
  for (char* ptr = text + strlen(text) - 1; ptr >= text; ptr--)
  {
    if (!found) found = is_digit(*ptr);
    if (found)
      if (is_digit(*ptr)) 
        value = value + factor * (*ptr - 0x30), factor *= 10;
      else break;
  }  
  
  return found;
}
 
int main()
{
  char text[] = "s13sa23sa";
  unsigned value = 0;
  if (extract_last(text, value)) printf("# found: %u\n", value); 
  else printf("! not found.\n");
  return 0;
}
Максимум 32 бита без знака.

0
23.05.2022, 13:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.05.2022, 13:32
Помогаю со студенческими работами здесь

Работа с символами
Здравствуйте уважаемые программисты! В этой теме я хотел вас попросить помочь мне с подсчетам и...

Работа с символами
У меня очень серьезные проблемы с кодом. #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include...

работа с символами
С клавиатуры вводится строка. Проверить заканчивается ли строка точкой, если нет, то добавить...

Работа с символами
Даны символы s1, s2, … Известно, что символ s1 отличен от восклицательного знака и что среди s2,...

Работа с символами
.... set tmp=%~d0% set tmp=%tmp:~0,1% set Partition=2 ... допустим tmp=H . Возможно ли...

работа с символами
1.1. Дана символьная строка, содержащая русские буквы, цифры и пробелы. Написать строку справа...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru