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

Ввести имя фамилию и отчество как одно данное типа строка. Определить длину строки и количество гласных в нем. Удалить все буквы "а" и "о" в фамилии. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Неполный тип http://www.cyberforum.ru/cpp-beginners/thread693375.html
Доброго времени суток. Написал следующую программу: #include <iostream> #include <iomanip> #include <string> #include <string.h> #include <conio.h>
C++ Цикл while для отсчета времени Ребят, я вот разбирал программу, которая отсчитывает время. Механизм довольно-таки простой и понятный, однако есть одна загвоздка, которую я так и не уяснил: #include <iostream> #include <ctime> using namespace std; int main() { cout<<"Join the time: "; float secs; cin>>secs; clock_t delay=secs*CLOCKS_PER_SEC; http://www.cyberforum.ru/cpp-beginners/thread693369.html
C++ Инвертирование строки
вот попробовал строку инвертировать, она инвертируется,но там еще мусор всякий,скажите как его убрать? #include <iostream> #include <string> #include <conio.h> using namespace std; int main()
C++ Строки char
Дана строка, состоящая из слов, разделенных пробелами. Разбить ис-ходную строку на две подстроки, причем первая длиной k символов, если на k-ю позицию попадает слово, то его следует отнести ко второй строке. Значение k вводится с клавиатуры. как именно разбить строку функция или ещё что-нибудь?
C++ Как делить деньги? http://www.cyberforum.ru/cpp-beginners/thread693357.html
есть 4 числа int (рубль(1),коп(1) ; рубль(2),коп(2)) их нужно поделить и умножить, в результате получить 1 число: рубль(3)коп(3). как это реализовать без понятия :cry: желательно без printf а cout.
C++ Строки, поиск вхождений символов и вывод Здравствуйте, помогите пожалуйста с программой: Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить последнее вхождение символа “р” в строке и вывести строку, начиная с первого символа и до последнего “р” в строке. Если такого символа нет, то вывести всю строку, исключив из нее последнее слово. Спасибо большое подробнее

Показать сообщение отдельно
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.11.2012, 03:06     Ввести имя фамилию и отчество как одно данное типа строка. Определить длину строки и количество гласных в нем. Удалить все буквы "а" и "о" в фамилии.
Точку с запятой в конце 33. Для count_if и remove_if нужно:
C++
1
[URL=http://www.cyberforum.ru/usertag.php?do=list&action=hash&hash=include]#include[/URL]  <algorithm>
Ещё:
C++
1
using namespace std;
Не знаю, как у вас, но у меня iostream.h не находит, нужно просто iostream.

Добавлено через 1 час 6 минут
Если обходиться без #include <algorithm>:
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
#include <iostream>
using namespace std;
 
const int N = 100;
 
int main()
{
    char str[N];
    cout << "Inter FIO " << endl;
    cin.getline(str, N);
    int size = strlen(str);
    cout << "Size is " << size <<endl;
    
    int c = 0;
    char buffer[] = "AaEeOoIiUuYy";
    for (int j = 0; j < size; j++)
        for (int i = 0; i < strlen(buffer); i++)
            if(buffer[i] == str[j])
            {
                 c++;
                 break;
            }
    cout << "Glasnyx = " << c << endl;
    
    char str2[N];
    int j = 0;
    for (int i = 0; i < size; i++, j++)
    {
        if (str[i] != 'a' && str[i] != 'o')
                str2[j] = str[i];
        else j--;
    }
    str2[j] = '\0';
    
    for (int i = 0; i < strlen(str2); i++)
        cout << str2[i];
    
    cout << endl;
    cin.get();
    return 0;
}
Но это код, так же как и код из 3 поста, не совсем по заданию. Удаляются 'a' и 'o' из всей строки, а не только из фамилии.

Добавлено через 10 минут
Если сделать, чтобы удалялись только из фамилии (фамилия идёт первой), то можно так:
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
#include <iostream>
using namespace std;
 
const int N = 100;
 
int main()
{
    char str[N];
    cout << "Inter FIO " << endl;
    cin.getline(str, N);
    int size = strlen(str);
    cout << "Size is " << size <<endl;
    
    int c = 0;
    char buffer[] = "AaEeOoIiUuYy";
    for (int j = 0; j < size; j++)
        for (int i = 0; i < strlen(buffer); i++)
            if(buffer[i] == str[j])
            {
                 c++;
                 break;
            }
    cout << "Glasnyx = " << c << endl;
    
    char str2[N];
    int j = 0;
    int flag = 0;
    for (int i = 0; i < size; i++, j++)
    {
        if (str[i] != ' ' &&  flag == 0)
        {
            if (str[i] != 'a' && str[i] != 'o')
                 str2[j] = str[i];
            else j--;
        }
        else 
        {
            flag = 1;
            str2[j] = str[i];
        }
    }
    str2[j] = '\0';
    
    for (int i = 0; i < strlen(str2); i++)
        cout << str2[i];
    
    cout << endl;
    cin.get();
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru