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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
taeas1995
6 / 2 / 0
Регистрация: 19.01.2012
Сообщений: 157
#1

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

10.11.2012, 16:06. Просмотров 1082. Ответов 5
Метки нет (Все метки)

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

Добавлено через 19 часов 12 минут
Никто не знает? просто очень нужно(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2012, 16:06     Ввести имя фамилию и отчество как одно данное типа строка. Определить длину строки и количество гласных в нем. Удалить все буквы "а" и "о" в фамилии.
Посмотрите здесь:

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

Ввести фамилию, имя и отчество как одну строку, найти количество букв "a" в ней, а также длину фамилии и имени - C++
Помогите решить Ввести фамилию, имя и отчество как одно данное типа строка. 1. Определить количество букв «а» в нем. Выполнить задание...

Ввести фамилию, имя и отчество как одно текстовое данное. Определить длину данного и количество букв «а» в нем - C++
Ввести фамилию, имя и отчество как одно текстовое данное. Определить длину данного и количество букв «а» в нем. Решить задачу двумя...

Ввести фамилию, имя и отчество как одно данное типа строка. Заменить на инициалы - C++
Ввести фамилию, имя и отчество как одно данное типа строка. Определить длину строки и количество букв «а» в нем. Выполнить задачи своего...

Определить длину данной строки и количество букв "а" в ней. Вывести имя в обратном порядке - C++
Ввести фамилию, имя и отчество как одно текстовое дано. Определить длину данной строки и количество букв "а" в нем. Решить задачу двумя...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.11.2012, 16:16     Ввести имя фамилию и отчество как одно данное типа строка. Определить длину строки и количество гласных в нем. Удалить все буквы "а" и "о" в фамилии. #2
С++? STL?
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
10.11.2012, 17:15     Ввести имя фамилию и отчество как одно данное типа строка. Определить длину строки и количество гласных в нем. Удалить все буквы "а" и "о" в фамилии. #3
Можно вот так
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
#include <iostream>
#include <algorithm>
 
bool func(char ch) 
{   
    char buffer[] = "AaEeOoIiUi"; 
    int i;   
    int size = strlen(buffer);
    for ( i = 0; i < size; i++) 
        if(buffer[i] == ch)    
            return 1; 
        return 0;
} 
 
bool func2(char ch) 
{  
    if(ch == 'a' || ch == 'o') 
        return 1; 
    else 
        return 0;
}
 
int main() 
{  
    char str[100]; 
    std::cout << "Inter FIO " << std::endl; 
    std::cin.getline(str, 100); 
    int size = strlen(str); 
    std::cout << "Size is " << size << std::endl;
    int c = std::count_if(str, str + size, func); 
    std::cout << "Count is " << c << std::endl;  
 
    char* n = std::remove_if(str, str + size, func2); 
 
    for ( unsigned i = 0; i < size - strlen(n); i++) 
        std::cout << str[i]; 
    std::cout << std::endl;
}
taeas1995
6 / 2 / 0
Регистрация: 19.01.2012
Сообщений: 157
12.11.2012, 00:36  [ТС]     Ввести имя фамилию и отчество как одно данное типа строка. Определить длину строки и количество гласных в нем. Удалить все буквы "а" и "о" в фамилии. #4
У меня C++ старой версии(нужно просто так) и я исправил кое-что. И пару ошибок есть(там где count_if и remove_if - что нужен прототит и ошибка где * (невозможно из char в int преобразовать). Помогите пожалуста исправить. Вот код:
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
#include <iostream.h>
#include<conio.h>
#include<string.h>
 
int func(char ch)
{
    char buffer[] = "AaEeOoIiUuYy";
    int i;
    int size = strlen(buffer);
    for ( i = 0; i < size; i++)
    if(buffer[i] == ch)
        return 1;
    return 0;
}
 
int func2(char ch)
{
    if(ch == 'a' || ch == 'o')
    return 1;
    else
    return 0;
}
 
int main()
{
    char str[100];
    cout << "Inter FIO " <<endl;
    cin.getline(str, 100);
    int size = strlen(str);
    cout << "Size is " << size <<endl;
    int c=count_if(str,str+size,func);
    cout<<"Golosnyx="<<c<<endl;
    char* n=remove_if(str,str+size,func2)
    for ( unsigned i = 0; i < size - strlen(n); i++)
    cout << str[i];
    cout << endl;
    getch();
    return 0;
}
Добавлено через 35 минут
очень нужно на завтра( помогите плиз(

Добавлено через 1 час 14 минут
ну что? есть варианты?
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.11.2012, 03:06     Ввести имя фамилию и отчество как одно данное типа строка. Определить длину строки и количество гласных в нем. Удалить все буквы "а" и "о" в фамилии. #5
Точку с запятой в конце 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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2012, 09:39     Ввести имя фамилию и отчество как одно данное типа строка. Определить длину строки и количество гласных в нем. Удалить все буквы "а" и "о" в фамилии.
Еще ссылки по теме:

Дополнить строки знаками "+", чтобы все строки в нем имели длину 80 символов - C++
В текстовом файле f1 длина каждой строки не более 80 символов. Сформировать файл f2 таким образом, чтобы все строки в нем имели длину 80...

Ввести фамилию, имя отчество как одного типа строка - C++
Ввести фамилию, имя отчество как одного типа строка. Определить длину строки и количество букв &quot;а&quot; в ней. Дополнительные задания: 1)...

Определить длину введенной строки и количество букв "а" в ней - C++
вывести фамилию, имя и по отчеству как одно текстовое данное . Определить длину данного и количество букв &quot;а&quot; в нем. Svetlana...

Строка: Имеются четыре буквы, необходимо удалить из массива все символы, кроме этих четырех и "склеить" оставшееся в непрерывный символьный массив. - C++
Имеются четыре буквы, необходимо удалить из массива все символы, кроме этих четырех и &quot;склеить&quot; оставшееся в непрерывный символьный...

Если строка содержит больше пяти латинских "a",заменить все латинские и русские буквы строки следующими по алфавиту символами. - C++
Написать программу,которая читает с клавиатуры строку символов,преобразует ее и выводит результат на дисплей. 1)Если строка содержит...

Удалить все буквы "X" и "Y" - C++
Здравствуйте, нужна такая помощь. Составить программу, которая вводит строку символов, выполняет ее обработку и затем выво- дит...


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

Или воспользуйтесь поиском по форуму:
taeas1995
6 / 2 / 0
Регистрация: 19.01.2012
Сообщений: 157
12.11.2012, 09:39  [ТС]     Ввести имя фамилию и отчество как одно данное типа строка. Определить длину строки и количество гласных в нем. Удалить все буквы "а" и "о" в фамилии. #6
Спасибо большое!)
Yandex
Объявления
12.11.2012, 09:39     Ввести имя фамилию и отчество как одно данное типа строка. Определить длину строки и количество гласных в нем. Удалить все буквы "а" и "о" в фамилии.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru