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

дружественные функции - C++

Восстановить пароль Регистрация
 
dimon!
1 / 1 / 0
Регистрация: 14.12.2009
Сообщений: 53
07.06.2010, 11:46     дружественные функции #1
Тема: дружественные функции
Напишите программу обращения слова.
Помогите решить на С++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2010, 11:46     дружественные функции
Посмотрите здесь:

C++ Дружественные функции
Дружественные функции C++
C++ дружественные функции
C++ Дружественные функции
C++ Дружественные функции
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
toxa92
 Аватар для toxa92
167 / 94 / 2
Регистрация: 16.04.2010
Сообщений: 464
07.06.2010, 13:08     дружественные функции #2
1. Не надо дублировать темы!
2. Формулируйте условие по-нормальному. Я ничего не понял
dimon!
1 / 1 / 0
Регистрация: 14.12.2009
Сообщений: 53
07.06.2010, 13:11  [ТС]     дружественные функции #3
т.е. нужно написать программу что бы слово которое ты введешь переворачивалась
Например: "ДОМ"
ответ "МОД"
Вот как-то так))
rrrFer
Заблокирован
07.06.2010, 13:29     дружественные функции #4
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
class strclass{
private:
    string s;
public:
    strclass(){
    };
    void in(){
        cin>>s;
    }
    void out(){
        cout<<s<<endl;
    };
    friend void reverse(strclass&);
};
void reverse(strclass& obj){
    int lsobj,i,dlsobj;
    lsobj=obj.s.length()-1;
    dlsobj=(lsobj+1)/2;
    for(i=0;dlsobj>i;i++){
        obj.s[i]+=obj.s[lsobj-i];
        obj.s[lsobj-i]=obj.s[i]-obj.s[lsobj-i];
        obj.s[i]-=obj.s[lsobj-i];
    }
}
 
int main(){
    strclass s;
    s.in();
    s.out();
    reverse(s);
    s.out();
    cin.get(),cin.get();
    return 0;
}
dimon!
1 / 1 / 0
Регистрация: 14.12.2009
Сообщений: 53
07.06.2010, 13:34  [ТС]     дружественные функции #5
Цитата Сообщение от rrrFer Посмотреть сообщение
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
class strclass{
private:
    string s;
public:
    strclass(){
    };
    void in(){
        cin>>s;
    }
    void out(){
        cout<<s<<endl;
    };
    friend void reverse(strclass&);
};
void reverse(strclass& obj){
    int lsobj,i,dlsobj;
    lsobj=obj.s.length()-1;
    dlsobj=(lsobj+1)/2;
    for(i=0;dlsobj>i;i++){
        obj.s[i]+=obj.s[lsobj-i];
        obj.s[lsobj-i]=obj.s[i]-obj.s[lsobj-i];
        obj.s[i]-=obj.s[lsobj-i];
    }
}
 
int main(){
    strclass s;
    s.in();
    s.out();
    reverse(s);
    s.out();
    cin.get(),cin.get();
    return 0;
}
Большое спс! но я как бы немного "чайник" тут ошибки есть какие-то ((( скинь мот телеком))
FireNovel
 Аватар для FireNovel
150 / 73 / 8
Регистрация: 09.04.2010
Сообщений: 297
07.06.2010, 13:53     дружественные функции #6
Предлагаю такой вариант:
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
#include <iostream>
#include <string>
#include <conio.h>
 
class Str
{    
    std::string str;
public:
 
    Str( std::string _str ) { str = _str; }
    std::string get_str () { return str; }
    friend std::string inv ( Str *ob );
};
 
std::string inv ( Str *ob )
{
    std::string temp = "";
    for ( std::string::iterator iter = ob->str.end() ; iter != ob->str.begin(); )       
        temp += *(--iter); 
 
    return temp;
}
 
void main()
{
    Str ob1("abcd");
 
    std::cout << ob1.get_str() << "\n";
 
    std::cout << inv( &ob1);
 
    _getch();
}
dimon!
1 / 1 / 0
Регистрация: 14.12.2009
Сообщений: 53
07.06.2010, 13:59  [ТС]     дружественные функции #7
Цитата Сообщение от FireNovel Посмотреть сообщение
Предлагаю такой вариант:
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
#include <iostream>
#include <string>
#include <conio.h>
 
class Str
{    
    std::string str;
public:
 
    Str( std::string _str ) { str = _str; }
    std::string get_str () { return str; }
    friend std::string inv ( Str *ob );
};
 
std::string inv ( Str *ob )
{
    std::string temp = "";
    for ( std::string::iterator iter = ob->str.end() ; iter != ob->str.begin(); )       
        temp += *(--iter); 
 
    return temp;
}
 
void main()
{
    Str ob1("abcd");
 
    std::cout << ob1.get_str() << "\n";
 
    std::cout << inv( &ob1);
 
    _getch();
}

а если я сам хочу ввести слово...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2010, 14:30     дружественные функции
Еще ссылки по теме:

Дружественные функции С++ C++
C++ Дружественные функции. Наследование. Перегрузка функции
Дружественные функции C++

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

Или воспользуйтесь поиском по форуму:
FireNovel
 Аватар для FireNovel
150 / 73 / 8
Регистрация: 09.04.2010
Сообщений: 297
07.06.2010, 14:30     дружественные функции #8
Цитата Сообщение от dimon! Посмотреть сообщение
а если я сам хочу ввести слово...
Пожалуйста, считываешь слово с консоли и передаешь его в конструктор класса.
например
C++
1
2
3
string word;
cin >> word;
Str ob(word);
и дальше по тексту
Yandex
Объявления
07.06.2010, 14:30     дружественные функции
Ответ Создать тему
Опции темы

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