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

Файлы и работа со троками - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Цыкл (звездочки) http://www.cyberforum.ru/cpp-beginners/thread329434.html
Здраствуйте. Мне задали задание нарисовать с помощью цыклов вот такую штуку ***** **** *** * *** ****
C++ Нужно расставить между числами знаки + или - таким образом, чтобы получилось выражение, значение которого равно s и вывести его на экран Доброго времени суток Задание: дано n чисел и число s. Нужно расставить между числами знаки + или - таким образом, чтобы получилось выражение, значение которого равно s и вывести его на экран. Если это невозможно - вывести "No solution". Полное условие тут. Пример: input.txt: 3 10 (n = 3) 15 25 30 output.txt: 15+25-30=10 Рекурсию под эту задачу я вроде как сделал, считает различные суммы,... http://www.cyberforum.ru/cpp-beginners/thread329431.html
C++ даление строки и столбца
Помогите решить задачу: Дана прямоугольная целочисленная матрица. Удалить строку и столбец матрицы, на пересечении которых находится максимальный элемент.
Сформировать массив из количества элементов столбца матрицы, больших числа n C++
Дан двумерный массив.сформировать одномерный массив,каждый элемент которого равен количеству элементов соответсвующего столбца двумерного массива больших числа n.
C++ Как перевести число в k системы счисления http://www.cyberforum.ru/cpp-beginners/thread329342.html
Здравствуйте, не подскажите как можно перевести число в k системы счисления, то есть заранее неизвестную
C++ Почему ноль не преобразуеться в string Делаю преобразование из типа int или double в string и когда переменная int или double равна нулю то приходиться делать доп проверку чтобы в переменной string был ноль сейчас делаю так int i=0; string i_str; char szbuff; подробнее

Показать сообщение отдельно
Mischanja
Всегда не хватает времени
118 / 118 / 7
Регистрация: 15.10.2009
Сообщений: 493

Файлы и работа со троками - C++

04.07.2011, 14:18. Просмотров 266. Ответов 0
Метки (Все метки)

Здравствуйте вот пишу такую программу которая б:
1 выводила с первого файла во второй те строки где больше 2 слов
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
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
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <vcl.h>
#pragma hdrstop
#pragma argsused
#include <iomanip>
#include <conio.h>
 
 
int main() {
        std::ifstream in("f1.txt");
        if (!in) {
                std::cout << "Failure to open input file" << std::endl;
                return 1;
        }
 
        std::ofstream out("f2.txt");
        if (!out) {
                std::cout << "Failure to open output file" << std::endl;
                return 1;
        }
//ищем строки где больше 2 слов
        std::string str;
        std::stringstream sstr;
        size_t cnt;
        while (!in.eof()) {
                                std::getline(in, str);
                                sstr.str(str);
                                cnt = 0;
                                while (sstr >> str){
                                        cnt++;
 
                                if ( 2< cnt)
                                        out << str << std::endl;
                                sstr.clear();
        }
 
        in.close();
        in.clear();
        out.close();
        out.clear();
//находим слово где найменьшее кол. гласных
    in.open("f2.txt");
    if (!in) {
                std::cout << "Failure to open input file" << std::endl;
                return 1;
        }
 
    std::string strr;
    size_t found = 0;
    size_t index = 0;
    size_t count = 0;
    size_t cur_vowels = 0;
    size_t min_vowels = 0;
 
    while (in >> strr) {
        ++count;
        cur_vowels = 0;
 
        found = str.find_first_of("aeiou");
        while (found != std::string::npos) {
            ++cur_vowels;
            found = str.find_first_of("aeiou", found + 1);
        }
 
        if (cur_vowels < min_vowels || count == 1) {
            min_vowels = cur_vowels;
            index = count;
        }
    }
 
    std::cout << "There are " << count << " words" << std::endl;
    std::cout << "Word with minimum vowels has index " << index << std::endl;
    getch();
    return 0;
}
проблема в том что слово ищет где самое малое кол. гласных
а вот строки где больше двух слов не копирует

подскажите в чем ошибка
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru