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

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

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

Удаление из строки всех символов, коды которых попадают в заданный диапазон - C++

28.12.2010, 11:44. Просмотров 645. Ответов 3
Метки нет (Все метки)

написать функцию удаления из строки s всех символов ASCIIкоды которых попадают в диапозон от н1 до н2 включительно 0<=н1<=255,0<=н2<=255, н1<=н2

помогите!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2010, 11:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удаление из строки всех символов, коды которых попадают в заданный диапазон (C++):

Найти два первых элемента в массиве, значения которых не попадают в заданный диапазон - C++
Здравствуйте. Помогите с работой в c++ массивы. 1. Найти два первых элемента в массиве С(17), значения которых не попадают в заданный с...

Сортировка данных по возрастанию и проверка попадают ли значения в заданный диапазон - C++
Помогите, пожалуйста, уменьшить время выполнения кода. Сортировка по росту На торжественном открытии олимпиады, впрочем, как и на...

Увеличить коды всех символов на единицу - C++
Написал программу, но что-то пошло не так и она перестала запускаться. Возможно я что-то где-то перепутал. Задание: Напишите программу...

определить числа которые попадают в диапазон - C++
с клавиатуры ввести 3 числа и определить попадают ли они в диапазон подскажите как реализовать проверку?

Определить и выдать на экран те числа, которые попадают в диапазон от 2 до 5 - C++
Ввести с клавиатуры 3 целых числа. Определить и выдать на экран те числа, которые попадают в диапазон от 2 до 5. Если число попадает на...

Массивы-Указатели. Определить кол-во и суму элементов, которые попадают в диапазон А,В - C++
Сделать программу, к-рая случайно заполняет массив А (n&lt;30) целыми значениями. Определить кол-во и суму элементов, которые попадают в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
28.12.2010, 11:56 #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
#include <iostream>
#include <string>
#include <algorithm>
#include <functional>
 
struct comp:public std::unary_function<unsigned char, bool>
{
    argument_type first;
    argument_type last;
    comp(argument_type f, argument_type l):first(f), last(l)
    {
    }
    comp():first(0), last(0) 
    {
    }
    result_type operator () (argument_type one)
    {
        return one >= first && one <= last;
    }
};
 
int main()
{
     std::string str;
     std::cout<<"Enter string\n";
     std::getline(std::cin, str);
     unsigned short first, second;
     std::cout<<"Enter ASCII codes of first and last for deleting\n";
     std::cin>>first>>second;
     if(first < 0 || first > 255 || second <0 || second > 255)
     {
         std::cerr<<"Error. Can` t be more than 255 or less than 0\n";
         return 1;
     }
     comp compare(static_cast<unsigned char>(first), static_cast<unsigned char>(second));
     str.erase(std::remove_if(str.begin(), str.end(), compare), str.end());
     std::cout<<"Result\n"<<str<<'\n';
     return 0;
}
0
Bad_pr
1 / 1 / 0
Регистрация: 24.12.2010
Сообщений: 35
28.12.2010, 12:56  [ТС] #3
спасибо! но у меня не работает((
как не через потоки написать?
0
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
28.12.2010, 22:36 #4
Bad_pr, вот по простенькому:

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
45
#include <iostream>
#include <cstring>
 
using namespace std;
 
void stroka(char *, int, int, int);
 
int main()
{
    const int size=255;
    char arr1[size];
    //char arr2[size];
    int r;
    cout << "Enter a line\n";
    cin.getline(arr1, size);
    r = strlen(arr1);
    cout << "Line before function use :\n";
    cout << arr1 << "\n";
 
    cout << "Enter an interval n1, n2 (0>= n1 <= n2 <=255) :\n";
    int n1, n2;
    cin >> n1 >> n2;
 
    while(n1>=n2)
    {
         cout << "Enter once again (0>= n1 <= n2 <=255)\n";
         cin >> n1 >> n2;
    }
 
    cout << "Line after function use :\n";
 
    stroka(arr1, r, n1, n2);
 
    cout << arr1 << "\n";
 
    return 0;
}
void stroka(char *mas1, int k, int i1, int i2)
{
    for(int i=0; i<k; i++)
    {
       for(int j=i1; j<=i2; j++)
       if(mas1[i] == char(j)) mas1[i] = ' ';
    }
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2010, 22:36
Привет! Вот еще темы с ответами:

Определить, все ли числа попадают в заданный интервал - C++
Дана последовательность n целых чисел, где n- задано. Определить, все ли числа попадают в заданный интервал

удалить все строки, в которых каждый элемент попадает в заданный интервал - C++
помогите пожалуста составить программу!!!! в двумерном массиве, элементы которого- целые числа, произвести следующее действие: удалить...

Найти сумму и число тех элементов массива, которые попадают на заданный отрезок - C++
Помогите написать программу по теме: одномерные массивы. Найти сумму и число тех элементов заданного массива X1,X2, … ,Xn, которые...

Записать в файл B, те строки файла A и их номера, в которых заданный символ p не встречался ни разу - C++
Дан файл А. Записать в файл B, те строки и их номера, в которых заданный символ p не встречался ни разу. #include &quot;stdafx.h&quot; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.12.2010, 22:36
Ответ Создать тему
Опции темы

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