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

преобразовать строку: после каждой буквы 'z' добавить символ '!' - C++

Восстановить пароль Регистрация
 
Bakinowski Wlad
1 / 1 / 0
Регистрация: 08.10.2013
Сообщений: 155
23.12.2013, 16:09     преобразовать строку: после каждой буквы 'z' добавить символ '!' #1
есть два кода, нужно их соединить, но не получается!
вот задание:преобразовать строку: после каждой буквы 'z' добавить символ '!'. Вывести в алфавитном порядке все согласные латинские буквы, входящие в строку.
1 код

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
#include "stdafx.h"
#include <iostream> 
 
using namespace std;
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{ 
    const int MAX = 80;              
    char  str1 [MAX], str2 [MAX],str3 [MAX]; 
    unsigned int   i , k = 0,m = 0,x=0;  
    
    cout << "   Enter a string: ";
    cin.getline (str1, MAX); 
 
    for (i = 0; str1[i]; i++) 
    {
      
 
                  
      if (str1[i] == 'z'|| str1[i] == 'Z') {
          str2[k] = str1[i];
          k++;
          str2[k] = '!';
          k++;
      } else   str2[k++] = str1[i];   
    }
    str2[k] = '\0';           
    cout << " Rezult : " << str2<< endl; 
 
 
    i = 0; 
    for (k = 0; str2[k]; k++ ){
 
        if (!(str2[k] == 'a' || str2[k]== 'e' || str2[k]== 'i' || str2[k]== 'u' || str2[k]== 'o' ||str2[k]== 'y')) {
            str1[i] = str2[k];
            i++;
        }
        
    }
        str1[i] = '\0'; 
        cout << " Rezult : " << str1<< endl;
 
        
 
    return 0;
}
он после каждого Z или z ставит !
вот 2 код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
#include <iostream>
#include <algorithm>
#include <string>
#include <iterator>
#include <set>
int main()
{
    std::string Line( "qwert** erwr8*re wer8* ** *wrwe" ), letters( "QqWwRrTtPpSsDdFfGgHhJjKkLlZzXxCcVvBbNnMm" );
    
    Line.erase( std::remove( Line.begin(), Line.end(), '*' ), Line.end() );
    std::cout << Line << std::endl;
 
    std::set < char > CharSet( letters.begin(), letters.end() );
    for ( size_t index = 0; index < Line.size(); index++ )
        if ( letters.find( Line[ index ] ) != std::string::npos )
            CharSet.erase( Line[ index ] );
 
    
    std::copy( CharSet.begin(), CharSet.end(), std::ostream_iterator < char >( std::cout, " " ) );
 
    return 0;    
}
он выводит согласные в алфавитном порядке!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2013, 16:09     преобразовать строку: после каждой буквы 'z' добавить символ '!'
Посмотрите здесь:

C++ Преобразовать строку, удалив каждый символ * и повторив каждый символ, отличный от *
В текстовом файле после каждой 2 буквы вставлять буквы из слова C++
Преобразовать строку, удалив каждый символ «*» и повторив каждый символ, отличный от «*» C++
Преобразовать строку, удалив каждый символ * и удвоив каждый символ, отличный от * C++
C++ Преобразовать строку, удалив каждый символ * и повторив каждый символ, отличный от *
C++ В строке после каждой буквы q добавить букву u (Pascal -> C++)
После каждой 2 Буквы вставлять строку символов MAU C++
C (СИ) - Ввести строку символов.И После каждой 2 Буквы ( Именно буквы ) Вставить слово C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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