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

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> #include <iostream> using namespace std; #include <string.h> #include <dirent.h> #include <stdlib.h>
Создать модуль для обработки одномерных массивов с помощью классов C++
Создать модуль для обработки одномерных массивов с помощью классов. Добавлено через 21 час 5 минут Есть у кого какие мысли? =(
C++ Определить операторы как функции члена класса http://www.cyberforum.ru/cpp-beginners/thread890044.html
Добрый вечер! Ребята, помогите решить вот такую задачку: Необходимо определить операторы +, =, +=, -=, *=, , как функции члена класса. И определить функцию печати!
C++ Найти ошибку в программе (считывание из текстового файла трех предложений и их вывод в обратном порядке) задание было "написать программу которая считывает из текстового файла три предложения и выводит их в обраном порядке " #include <fstream> #include <iostream> #include <cstring> #include <ctype.h> #define LENGTH 20 using namespace std; подробнее

Показать сообщение отдельно
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
04.06.2013, 10:53     Pascal -> C++ (В данном тексте в словах четной длины, начинающихся с заданного символа, определить количество гласных)
Цитата Сообщение от _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;
}
 
Текущее время: 19:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru