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

Написать функцию замены всех цифр в строке пробелами - C++

25.12.2012, 15:34. Просмотров 879. Ответов 7
Метки нет (Все метки)

Помогите пожалуйста написать программу, очень срочно надо

Написать функцию замены всех цифр в строке пробелами.
Ввести и обработать две смешанные строки(вводятся английские буквы и цифры).
Строки вводятся с клавиатуры
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2012, 15:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Написать функцию замены всех цифр в строке пробелами (C++):

Написать функцию замены всех русских символов в строке пробелами
Нужно было написать функцию замены всех русских символов в строке пробелами....

Написать функцию замены всех русских символов в строке пробелами
Написать функцию замены всех русских символов в строке пробелами. Ввести и...

Написать и протестировать функцию для замены символов “:” на “.” в заданной строке
13. Написать и протестировать функцию для замены символов “:” на “.” в заданной...

Написать функцию, возвращающую количество цифр в строке.
Написать функцию, возвращающую количество цифр в строке. С помощью нее...

Написать функцию для генерации всех комбинаций цифр
Здравствуйте, как написать такую функцию: Есть переменная типа string: string...

Написать функцию, находящую в заданной строке количество подстрок, состоящих из цифр
Помагите пожалуйста! задание по программир. Напишите функцию Int kol(char*s)...

7
Afflicted
Обитатель форума
199 / 182 / 54
Регистрация: 28.10.2012
Сообщений: 543
25.12.2012, 15:48 #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
#include <iostream>
#include <string>
#include <ctype.h>
using namespace std;
 
void replace(string &str)
{
    for (int i = 0; i < str.size(); ++i)
        if (!isalpha(str[i]) && !ispunct(str[i]))
            str[i] = ' ';
}
 
 
int main()
{
    string str1 = "aass1114s fd2";
    string str2 = "ssd 21d 3f";
 
    replace(str1);
    cout << str1 << endl;
    replace(str2);
    cout << str2 << endl;
 
    _getch();
}
0
Schizorb
510 / 462 / 82
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
Завершенные тесты: 1
25.12.2012, 15:49 #3
В предыдущем посте ошибся темой, сорри)))


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
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
void change(char * str)
{
    char digits[] = "0123456789";
    char * p;
    
    while(*str)
    {  
        p = digits;
        
        while(*p)
        {
            if(*str == *p)
            {   
                *str = ' ';
                break; 
            }
            ++p;
        }
        ++str;
    }
}
 
int main()
{   
    char str1[256], str2[256];
    
    printf("Vvedite 1 stroku: ");
    gets(str1);
    printf("Vvedite 1 stroku: ");
    gets(str2);
    
    change(str1);
    change(str2);
    
    printf("\nStroka 1: %s\n", str1);
    printf("Stroka 2: %s\n", str2);
    
    getch();
    return 0;    
}
0
0x10
2554 / 1734 / 285
Регистрация: 24.11.2012
Сообщений: 4,361
25.12.2012, 15:54 #4
Ребят, что вы городите? Есть функция isdigit, почему бы не использовать?
1
Пaтрик
417 / 392 / 132
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
25.12.2012, 15:59 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>
 
void func(std::string& str)
{
    std::replace_if(str.begin(), str.end(), isdigit, ' ');
}
 
int main()
{
    std::string str("123asd123");
    func(str);
    std::cout << str;
}
0
Schizorb
510 / 462 / 82
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
Завершенные тесты: 1
25.12.2012, 16:45 #6
Цитата Сообщение от 0x10 Посмотреть сообщение
Есть функция isdigit, почему бы не использовать?
Несомненно... но если задача студенческая, возможно библиотечными функциями для реализации алгоритма пользоваться нельзя. Пусть будут разные варианты.
0
0x10
2554 / 1734 / 285
Регистрация: 24.11.2012
Сообщений: 4,361
25.12.2012, 17:01 #7
Это понятно. Но не лишний же цикл сверху наворачивать.
0
Avazart
Эксперт С++
7686 / 5595 / 543
Регистрация: 10.12.2010
Сообщений: 25,081
Записей в блоге: 17
25.12.2012, 17:23 #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//--------------------------------------
void replace(char* ch )
{
  for(;*ch;++ch) if(isdigit(*ch) ) *ch=' ';
}
//--------------- либо -------------------
void replace2(char* ch )
{
  for(;*ch;++ch) if( *ch>='0' && *ch<='9' ) *ch=' ';
}
//--------------------------------------
int main()
{
    char ch[]="1абра23cad4ab5ra";
    std::cout<<ch<<std::endl;
 
    replace(ch);
 
    std::cout<<ch<<std::endl;
    return 0;
}
//--------------------------------------
0
25.12.2012, 17:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2012, 17:23
Привет! Вот еще темы с решениями:

Написать функцию, которая возвращает слово в строке, которое короче всех
Задание: Написать функцию, которая возвращает слово в строке, которое короче...

Функция замены всех больших букв в строке на 'А'
функция заменяет все большие латинские буквы встречающиеся в стРоке на букву А

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

Создать функцию замены символов в char строке?
У меня вышеприведенный код работает лиш для замены первого встретившегося...


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

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

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