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

обработка строк - C++

04.06.2009, 23:09. Просмотров 1262. Ответов 15
Метки нет (Все метки)

Помогите решить задачу, на завтра нада,а с методом выполнения не знаком, к сожалению.
Разработать консольное приложение, выполняющее решение следующей задачи. В текстовом файле Strings.txt содержится набор ASCII-строк, каждая из которых не превышает 80 символов. Строки могут начинаться с пробелов (левые пробелы) или заканчиваться пробелами (правые пробелы). Могут быть также пустые строки или строки, состоящие только из пробелов. Требуется из каждой строки удалить все левые и правые пробелы, а также строки, содержащие только разделители (пробелы и знаки переноса строки). Оставшиеся непустые строки необходимо отсортировать по алфавиту и записать в текстовый файл Output.txt.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2009, 23:09
Я подобрал для вас темы с готовыми решениями и ответами на вопрос обработка строк (C++):

Обработка строк
Найдите первую и последнюю буквы К в тексте введенном с клавиатуры. И замените...

Обработка строк
Есть задание: Написать консольное приложение, реализующее полученный вариант...

обработка строк
заменить в тексте одно словосочетание другим

Обработка строк
С помощью текстового редактора «Блокнот» создать файл, содержащий текст, длина...

Обработка строк
Удалить из строки все сдвоенные, строенные и т.д. символы

обработка строк
Нужно вычислить количество слов в строке, количество разных слов в строке и...

15
Somebody
2799 / 1610 / 251
Регистрация: 03.12.2007
Сообщений: 4,211
Завершенные тесты: 3
05.06.2009, 01:01 #2
Можно было бы сначала попытаться хоть что-то сделать, что можешь. Язык не указан, пусть будет C++.
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
#include <iostream>
#include <fstream>
#include <string>
#include <list>
 
using namespace std;
 
int main()
{
    list<string> strings;
    ifstream fin("Strings.txt");
    while (!fin.eof())
    {
        string s;
        getline(fin, s);
        size_t first = s.find_first_not_of(' ');
        size_t last = s.find_last_not_of(' ');
        if (first == string::npos)
            s.clear();
        else
            s = s.substr(first, last - first + 1);
        if (!s.empty())
            strings.push_back(s);
    }
    fin.close();
    strings.sort();
    ofstream fout("output.txt");
    for (list<string>::iterator i = strings.begin(); i != strings.end(); i++)
        fout << *i << endl;
    fout.close();
}
0
zDDfix
0 / 0 / 0
Регистрация: 07.06.2009
Сообщений: 5
07.06.2009, 22:35 #3
Добрый вечер.
Somebody, передрал код, что выше.
Все компилируется, и работает, если запускать ехе-шник.
Но вот в самой среде (вижуал студия 2008) невозможно ее выполнить. Всмысле при нажатии "Start Debaggung" запускается, и не прекращает работу.
Что это может значить? И как с этим бороться?
0
Search..
Заказ софта
340 / 185 / 21
Регистрация: 26.05.2009
Сообщений: 863
07.06.2009, 22:44 #4
zDDfix: Подключи библиотеку хорошую, вот-так:

C++
1
#include <мозг>
P.S: После регулярного включения этой библиотеки, как правило, ошибок стает меньше
0
zDDfix
0 / 0 / 0
Регистрация: 07.06.2009
Сообщений: 5
07.06.2009, 22:50 #5
Search.., ошибок нет. Внимательно читал, что у меня не получается?
Ты бы лучше ответил на вопрос, чем язвил бородатыми приколами.
0
Somebody
2799 / 1610 / 251
Регистрация: 03.12.2007
Сообщений: 4,211
Завершенные тесты: 3
08.06.2009, 14:39 #6
С такими вопросами лучше обращаться в "Битву экстрасенсов", может кто и ответит. У меня есть 2 предположения:
0) Эта версия Visual Studio не поддерживает русские названия файлов, то есть в #include вместо <мозг> надо писать <brain>.
1) В текущей папке (обычно .\debug относительно папки с проектом) нет Strings.txt, условие !fin.eof() никогда не выполняется, и всё зависает на этом цикле.
0
zDDfix
0 / 0 / 0
Регистрация: 07.06.2009
Сообщений: 5
08.06.2009, 18:41 #7
Видимо, я не точно выразил суть проблемы. Ну, во всяком случае, любой программист должен иметь чуток сверхспособностей.
Расшифровываю:
Если запустить файл имя_моего_проекта.ЕХЕ, то все работает как положено: программа запускается, тут же закрывается, и в файле output.txt я вижу результат работы.
Если запустить программу из самой среды (Start Debugging или Start Without Debugging), то открывается консоль....и не закрывается, пока не закроешь ее принудительно; и, естественно, файл output.txt даже не создается.
0
Search..
Заказ софта
340 / 185 / 21
Регистрация: 26.05.2009
Сообщений: 863
08.06.2009, 18:58 #8
zDDfix: Насчет "сверхспособностей" - я согласен ! Я, к примеру, летать умею, ыы

