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

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

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

Символьные строки. Работа с файлами. - C++

09.01.2012, 23:50. Просмотров 636. Ответов 4
Метки нет (Все метки)

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

Строки и работа с файлами - C++
Дан текст в файле input.txt. Проверяет чтобы после каждой точки предложение начиналось с большой буквы.Корректный текст записывает в файл...

Работа с файлами(не строки) - C++
Не подскажите операторы для работы с файлами. То есть мне нужно вводить в файл элементы(int например) (я знаю что через ifstream), и ЧЕРЕЗ...

C++/ работа с текстовыми файлами/строки - C++
Дорогие форумчане, у меня есть лаба, в которой надо смещать все символы вправо, но вот появилась трабла, считывается текст из файла весь, а...

Работа с текстовыми файлами.Удалить строки. - C++
Доброе время суток. Нужна помощь : есть текстовый файл вида: asd qwe zxc rty fgh Нужно переписать строки которые...

Работа с файлами. Убрать пустые строки - C++
Дан текстовый файл, в котором встречаются пустые строки. Надо написать программу которая эти пустые строки из текстового файла удалит, и...

Строки, работа с файлами и массивами строк - C++
Требуются срочная помощь :swoon: зачет через 2 часа... Не хватает 2х лаб... помогите люди добрые кто чем может :sorry: Лаба...

4
Gepar
1177 / 533 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
10.01.2012, 00:49 #2
Ну ищите два пробела (перед словом и после) и сверяете равен ли символ идущий после первого пробела символу идущему перед последним пробелом.

Добавлено через 15 минут
Вот набросок, хотя код получился не очень то хорошим, явно есть что улучшить, может это вам удастся. Ну считывать данные вы вроде умеете так что привожу пример просто с string.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int main ()
{
    string str="ababa galamaga ada";
    if(str.length()<=1)
     exit(1);
    size_t first;
    size_t last;
    first=str.find_first_not_of(" ");
    last=str.find(" ");
    while(last!=string::npos)
    {
         if(str[first]==str[last-1])
          cout<<str.substr(first,last)<<'\t';
       last++;
       first=str.find_first_not_of(" ",last);
       last=str.find(" ",last);
    }
 
     if(str[first]==str[str.length()-1])
      cout<<str.substr(first,last);
}
Добавлено через 1 минуту
поиск до цикла можно в принципе и упустить, но тогда нужно усложнить условие, в общем на ваш вкус )
1
shout27
0 / 0 / 0
Регистрация: 04.12.2011
Сообщений: 47
10.01.2012, 00:57  [ТС] #3
Ну, спасибо)) Буду разбираться)
Просто С только первый год изучаю, да и вообще язык программирования, поэтому многое пока для меня не понятно...
0
Gepar
1177 / 533 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
10.01.2012, 02:55 #4
тогда
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
int main ()
{
    string str="ababa galamaga ada";
    //если строка пустая или в ней 1 символ то нечего там искать
    if(str.length()<=1)
     exit(1);
     
    size_t first;//позиция начала слова
    size_t last;//позиция за концом слова
    first=str.find_first_not_of(" ");//найдём что-то кроме пробела (начало слова)
    last=str.find(" ");//найдём пробел (сл. символ за концом слова)
    
    while(last!=string::npos)//пока конец слова можно ещё найти
    {
         if(str[first]==str[last-1])
          cout<<str.substr(first,last)<<'\t';
       last++;
       first=str.find_first_not_of(" ",last);
       last=str.find(" ",last);
    }
    //после проработки цикла не проверяеться не явл. ли последнее слово искомым
    //когда 1 символ слова = последнему символу слова
    //проверим это
     if(str[first]==str[str.length()-1])
      cout<<str.substr(first,last);
}
0
shout27
0 / 0 / 0
Регистрация: 04.12.2011
Сообщений: 47
10.01.2012, 19:14  [ТС] #5
О, спасибо! Так даже лучше
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2012, 19:14
Привет! Вот еще темы с ответами:

Работа с файлами, как определить конец строки - C++
Как установить определение конца строки файла? Подготовьте в «Блокноте» текстовый файл. Напишите программу, которая считывает текст из...

Работа с файлами С++ Строки заменить сроку другим числом! - C++
Дан файл из 5 строк как сделать чтобы можно было заменить любую сроку 1 2 3 или 5 на другое число 1236547 6654879 2312364 и т.д

Работа с файлами, запись строки в файл и чтение из файла - C++
Короче у меня задание типа записать строку в old.txt, потом считать это, найти самое маленькое слово и удалить его, после чего записать...

символьные строки - C++
как инициализировать символьную строку так, чтобы туда засунуть русские буквы? так чтобы не белеберда была


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

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

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