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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
4aineg
0 / 0 / 0
Регистрация: 07.08.2008
Сообщений: 23
#1

Вопрос по поводу переворота строки и перегрузки << и >> - C++

07.08.2008, 17:46. Просмотров 1123. Ответов 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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#pragma once
#include <iostream>
#include <string>
using namespace std;
 
class Line
{
private:
 
    char *Line1;
    int length;
 
public:
    
    Line(/*char* L1*/)
    {
        /*Line1 = new char[strlen(L1)];
        strcpy(Line1, L1);*/
        length = strlen(Line1);    
    }
    
    int CountWordsInLine()
    {
        int i=0;
        int Count=0;
        for(int i=0; i<length; i++)
        {
            if (Line1[i]=='_')
                Count++;
        }
        Count++;
        return Count;
    }
 
    char* ReverseLine()                //ф-ция переворота: не меняет переменные в конечном      
    {                                               счете печатает не перевернутую строку
        for (int i=0; i<=(length-1)/2; i++)
            for (int j=length-1; j<(length-1)/2; j--)
        {
            char temp = Line1[i];
            Line1[i] = Line1[j];
            Line1[j] = temp;
        }
        return Line1;    
    }
 
    /*void PrintReversedLine()
    {
        for(int i=length-1; i<=0; i--)
            Line1[i]='a';
 
            printf("%s", Line1);
    }*/
        
    void Print()
    {
        int temp1 = CountWordsInLine();
        cout << "number of words: " << temp1 << endl;
        cout << "normal sentence: " << Line1 << endl;
        char* temp2 =  ReverseLine();
        cout << "reversed sentence: " << temp2 << endl;
    }
    
    ~Line()
    {
        delete [] Line1;
    }
 
};
 
#pragma once
#include "Class.h"
int main()
{
    Line ln1;
    cout << "enter sentence: ";
    cin >> ln1;     //ошибка возникает при переопределении операции ввода  
    ln1.CountWordsInLine();
    ln1.ReverseLine();
    ln1.Print();
    //ln.PrintReversedLine();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.08.2008, 17:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вопрос по поводу переворота строки и перегрузки << и >> (C++):

Вопрос по поводу перегрузки оператора + - C++
Всем привет.Подскажите как можно перегрузить оператор + в моем классе? И что лучше вернуть из перегруженной операции +=? Объект или...

Подскажите по поводу перегрузки функции - C++
Ребят где можна посмотреть примеры такого типа задач. 1. Написать перегруженные функции (int, double, char) для выполнения следующих...

По поводу потока и перегрузки оператора вставки в классе - C++
#include &lt;iostream&gt; using namespace std; class three_d { public: int x, y, z; three_d(int a, int b, int c) { x=a; y=b; z=c; } ...

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

Вопрос по поводу кода - C++
Здраствуйте я делаю крестики нолики и возник вопрос #include &lt;iostream&gt; using namespace std; void main () { int pole ={0};...

Вопрос по поводу вывода ostream... - C++
Вопрос вот в чём, как перегрузить операцию &lt;&lt; для моего класса?#pragma once #include&lt;iostream&gt; #include&lt;iomanip&gt; class Student ...

3
Vourhey
Почетный модератор
6482 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
07.08.2008, 19:03 #2
Ошибок в переопределении у Вас нет. Так как, самого переопределения тоже нет. Тогда что от нас требуется? Это не вопрос , а просьба уже написать за вас все остальное.
cin >> ln1; - это не переопределение.
Берем ключевое слово operator и преопределяем. Возникают вопросы - спрашиваем.
Вообщем:
Код
istream& operator >> (istream& is, Line& l)
{
//пишем все что надо
    return is;
}
0
Spo1ler
292 / 52 / 3
Регистрация: 22.05.2008
Сообщений: 788
07.08.2008, 19:13 #3
добавлю
Код
ostream& operator << (ostream& os, Line& l)
{
     //пишем все что надо
         return os;
}
это для вывода
0
4aineg
0 / 0 / 0
Регистрация: 07.08.2008
Сообщений: 23
08.08.2008, 16:31  [ТС] #4
благодарю за советы
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.08.2008, 16:31
Привет! Вот еще темы с ответами:

Вопрос по поводу visual 2005 - C++
народ, я тут столкнулся с проблемой - пишу прогу на с++ в visual c++ 2005? естественно использую новые классы из CLR. Но возникает проблема...

вопрос по поводу Функций прототипов - C++
Еще раз доброго времени суток, я перекидал по файлам фрагменты кода структуру в .h основной код в .cpp и в главной функции отказался...

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

Разработать программу «переворота» строки. Способ: последовательная перестановка элементов - первый с последним, второй с предпоследним и т.д. - C++
Разработать программу «переворота» строки. Способ: последовательная перестановка элементов - первый с последним, второй с предпоследним...


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
08.08.2008, 16:31
Ответ Создать тему
Опции темы

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