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

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

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

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

05.11.2010, 13:40. Просмотров 803. Ответов 4
Метки нет (Все метки)

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

Получить все символы,расположенные между первым и вторым двоеточием - C++
2.Известно что в исходной строке есть двоеточие.получить все символы,расположенные между первым и вторым двоеточием.если второго двоеточия...

Вычислить разницу элементов массива, что расположены между первым отрицательным та вторым положительным элементами - C++
Всем привет,ребят подкорректируйте пожалуйста ф-цию,то работает не правильно :cry: Вот задание: Вычислить разницу элементов массива, что...

вычислите сумму элементов, которая расположена между теми элементами,которые сами расположены между первым и последним отрицательными элементами. - C++
вычислите сумму элементов, которая расположена между теми элементами,которые сами расположены между первым и последним отрицательными...

Произведение элементов массива, расположенных между первым и вторым нулевыми элементами - C++
2)В одномерном массиве, состоящем из 20 целых элементов, вычислить: 1- номер максимального элемента массива; 2- произведение элементов...

Вывести подстроку, расположенную между первым и вторым пробелом исходной строки - C++
Дана строка, содержащая по крайней мере один символ пробела. Вывести подстроку, расположенную между первым и вторым пробелом исходной...

Произведение элементов массива расположенных между первым и вторым нулевыми элементами - C++
произведение элементов массива расположенных между первым и вторым нулевыми элементами. Добавлено через 1 минуту Помогите с задачей,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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
выручили)))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2010, 20:18
Привет! Вот еще темы с ответами:

Одномерный массив. Произведение значений между первым и вторым нулевыми элементами - C++
Условие: В одномерном массиве перемножить элементы которые стоят между первым и вторым нулевыми элементами массива. Условие я выполнил,...

Найти сумму элементов между первым и вторым отрицательными элементами массива - C++
Прошу разъяснить как в массиве из 10 вещ. чисел найти сумму элементов между первым и вторым отрицательными элементами.

Вычислить сумму элементов массива между первым и вторым положительными элементами - C++
Мужики помогите завтра сессия а еще ничего не готово В одномерном массиве который состоит из N элементов вычислить • максимальный за...

В одномерном массиве найти сумму между первым и вторым положительными элементами - C++
в одномерном массиве найти сумму между первым и вторым положительными элементами часть кода программы #include &quot;stdafx.h&quot; #include...


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

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

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