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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Одномерный массив http://www.cyberforum.ru/cpp-beginners/thread1005930.html
Дан одномерный массив, размером n элементов. Посчитать max , заменить максимумом первый и последний элементы массива. Нужно написать программу.
C++ Рекурсия в структурах struct Element { Element *next; Element *prev; List Sub; }; class List { public: http://www.cyberforum.ru/cpp-beginners/thread1005909.html
C++ Как построить небинарное дерево?
(дерево двоичное, но не бинарное) Надеюсь, меня поняли) числа могут повторяться)
STL: контейнеры. Произвольная вставка элементов C++
Доброго времени суток! Можно ли вставить элемент в контейнер STL (не важно какой) в произвольное место? Имеется в виду, в случаи вектора: std::vector<int> ints { 1, 5, 7, 8, 23 }; Допустим, я хочу добавить элемент 3 позади элемента7, т.е позади индекса . Какие варианты есть?
C++ Подсчитать количество положительных элементов в списке http://www.cyberforum.ru/cpp-beginners/thread1005855.html
Помогите чуть - чуть , не проходите мимо. Как мне подсчитать количество положительных элементов в списке. Вывести на экран номера элентов равных 0. ##include <iostream> using namespace std; struct Element { int data;
C++ Прототип функции класса Имеется указатель на класс и указатель на метод из этого класса void *classpointer; void *funcpointer; Описания самого класса у меня нет, но я точно знаю что прототип метода такой: IMaterialVar *(*FuncP)(char*, bool*, bool); Мне необходимо с использованием этих 2-х указателей вызвать этот метод. Как в прототипе описать указатель на класс? подробнее

Показать сообщение отдельно
n1ko
3 / 3 / 3
Регистрация: 19.05.2013
Сообщений: 84
12.11.2013, 21:38     Переопределение операций со строками
Операция переопределения Замена в строке первых 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 секунд
операция - не правильно работает
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru