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

Подскажите как прогу допилить. Выборка цитат из текста. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с текстовыми файлами http://www.cyberforum.ru/cpp-beginners/thread398169.html
Во входной файл подается текст вида: aaabcbbffff В исходной файле получается: 3аbc2b4f простейшая компоновка получается. #include "stdafx.h" #include <fstream> using namespace std; int _tmain(int argc, _TCHAR* argv)
C++ Функция которая принимает целое беззнаковое число. Вообщем надо написать функцию которая принимает целое беззнаковое число и возвращает true, если число четное и false в противном случае. #include <iostream.h> #include <math.h> void main () http://www.cyberforum.ru/cpp-beginners/thread398167.html
C++ Сглаживание матрицы
Народ, помогите пожалуйста с задачей. Никак не могу справиться. Условие на скриншоте. Вариант 9. Заранее спасибо. Соседями элемента Ак в матрице назовем элементы Аkl c i–1 ≤ k ≤ i+1, j–1 ≤ l ≤ j+1, (k, l) ≠ (i, j). Операция сглаживания матрицы дает новую матрицу того же размера, каждый элемент которой получается как среднее арифметическое имеющихся соседей соответствующего элемента исходной...
Трёхзначное число C++
Составить программу, которая раскладывает ро розрядным единицам трёхзначное число, которое вводит пользователь с клавиатуры. #include <iostream.h> #include <conio.h> main() { int x, a, b, c; cout<<"Vvedite truznachne chislo: "; cin>>x; a=x/100;
C++ Строки символов . Текстовые файлы... http://www.cyberforum.ru/cpp-beginners/thread398135.html
всем доброго времени суток! Помогите пожалуйста написать программу(кто может)...буду очень благодарен... Выполнить следующие задания: 1. Найти количество слов во фразе. 2. Найти в фразе слова-палиндромы 3. Во фразе поменять местами два слова. 4. Во фразе заменить одно слово другим. 5. Во фразе продублировать буквы слов. 6. В текстовом файле определить количество слов.
C++ Все возможные комбнинации элементов массива Всем привет! Есть массив char array (s - размер массива). Нужно написать прогу, которая выведет все возможные КОМБИНАЦИИ элементов этого массива и выведет результат на экран. Например, если в массиве строка abc то прога должна вывести что-то такое: ab ac bc abc подробнее

Показать сообщение отдельно
Валентин^_^
10 / 10 / 2
Регистрация: 15.10.2009
Сообщений: 119
03.12.2011, 22:57  [ТС]     Подскажите как прогу допилить. Выборка цитат из текста.
спасибо конечно... но в лабе нельзя использовать сторонние классы...

я уже писал эту прогу, используя стринг, но суть лабы заключается еще и в правильном отслеживании границ массива.

сделал как-то вот так, но неверно)
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include "stdafx.h"
#include <clocale>
#include <fstream>
#include <iostream>
 
using namespace std;
 
char * get_quotes_from_file(ifstream &file);
 
int main()
{
    setlocale(LC_ALL, "russian");
 
    ifstream file;
    file.open("D:\\file.txt", ios::in);
 
    if(!file.is_open())
    {
        cout << "Ошибка при открытии файла." << endl;
        system("pause");
        return 0;
    }
    while(!file.eof())
        cout << get_quotes_from_file(file);
 
    system("pause");
    return 0;
}
 
char * get_quotes_from_file(ifstream &file)
{
    int q = 5;
    char *c = new char[q],
        *quote = new char[500];
    bool flag;
    quote[0] = '\0';
    
    file.getline(c, q);
    if(strlen(c) == q)
    {
        q += 10;
        char *tmp = new char[q];
        strcpy(tmp, c);
        delete [] c;
        c = tmp;
    }
 
    int i = 0;
    while(c[i] != '\0')
    {
        if(c[i] == '"')
        {
            int k = 0;
            for(int ind = i; ind < strlen(c); ind++, k++)
                quote[k] = c[ind];
            bool flag = true;
        
            while(flag == true)
            {
                file.getline(c, q);
 
                i = 0;
                while(c[i] != '\0')
                {
                    if(c[i] == '"')
                    {
                        k = strlen(c);
                        for(int ind = 0; ind < i; ind++, k++)
                            quote[k] = c[ind];
                        bool flag = false;
                        break;
                    }
                    i++;
                }
 
                strcat(quote, c);
            }
            quote[strlen(quote)] = '\0';
 
            break;
        }
        i++;
    }
 
    delete [] c;
    return quote;
}
вот как-то так нужно
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru