С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Удаление из строк - C++

08.01.2012, 15:42. Просмотров 451. Ответов 4
Метки нет (Все метки)

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

Удаление строк - C++
Есть код программы, она удаляет все числа между первым максимальным и последним минимальным числом. Проблема в том, что она удаляет еще...

Удаление из строк - C++
В символьной строке удалить все слова состоящие из нечётного количества букв.

Матрицы. Удаление строк. - C++
Помогите решить задачку Описать процедуру RemoveRows(A, M, N, K1, K2), удаляющую из вещественной матрицы A размера M × N строки с...

Удаление последних строк. - C++
Есть файл, содержащий неизвестное количество строк. как удалить 3 последние из них?

удаление строк из файла - C++
Здравствуйте, помогите с задачкой.(программа многомодульная) *при покупке билета пассажир регистрируется в базе данных(Информация о...

Удаление строк из файла - C++
Имеется файл формата аа бб вв гг дд Как удалить введенную с клавиатуры строку? Только чтоб не оставалось пробелов

4
rangerx
1937 / 1546 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
08.01.2012, 16:10 #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
#include <stdio.h>
#include <ctype.h>
 
void remove_alpha(char* s)
{
    char* dest = s;
    for(; *s; ++s)
        if(!isalpha(*s))
            *dest++ = *s;
    *dest = '\0';
}
 
int main()
{
    char s1[80];
    char s2[80];
 
    printf("s1: ");
    gets(s1);
 
    printf("s2: ");
    gets(s2);
 
    remove_alpha(s1);
    remove_alpha(s2);
 
    printf("s1: %s\n", s1);
    printf("s2: %s\n", s2);
}
1
-=ЮрА=-
Заблокирован
Автор FAQ
08.01.2012, 16:12 #3
Цитата Сообщение от pyshkinC Посмотреть сообщение
Удаление из строк всех букв со сжатием строк ( остаются цифры и символы)
PS Дано: 2 строки по 80 символов.
- язык Си/С++???Строки как даны - как строковые литерали, записаны в файле, вводятся вручную?
0
-=ЮрА=-
Заблокирован
Автор FAQ
08.01.2012, 16:30 #4
Цитата Сообщение от pyshkinC Посмотреть сообщение
Удаление из строк всех букв со сжатием строк ( остаются цифры и символы) PS Дано: 2 строки по 80 символов.
- на плюсах это может выглядеть вот так(число строк в файле может быть произвольным, длинна строки тоже)
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
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <string>
using namespace std;
 
std::string remAlphas(std::string s)
{
    for(int i = 0; i < s.length(); i++)
    {
        if(isalpha(s[i]))
        {
            s.erase(i,1);
            i--;
        }
    }
    return s;
}
 
int main()
{
    string line;
    string text;
    ifstream ifs("data.txt");
    if(!ifs)
        cerr<<"Error open data.txt\n";
    else
    {
        cout<<"Text in file\n";
        while(getline(ifs,line))
        {
            cout<<line.c_str()<<endl;
            text += remAlphas(line);
            text += "\n";
        }
        ifs.close();
        cout<<"text after removing alphas\n";
        cout<<text.c_str();
    }
    system("pause");
    return 0;
}
Содержимое data.txt
sdgsdgfdg1fd1gd4g1ds-vdsvsd adab n,.00.xf5gs5g
safdsa'gd4vsdv45+9sgd
1
Миниатюры
Удаление из строк  
pyshkinC
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 33
08.01.2012, 17:04  [ТС] #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
void remove_alpha(char* s)
{
    char* dest = s;
    for(; *s; ++s)
        if(!isalpha(*s))
            *dest++ = *s;
    *dest = '\0';
}
 
void del() 
{
    FILE * fp;
    char x[81];
 
    fp = fopen ( "C:\\temp\\new\\file.txt" , "r+" );
    fgets (x , 81 , fp) ;
    remove_alpha(x);
    printf("s1: %s\n", x);
        fgets (x , 81 , fp) ;
    remove_alpha(x);
    printf("s2: %s\n", x);
    fclose (fp);
 
 
}
0
08.01.2012, 17:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2012, 17:04
Привет! Вот еще темы с ответами:

Удаление строк из списка - C++
Задан список строк. Исключить из списка одинаковы строки. Не знаю как удалять строку из списка. // alg3.cpp : Defines the entry...

Удаление строк в файле - C++
Нужна программа, удаляющая в текстовом файле все строчки, начинающиеся на введенный символ. Хелп!

Удаление динамического массива строк - C++
Здравствуйте! У меня проблема с удалением массива строк.Создал класс с полем - char** str; резервирую память(делаю это в конструкторе) ...

Удаление строк из двумерного массива - C++
Подскажите, пожалуйста, как исправить код, чтобы удалялись только те строки, что поэлементно меньше. Т.е.т.е. 1 4 5 3 и 1 3 5 2 ...


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

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

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