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

нужно переделать в с++ - C++

Восстановить пароль Регистрация
 
SCRIPT_
Сообщений: n/a
07.12.2013, 23:09     нужно переделать в с++ #1
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uses crt; 
var ch1,ch2:char;
i,k: integer;
const glasnye=['e','y','o','a','u','i'];
begin
writeln('vvedite slova');
ch1:=readkey;
write(ch1);
if UpCase (ch1) in glasnye then k:=1
else k:=0;
repeat
ch2:=readkey;
write(ch2);
if (ch2=' ') and (UpCase(ch2) in glasnye) then inc(k);
ch1:=ch2;
if ch2=#13 then writeln;
until ch2=#13;
writeln(Kol-vo slov nachinaujies'a s glasnoy= ',k);
end.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2013, 23:09     нужно переделать в с++
Посмотрите здесь:

Нужно переделать прогу! C++
C++ Нужно переделать
C++ нужно немного переделать!!!
Нужно переделать программу из C++ в C C++
C++ Нужно переделать программу с С++ под С
Под С++ нужно переделать C++
Нужно переделать код C++
Нужно переделать функцию С++ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
landgen
1 / 1 / 0
Регистрация: 20.03.2013
Сообщений: 77
08.12.2013, 02:36     нужно переделать в с++ #2
Если переведёте с паскаля на русский, попробую помочь. Просто так быстрее будет, лень разбирать паскальный код, хоть и программа совсем простая как видно.

Добавлено через 2 часа 35 минут
В общем, судя по тому, что я понял, эта программа, считывающая слова и потом говорящая, сколько из них начинается с гласной.
Исполнил нечто подобное. Не идеальным, наверное, образом, поэтому замечания по оптимизации от всех остальных приветствуются

И да, вижу ещё, что чтобы слово засчиталось, оно должно начинаться еще и с заглавной буквы. В моей программе такого нет, если нужно, можно добавить.

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
#include <iostream>
#include <string>
using namespace std;
/* Код, который будет проверять, является ли гласной
та или иная буква, решил вынести в отдельную функцию, 
иначе в main() будет каша.
*/
bool isvowel (char);
 
int main()
{
    //корректное отображение русского текста в консоли
    setlocale(LC_ALL,"Russian");
    /*переменные, в text мы запишем то, что введёт пользователь,
    words - счётчик количества слов*/
    string text;
    int words = 0;
    
    cout << "Введите слова: ";
    //считываем строку
    getline(cin, text, '\n');
    
    
    for (int j = 0; j < (static_cast<int>(text.length())); j++){
        // если первая буква в text - гласная, то сразу запишем +1 слово
        if (j==0 && isvowel(text[0])) words++;
 
        else if ( isvowel(text[j]) && text[j-1] == 32){
            words++;
            /*двигаться по строке до тех пор, пока не встретим пробел
            или до тех пор, пока дойдем до ее конца*/
            while ( (text[j]!=32) && (j+1 < static_cast<int>(text.length())) )
            {j++;}
        }
                
    }
    //вывод результатов
    cout << "Вы ввели " << words << " слов, начинающихся с гласных букв.";
    cin.get();
    return 0;
}
// определение ф-ции, проверяющей ту или иную букву на "гласность"
// вернёт true, если буква гласная и false в противном случае
bool isvowel (char c)
{
    char vowels[6] = {'e','y','o','a','u','i'};
    for (int j = 0; j < 6; j++)
    {
        if (vowels[j] == c) return true;
    }
    return false;
}
P.S. Раньше как-то не задумывался, что в латинском алфавите так мало гласных
Yandex
Объявления
08.12.2013, 02:36     нужно переделать в с++
Ответ Создать тему
Опции темы

Текущее время: 15:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru