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

Найти слова, начинающиеся и заканчивающиеся гласными буквами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Что означает? http://www.cyberforum.ru/cpp-beginners/thread119328.html
Вот код программы: // // Программа для преобразования // градусов Цельсия в градусы Фаренгейта: // Fahrenheit = NCelsius * (212 - 32)/100 + 32 // #include<iostream> using namespace std; int main(int nNumberofArgs, char* pszArgs)
C++ Перегрузка и шаблон функции 1)Выполнить задание обеспечив перегрузку функций для типов int, float, double. 2)Выполнить задание оформив его в виде шаблона функции. Написать программы, использующие эти шаблоны для типов int, float, double #include <iostream> #include <iomanip> #include <stdlib.h> #include <cmath> using namespace std; int main () http://www.cyberforum.ru/cpp-beginners/thread119323.html
Кольцевой список C++
Написала код для односвязного кольцевого списка. Не могу понять свою ошибку. Помогите исправить))) #include <iostream> using namespace std; struct sсl { char inf;
Как передать второй параметр DialogBox()& C++
DialogBox (hInst, "DIALOGS", NULL, (DLGPROC) Pr); Пишет, мол типы не сходятся const char и LPCWSTR, посоветовали так DialogBox (hInst, (LPCWSTR)"DIALOGS", NULL, (DLGPROC) Pr); компилятор ругаться перестал, но вместо "DIALOGS" туда передаются аие то китайские иероглифы. Я вообще новичок, объясните мне, что я не понимаю
C++ Решение системы уравнений методом Зейделя http://www.cyberforum.ru/cpp-beginners/thread119301.html
Ребята, есть такая проблема, есть код который решает сис-му уравнений методом Зейделя, но при вводе отрицательных значений выдается какой-то странный результат, скажите. что не так? #include <stdio.h> #include <math.h> #define N 3 #define M 300 double A={{4,1,-5},{3,4,2},{1,5,5}}; double B={11,1,-10};
C++ добыть цифру из числа Задано трехзначные число.Определить равен лы квадрат этого числа сумме кубов его цифр. подробнее

Показать сообщение отдельно
Existor
0 / 0 / 0
Регистрация: 17.09.2009
Сообщений: 11
27.04.2010, 01:12  [ТС]     Найти слова, начинающиеся и заканчивающиеся гласными буквами
Вопросы на каждой строчке почти, легче было бы Вам прокомментировать основные шаги (этапы) программы, поскольку я с трудом понимаю структуру своей программы, спасибо большое за варианты программ, но в них ещё надо вникнуть, что есть что

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
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
const int SIZE =80;     
void form (char*, char*); //зачем создавать два char'овских указателя?
 
void main()
{
        char buf[SIZE], outbuf[SIZE]={' '};    //для чего нужны оба массива? первый для буфера, но outbuf - ?
 
        while(cout<<"Vvedite stroky: ", 
        cin.getline(buf, SIZE))
        {       
                form (buf, outbuf);
 
                cout<<"Rez: ";
                cout<<outbuf;
                cout<<endl<<endl;
        }
}
void form (char *a,char *out)   //не очень понял, идет обращение (указатель) на переменную а и out, верно?
{       
        char *first=a, *end=a;    //в эти указатели записываются первая и последняя буква определенного слова, верно?
        *out='\0';       // '\0' ? впервые вижу
        int k=0, flag=false, flag2=false;    //создается два флага, меняющих свое значение с ложи на истины, но не очень понимаю структуру программы, зачем ? или первый флаг для начала, второй флаг - для конца слова? или я вообще ничего не понимаю
        char b[]={"AEIUOYaeiuoy"};    
 
        while (*first!='\0')     //опять же, если указатель first не равен.. чему?
        {
                flag=false; flag2=false;
 
                while (*first==' '&&*first!='\0')  //это, как я понял, нужно, чтобы определять сами слова? 
                        first++;    //для чего вообще создавалась переменная first?
                end=first;
 
                while (*end!=' '&&*end)
                        end++;
 
                for (int i=0; i<12; i++)
                        if (*first==b[i])
                        {
                                flag=true;
                                break;
                        }
                for (int i=0; i<12; i++)
                        if (*(end-1)==b[i])
                        {
                                flag2=true;
                                break;
                        }
                if (flag==true&&flag2==true)
                {
                        while (first!=end)
                                *out++=*first++;
                        *out++=' ';
                        *out='\0';
                }
                else first=end;         
        }
}
 
Текущее время: 20:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru