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

Ошибка в алгоритме перегрузки оператора присваивания - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массивы (Вычислить среднее значение элементов главной диагонали, напечатать его) http://www.cyberforum.ru/cpp-beginners/thread730493.html
Здравствуйте! Посмотрите, пож-та, мой код. Вот задача: (как система) ai,j=sqrt(15.34+pow(fabs(i-j),2)), если i!=j 13.4*i+j, в остальных случаях Вычислить среднее значение элементов главной диагонали, напечатать его. Напечатать элементы 2-ой и 3-ей строки с номерами столбцов, если значения этих элементов больше среднего значения в диагонали. #include...
C++ блок схема (Вычислить сумму положительных элементов матрицы, находящихся под главной диагональю и на ней) помогите, пожалуйста, к готовому коду начертить блок-схему. я рисовал здесь: https://www.lucidchart.com/documents/edit/4052-ef70-50c9db46-9f9a-0eda0a40476b#?demo=on&noShowMngr. Заранее спасибо. Задание: Вычислить сумму положительных элементов матрицы, находящихся под главной диагональю и на ней. Х. Условия и ограничения: Xij –целые числа. #include <stdio.h> #include <stdlib.h> int main ()... http://www.cyberforum.ru/cpp-beginners/thread730487.html
Работа с комплексными числами C++
Парни и девчушки (если тут такие есть :)), у меня задание - создать класс, который может производить арифметические операции с комплексными числами. Я перегрузил операторы сложения, вычитания, умножения (объект-объект) и умножения (объект-число). Так вот, все вроде работает, но блин, у меня какие-то результаты "пугающие".. я если честно, в математике не силен, но по-моему моя прога считает их...
два динамических массива. один не заполняется C++
моя цель: создать две динамических матрицы (они называются massiv и degree) как я это делаю: cout <<"Vvedite kolichestvo vershin: "; cin >> n; int **massiv = new int*; for(k= 0; k < n; k++) massiv = new int; int **degree = new int*; for(a= 0; a < n; a++); degree = new int;
C++ Работаю с файлом *.txt. Прога ведет себя странно если последняя строка файла пуста. Почему так? http://www.cyberforum.ru/cpp-beginners/thread730450.html
Добрый день! Помогите пожалуйста с небольшой проблемой. Что хотел сделать: Есть текстовый файл, в нем содержатся любые последовательности символов разделенные пробельными символами (пробелом, табуляцией). Хочу сделать, без использования сторонних библиотек, класс, объекты которого принимают С-строку из этого файла и строят двусвязный список слов (1 элемент - 1 слово), игнорируя символы...
C++ Разработать С + +-программу с использованием файлов (Фибоначчи) !!!!Помогите срочно!!!! Создать С + +-программу отображения на экране последовательности первых К чисел Фибоначчи, которые вычисляются по следующему правилу: F_1 = 1; F_2 = 1; F_n = F_ (n-1) + F_ (n-2). Полученные элементы последовательности отражать на экране монитора в строку через пробел и записывать в файл «LR_4_1.txt». После завершения записи в файл, закрыть его. Восстановить файл и... подробнее

Показать сообщение отдельно
agiliter
1 / 1 / 0
Регистрация: 13.12.2012
Сообщений: 102

Ошибка в алгоритме перегрузки оператора присваивания - C++

13.12.2012, 17:48. Просмотров 678. Ответов 8
Метки (Все метки)

Добрый вечер. Пишу методы для класса по своему заданию. Столкнулся с проблемой перегрузки оператора присваивания для метода поиска. Привожу только часть кода с методом поиска Find и перегрузкой. Хочу разобраться непосредственно с алгоритмом. Может косяк в реализации? Буду благодарен за помощь
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
struct DataType
{
    string term;
    string text;
};
 
typedef struct DataType;
 
class SeqList
{
    private:
        DataType *ListItem;
        int size;
    public:             
        SeqList::SeqList(void) : size(0)
        {
            ListItem = new DataType[MaxSize];
        }
                bool Find(DataType &item) const         //Сканирование списка для нахождения соответствующего элемента.
        {
            int i = 0;
            if(!ListEmpty())
            {
                return false;
            }
            while(i < size && !(item.term == ListItem[i].term))  //здесь используется присваивание
                i++;
            if(i < size)
            {
                item.term = ListItem[i].term;
                return true;
            }
            else
                return false;
        }
        bool SeqList::operator ==(DataType &item)
        { 
            int i;
            for (i = 0; ListItem[i].term[i] == item.term[i]; i++) //не пойму как тут организовать, запутался 
            if(ListItem[i].term[i] == item.term[i])                   //индекс ListItem не i, но я не пойму что и как
                return true;                        
            return false;                           
        }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru