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

удаление символов! зачет\\ - C++

Восстановить пароль Регистрация
 
Eiphoria
0 / 0 / 0
Регистрация: 19.12.2010
Сообщений: 21
28.12.2010, 15:04     удаление символов! зачет\\ #1
написать функцию удаления из строки s всех символов ASCII-коды которых попадают в диапозон от н1 до н2 включительно 0<=н1<=255,0<=н2<=255, н1<=н2

помогите пожалуйста!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2010, 15:04     удаление символов! зачет\\
Посмотрите здесь:

C++ Удаление n символов из строки
Удаление символов из файла C++
Удаление символов из строки C++
Удаление повторяющихся символов C++
C++ Удаление символов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
28.12.2010, 15:48     удаление символов! зачет\\ #2
Eiphoria,
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
#include <iostream>
#include <string>
#include <iterator>
 
#define _int(a) static_cast<int>(a)
 
void remov_some_symbol(std::string &str, int n1, int n2)
{
    for(std::string::iterator it = str.begin(); it != str.end(); ++it)
        if(_int(*it) >= n1 && _int(*it) <= n2)
        {
            str.erase(it);
            --it;
        }
}
 
int main()
{
    std::string str;
    std::cout << "\n\nString -> ";
    getline(std::cin, str);
 
    int n1, n2;
    std::cout << "\n\nn1 -> ";
    std::cin >> n1;
    std::cout << "\n\nn2 -> ";
    std::cin >> n2;
 
    remov_some_symbol(str, n1, n2);
    std::cout << "\n\nAfter remove ->  " << str;
 
    return 0;
}
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
28.12.2010, 15:59     удаление символов! зачет\\ #3
asics, Жестокий дефайн) А вообще я через стринг уже делал. Походу человеку надо на Си
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
28.12.2010, 16:04     удаление символов! зачет\\ #4
Цитата Сообщение от ForEveR Посмотреть сообщение
asics, Жестокий дефайн)
Мне как-то так удобней
Eiphoria
0 / 0 / 0
Регистрация: 19.12.2010
Сообщений: 21
28.12.2010, 16:15  [ТС]     удаление символов! зачет\\ #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 <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
 
unsigned char *delstr( unsigned char *s,int n1,int n2)
{//unsigned char *k,*s0;
unsigned char *s0;
// int  l=0;int m=0;
while (*s!='\n') {  if (*s>=n1 && *s<=n2){ s++;} else *s0++=*s; } // else //s++;} // return s;
//while (*s!='\n') {m++; s++;}
//m=strlen(s)-l;
 
        //  return s0;
           }
 
void main(){ clrscr();
//unsigned char *s;
int n1, n2;
char str[80];
printf ("\n vvedite stroku->");
fflush(stdin);
fgets(str,80,stdin);
printf ("\n vvedite n1->");
scanf("%d",&n1);
printf("\n vvedite n2->");
scanf("%d",&n2);
if (n1>n2) {printf("\n Error! n1 dolzhen bit < or <= n2");}
char *p=delstr(str,n1,n2);
puts (p);
fflush(stdin);
getchar(); }
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
28.12.2010, 16:16     удаление символов! зачет\\ #6
Eiphoria, То. что вы скинули это не С++
Eiphoria
0 / 0 / 0
Регистрация: 19.12.2010
Сообщений: 21
28.12.2010, 16:17  [ТС]     удаление символов! зачет\\ #7
а что интересно? 0_о
с++ под DOS
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
28.12.2010, 16: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
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
#include <string.h>
 
#define BUFSIZE 256
 
int main()
{
    char str[BUFSIZE], _str[BUFSIZE];
    int n1, n2, i, k = 0;
    printf("\n\nString -> ");
    scanf("%[^\n]%*c", str);
 
    printf("\n\nn1 -> ");
    scanf("%d", &n1);
    printf("\n\nn2 -> ");
    scanf("%d", &n2);
 
    for(i = 0; i < strlen(str); ++i)
    {
        if((int)str[i] >= n1 && (int)str[i] <= n2)
            continue;
 
        else
        {
            _str[k] = str[i];
            ++k;
        }
    }
 
    printf("\n\nAfter remove ->  ");
    for(i = 0; i < strlen(_str); ++i)
        printf("%c", _str[i]);
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2010, 16:25     удаление символов! зачет\\
Еще ссылки по теме:

Удаление символов из строки C++
C++ Удаление повторяющихся символов

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

Или воспользуйтесь поиском по форуму:
Eiphoria
0 / 0 / 0
Регистрация: 19.12.2010
Сообщений: 21
28.12.2010, 16:25  [ТС]     удаление символов! зачет\\ #9
большое спасибо))) осталось отладить, ну а это я сама в силах сделать)
Yandex
Объявления
28.12.2010, 16:25     удаление символов! зачет\\
Ответ Создать тему
Опции темы

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