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

Pascal -> C++ (В данном тексте в словах четной длины, начинающихся с заданного символа, определить количество гласных) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проблемы с кодом Необработанное исключение по адресу 0x00A85A9B http://www.cyberforum.ru/cpp-beginners/thread890076.html
Всем доброго времени суток! Значит есть задание сделать программу: К миниЭВМ подключено четыре терминала, с которых осуществляется решение задач. По команде с терминала выполняют операции...
C++ Работа с датой и временем Доброе время суток дорогие программисты, у меня возникла очень большая проблема, которую я не могу решить. Если вам не трудно не могли бы вы помочь. Я, понимаю что правилами нужно присылать код... http://www.cyberforum.ru/cpp-beginners/thread890072.html
C++ Рекурсией найти файл с самым длинным именем. В чём ошибка?
Здравствуйте, программа должна найти файл с самым длинным именем и вывести полностью путь к этому файлу. Ниже код, который после компиляции не выводит ничего, в чём ошибка? #include <cstdlib>...
Создать модуль для обработки одномерных массивов с помощью классов C++
Создать модуль для обработки одномерных массивов с помощью классов. Добавлено через 21 час 5 минут Есть у кого какие мысли? =(
C++ Определить операторы как функции члена класса http://www.cyberforum.ru/cpp-beginners/thread890044.html
Добрый вечер! Ребята, помогите решить вот такую задачку: Необходимо определить операторы +, =, +=, -=, *=, , как функции члена класса. И определить функцию печати!
C++ Найти ошибку в программе (считывание из текстового файла трех предложений и их вывод в обратном порядке) задание было "написать программу которая считывает из текстового файла три предложения и выводит их в обраном порядке " #include <fstream> #include <iostream> #include <cstring> #include... подробнее

Показать сообщение отдельно
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
04.06.2013, 10:53
Цитата Сообщение от _ROBERT_ Посмотреть сообщение
ninja2, спасибо большое если не сложно можно комментарий к телу программы?
Да не сложно, от примерно расписал, что какая строка делает.
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
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
#include <string>
using std::string;
 
int main()
{
    //создаем переменные
    string s;//("Hellow world worobor wrodobor ga worlloyd dada");
    //буквы которые нужно подсчитать
    string s1("aeiouy");
    //переменная для слов
    string s2;
    //символ для начала слов
    char ch;//='w';
    //количество элементов нужных слов
    int count(0);
    cout <<"Vvedite ctroky... ";
    getline(cin,s);//ввод строки
    cout <<"Vvedite cimvol... ";
    cin >>ch;//ввод символа
    //поиско первой позиции в строке символа
    int pos=s.find(ch);
    //пока позиция не равна string::npos
    //(string::npos-этонаверно признак конца строки)
    while(pos!=string::npos)
    {
        //позиция в средине слова
        if(s[pos-1]!=' ')
        {
            //поиск следущей позиции
            pos=s.find(ch,pos+1);
            continue;//конец итерации, переход на новую
        }
        //да это начало слова
        
        //ищем конец слова-вторая позиция
        int pos1=s.find(' ',pos);
        //в s2 записываем слово
        s2=s.substr(pos,pos1-pos);
        //если s2 четное
        if(s2.length()%2==0)
        {
            cout <<"s2= "<<s2<<endl;//вывод s2
            //находим первую позиция в s2
            //любого символа из s1
            int fined=s2.find_first_of(s1);
            //опка fined не равно признаку конца строки
            //наверно find_first_of(s1) вернет его
            //я просто подсмотрел в примере кода, так делают
            while(fined!=string::npos)
            {
                count++;//увеличиваем счетчик
                //переход к следующей позиции
                fined=s2.find_first_of(s1,fined+1);
            }
        }//конец if
        //переход к следущей позиции поиска слова
        pos=s.find(ch,pos+1);
    }//конец цикла while()
    
    //вывод результатов
    cout <<"count= "<<count<<endl;
 
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru