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

Из строи получить фрагменты текста, которые расположены между первым и вторым двоеточием - C++

Восстановить пароль Регистрация
 
ЛенаЛенаЛена
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 6
05.11.2010, 13:40     Из строи получить фрагменты текста, которые расположены между первым и вторым двоеточием #1
Помогите, пожалуйста, с написание лабы. задача такая:
На экран вывести из каждой строки только те фрагменты текста, которые расположены между первым и вторым двоеточием, третьим и четвертым, пятым и шестым и т.д. Исходным является текстовый файл. В текст могут входить слова из латинских букв, цифры, знаки арифметических операций, точка, запятая, пробел. Требуется считать текст из файла, вывести его на экран, после решения задачи вывести на экран результат.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2010, 13:40     Из строи получить фрагменты текста, которые расположены между первым и вторым двоеточием
Посмотрите здесь:

Найти сумму элементов между первым и вторым отрицательными элементами массива C++
Разница элементов массива, расположенных между первым отрицательным и вторым положительным C++
Вычислить сумму элементов массива между первым и вторым положительными элементами C++
Получить все символы,расположенные между первым и вторым двоеточием C++
Вычислить разницу элементов массива, что расположены между первым отрицательным та вторым положительным элементами C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Zyoma
10 / 10 / 3
Регистрация: 05.11.2010
Сообщений: 30
05.11.2010, 15:38     Из строи получить фрагменты текста, которые расположены между первым и вторым двоеточием #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
#include <iostream>
#include <fstream>
#include <string>
#include <conio.h>
 
using namespace std;
 
int main()
{
    string text="",c="",otvet[10];
    int count=0,k=0;
    fstream f("primer.txt");
    while(!f.eof())
    {
        c=f.get();
        text+=c;
        if(c==":")count++;
        if(count==1 && c!=":")otvet[k]+=c;
        if(count==2)
        {
            k++;
            count=0;
        }
    }
    if(count!=2)k-=1;
    cout<<text<<endl;
    for(int i=0;i<=k;i++) cout<<otvet[i]<<"\n";
    f.close();
    getch();
    return 0;
}
ЛенаЛенаЛена
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 6
05.11.2010, 16:29  [ТС]     Из строи получить фрагменты текста, которые расположены между первым и вторым двоеточием #3
спасибо, но если не сложно, можно с коментариями написать?
просто я в программировании полный 0((
Zyoma
10 / 10 / 3
Регистрация: 05.11.2010
Сообщений: 30
05.11.2010, 18:36     Из строи получить фрагменты текста, которые расположены между первым и вторым двоеточием #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
27
28
29
30
31
#include <iostream>
#include <fstream>
#include <string>
#include <conio.h>
 
using namespace std;
 
int main()
{
        string text="",c="",otvet[10];
        int count=0,k=0;
        fstream f("primer.txt"); //открываем файл
        while(!f.eof()) //Выполняем цикл пока не будет конца файла
        {
                c=f.get(); //считываем один символ
                text+=c; // прибавляем его к общей строке ( чтоб в конце вывести весь наш файл)
                if(c==":")count++; //если этот символ - ":" то увеличиваем счетчик(нашли первое ":")
                if(count==1 && c!=":")otvet[k]+=c; //записываем весь текст после первого ":"
                if(count==2) //если нашло второе ":" то...
                {
                        k++; //переходим к следующему элементу массива ответов
                        count=0; // обнуляем наш счетчик
                }
        }
        if(count!=2)k-=1; //если у последнего  ":" не было "пары" то последний элемент не учитываем.
        cout<<text<<endl; // выводим наш файл
        for(int i=0;i<=k;i++) cout<<otvet[i]<<"\n";  //выводим ответы
        f.close(); //закрываем файл
        getch();
        return 0;
}
ЛенаЛенаЛена
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 6
05.11.2010, 20:18  [ТС]     Из строи получить фрагменты текста, которые расположены между первым и вторым двоеточием #5
выручили)))
Yandex
Объявления
05.11.2010, 20:18     Из строи получить фрагменты текста, которые расположены между первым и вторым двоеточием
Ответ Создать тему
Опции темы

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