Добавлено через 4 минуты 56 секунд
Ааа, я понял, что ты от нас хочешь... Короче вот два варианта, как можно исправить это:

1) Пишешь это перед return (в main):

C++
1
getchar();
2) Подключаешь это:

C++
1
#include <stdlib.h>
и перед return (в main), пишешь это:

C++
1
system("pause");
Твоя проблема решена..
0
ISergey
Maniac
Эксперт С++
1408 / 919 / 148
Регистрация: 02.01.2009
Сообщений: 2,747
Записей в блоге: 1
08.06.2009, 19:02 #9
Цитата Сообщение от Search.. Посмотреть сообщение
2) Подключаешь это:
C++
1
#include <stdlib.h>
Зачем?
оно и так работает.
C++
1
2
3
4
5
6
7
#include <iostream>
 
int main()
{
    system("pause");
    return 0;
}
0
Search..
Заказ софта
340 / 185 / 21
Регистрация: 26.05.2009
Сообщений: 863
08.06.2009, 19:08 #10
Ты же наверное знаешь, как я пишу код:

C++
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
#include <locale.h>
 
int main(int argc, char * argv [])
{
    setlocale(LC_ALL,"Rus");
    puts("Боже мой!!! Боже мой! Я умею летать!!!");
    system("pause");
    return 0;
}
На этот код выдаст ошибку, насчет system("pause");
То есть, если нет iostream'а, то stdlib обязателен...
0
ISergey
Maniac
Эксперт С++
1408 / 919 / 148
Регистрация: 02.01.2009
Сообщений: 2,747
Записей в блоге: 1
08.06.2009, 19:12 #11
Ну если так то ладно.
1
Search..
Заказ софта
340 / 185 / 21
Регистрация: 26.05.2009
Сообщений: 863
08.06.2009, 19:13 #12
Спасибо за то, что дали добро, Синсей)))))
0
zDDfix
0 / 0 / 0
Регистрация: 07.06.2009
Сообщений: 5
08.06.2009, 20:46 #13
Search.., вот блин, опять не то. Как задержать выполнение программы я знаю.
Тот факт, что консоль открывается, выполняется программа и сразу же закрывается, если два раза клецнуть на файлик ехе, меня как раз устраивает.
Мне не нравится, что программа не завершается, если запускать ее прямо из Visual Studio.

Ну, в общем ладно, я ушел в себя...по локоть....лучше сам напишу че нить.
0
Search..
Заказ софта
340 / 185 / 21
Регистрация: 26.05.2009
Сообщений: 863
08.06.2009, 21:05 #14
Мда... Телепаты в отпуску (с) хз
0
zDDfix
0 / 0 / 0
Регистрация: 07.06.2009
Сообщений: 5
09.06.2009, 03:32 #15
Ну я уже не могу!!
Search.., , либо ты тупой, либо ты не воспринимаешь длинных предложений.....

В любом случае, "мозг" необходимо подключить тебе.
На форуме винград мне ответили еще вчера.

ЛАСКАВО ПРОСИМО, А НАЗАД ВИНОСИМО!!

Самое интересное то, что мерятся членами - неблагодарное дело. И это ты поймешь когда-нибудь.
Ололо!!
0
Search..
Заказ софта
340 / 185 / 21
Регистрация: 26.05.2009
Сообщений: 863
09.06.2009, 03:42 #16
Да то ты на форум телепатии зашел...

Добавлено через 1 минуту 41 секунду
По-моему, не стоит обижаться на меня. Ведь я пытался помочь... Заметь, никто не понял, что ты хочешь. Это же не означает то, что все программисты, которые заглядывали в эту тему - тупые...
0
09.06.2009, 03:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2009, 03:42
Привет! Вот еще темы с решениями:

Обработка строк
Нужно обработать строку по условию Вычислить количество вхождений в строку...

Обработка строк
//разделила предложение на слова, т.е. теперь каждое слово будет с новой...

обработка строк.
нужно составить программу. вот задание: даны n предложений. найти в каждом...

Обработка строк
Не реализована возможность ввода и сохранения нескольких строк. Функция...


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

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

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