Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [С++] Работа со строками


Автор: DAEN 27.11.2006, 21:46
помогите написать программу

даны две строки 
вторую строчку надо перевернуть и все глассные которые есть в обоих строчках удвоить во второй строке и дописать вторую строчку к первой- надо создать функцию которая возвращает результат


Автор: Oleg_Ci 30.11.2006, 18:48
Код

#include <iostream>
#include <cstring>
using namespace std;

const int size = 100; // строки в 100 символов
void RevolutionOfLine( char * ); // переворот строки
void DoublingOfGdassnihLetters( char * ); // удвоение гдассных букв
char * Concatenation( char *, const char * ); // конкатенация

int main(int argc, char *argv[])
{
    char String1[size], String2[size]; // две строки
    cout << "Enter a line 1 > "; // "Введите строку 1"
    cin.getline( String1, size );
    cout << "Enter a line 2 > "; // "Введите строку 2"
    cin.getline( String2, size );
    RevolutionOfLine( String2 );
    DoublingOfGdassnihLetters( String1 );
    DoublingOfGdassnihLetters( String2 );
    Concatenation( String1, String2 );
    cout << String1;

    fflush(stdin);
    getchar(); // пауза
    return 0;
}
//________ END MAIN ______________
void DoublingOfGdassnihLetters( char * str ){
    char glassnie[] = "qwrtpsdfghklzxcvbnmQWRTPSDFGHKLZXCVBNM"; // глассные буквы
    int pos=0;
    int len = (int) strlen( str );
    char buf[size];
    for( int i=0; str[i] && i<size && pos < size; i++ ){
        buf[pos++] = str[i];
        if( strchr( glassnie, str[i] )) // если символ глассный
            buf[pos++] = str[i];
    }
    buf[pos] = '\0';
    strcpy( str, buf );
}
char * Concatenation( char * out, const char * in ){
    strcpy( out + strlen(out), in );
    return out;
}
void RevolutionOfLine( char * str ){
    int len = (int) strlen( str ) -1;
    for( int i = 0; i < len/2; i++ ){
        int x = str[i];
        str[i] = str[len-i];
        str[len-i] = x;
    }
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)