Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
helga182
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 9
#1

Задача в С++. ТЕМА : ОПЕРАЦИИ СО СТРОКАМИ - C++

22.12.2011, 22:47. Просмотров 449. Ответов 2
Метки нет (Все метки)

ТЕМА : ОПЕРАЦИИ СО СТРОКАМИ

Напишите программу, которая вставляет символ тире после каждого перехода с буквы на цифру и наоборот с цифры на букву в введенной с клавиатуры строке.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2011, 22:47
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Задача в С++. ТЕМА : ОПЕРАЦИИ СО СТРОКАМИ (C++):

Тема: Работа со строками в С++
какая функция подсчитывает ТОЛЬКО количество цифр в данной строке. Например: ...

какая функция считает только цифры.ТЕМА: «Работа со строками в С++»
Практическая работа №8 ТЕМА: «Работа со строками в С++» Цель: изучить работу...

Операции со строками
Значит, задание звучит так: Дан символ C и строки S, S0. После каждого...

Операции над строками
Заменить в ленте s, начиная с позиции n, все большие буквы на маленькие

Операции над строками и файлами
Написать программу , которая считывает текст из файла и заменяет любую...

Только операции и функции для работы с символами, строками и целыми числами
Пусть ЭВМ не умеет работать с вещественными числами, а имеет только операции и...

2
Mayonez
382 / 274 / 53
Регистрация: 26.12.2009
Сообщений: 875
22.12.2011, 23:40 #2
Лучший ответ Сообщение было отмечено helga182 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cctype>
#include <string>
 
using namespace std;
 
int main()
{
    string input;
    getline(cin, input);
    string result;
    for(int i = 0; i < input.length()-1; i++)
    {
        result += input[i];
        if( isdigit(input[i]) && isalpha(input[i+1]) || 
            isalpha(input[i]) && isdigit(input[i+1]) )
            result += "-";
    }
    result += input[input.length()-1];
    cout << result << endl;
    return 0;
}
0
xAtom
917 / 742 / 299
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
23.12.2011, 00:13 #3
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 <cctype>
using namespace std;
 
bool sfunc(const char a, const char b) {
    return (isalpha(a) && isdigit(b)) || (isdigit(a) && isalpha(b));
}
 
int main(void)
{
    string s = "seven7, 3apple year2012, five5, apple5, 6day";
   //getline(cin, s);
    string::iterator i = s.begin();
    while((i = adjacent_find(i, s.end(), sfunc)) != s.end())
          s.insert(++i, '-');
    cout << s << endl;
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2011, 00:13
Привет! Вот еще темы с решениями:

Динамический двумерный массив строк и операции со строками (поиск, обрезка, слияние)
Создать динамический двумерный массив на 10 ячеек (для десяти строк). Заполнить...

Определить операции над строками : формирование новой строки из двух строк по правилу с = (a>b) ? a : b
Задание выглядит следующим образом: Определить класс-строку. В класс включить...

Тема: Наследование. Задача
В программе выполнены следующие описания: class A { protected: int a;...

Тема. Полиморфизм. Задача
В программе выполнены следующие описания: class A { protected: int a;...


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

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

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