Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
n1ko
3 / 3 / 2
Регистрация: 19.05.2013
Сообщений: 84
1

Переопределение операций со строками

12.11.2013, 21:38. Просмотров 282. Ответов 1
Метки нет (Все метки)

Операция переопределения Замена в строке первых n символов на символ с наименьшим кодом из входящих в строку
почему-то работает некорректно
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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
class Stroka
{
private:
   char* string;
   int n;
public:
   Stroka()
   {
        string = NULL;
   }
   Stroka(char* stringv, int n1)
   {
        string = new char [strlen(stringv) + 1];
        strcpy(string, stringv);
        n=n1;
   }
   Stroka (const Stroka& str)
   {
        string = new char [strlen(str.string) + 1];
        strcpy(string, str.string);
        n=str.n;
   }
 
bool operator > (Stroka& str1)
{
    if(strlen(string)>strlen(str1.string)) 
        return true;
    else 
        return false;
}
Stroka & operator - ()
{
    char min;
    min=string[1];
    for (int i=0;i<strlen(string);i++)
        if (min<string[i]) min=string[i];
    for (int i=strlen(string);i>strlen(string)-n;i--)
        string[i]=min;
    return *this;
}
void print()
   {
       cout << "String is: " << string << "\n";
   }
};
 
void main()
{
    setlocale (0,"rus");
    int n;
    cout<<"Введите кол-во символов\n";
    cin>>n;
    Stroka s1("fkjnv",n);
    Stroka s2("khbdjkss",n);
    Stroka s3("aaaaaaaaaaaaaaggggggggggggggg",n);
    Stroka s4;
 
    if(s1>s2) cout<<"1 строка больше";
    else cout<<"2 строка больше\n";
    s4=-s3;
    s4.print();
    getch();
}
Добавлено через 48 секунд
операция - не правильно работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2013, 21:38
Ответы с готовыми решениями:

Переопределение операций
У меня есть класс, который хранит коэффициенты полинома, вычисляет его. Я...

Переопределение операций
Здравствуйте, необходимо осуществить переопределение операции сложения, не...

Переопределение операций
Люди, помогите разобраться, не совсем все понимаю. Эта программа представляет...

Переопределение операций
Арифметику класса реализовать в виде стандартного набора переопределенных...

Переопределение операций
Ситуация такая. В классе матриц переопределён оператор взятия индекса: ...

1
MrGluck
Модератор
Эксперт CЭксперт С++
8098 / 4950 / 1434
Регистрация: 29.11.2010
Сообщений: 13,430
13.11.2013, 01:07 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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <string>
#include <algorithm>
 
class String
{
  public:
    String() : data_(), n_() {}
    String(const std::string& s, const int n) : data_(s), n_(n) {}
 
    void setData(const std::string& s) { data_ = s; }
    void setN(const int n) { n_ = n; }
 
    std::string getData() const { return data_; }
    int getN() const { return n_; }
 
    void modify()
    {
        char min = *std::min_element(data_.begin(), data_.end());
        for (int i=0; i < n_ && i < static_cast<int>(data_.length()); i++)
            data_[i] = min;
    }
 
    void print() const { std::cout << data_ << std::endl; }
 
  protected:
    std::string data_;
    int n_;
};
 
int main()
{
    std::string str;
    int n;
    std::cout << "Enter string: ";
    std::getline(std::cin, str);
    std::cout << "Enter n: ";
    std::cin >> n;
    String s(str, n);
    s.modify();
    s.print();
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2013, 01:07

Переопределение стандартных операций
Рациональная (несократимая) дробь представляется парой целых чисел (а, b), где...

Переопределение операций - значки
Мне вот преподаватель сказал, что можно переопределить любую операцию, знак...

Переопределение операций ввода-вывода
Решите, пожалуйста, если не трудно) Переопределить операции &lt;&lt; и &gt;&gt; для...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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