Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 10.06.2017
Сообщений: 12

Доброго времени суток Ругается на const_interator. Подскажите в чем ошибка?

25.07.2018, 10:07. Показов 708. Ответов 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
84
#include "stdafx.h"
#include <iostream>
#include <string>
#include <map>
#include <fstream>
using namespace std;
 
 
class SparseMatrix
{
private:
    int heinght, widch;//кол. срок и столбцов матр
    map<pair<int, int>, int> data;//координаты и значения
public:
    SparseMatrix(int h, int w) : heinght(h), widch(w){}
    int Heinght() const { return heinght; }
    int Widch() const { return  widch; }
 
    //запись элемента
    void SetElement(int row, int col, int element)
    {
        data[pair<int, int>(row, col)] = element;
    }
    //прочитать значение элемента
    int GetElement(int row, int col) const
    {
        std::map<pair<int, int>, int>::const_interator p = data.find(map<pair<int, int>, int>(row, col));
        //если значения не сущ, то вернуть 0
        //иначе значение
        return (p == data.end()) ? p : second;
    }
    SparseMatrix operator+ (const SparseMatrix& rhs) const;
    SparseMatrix operator*(const SparseMatrix & rhs) const;
    SparseMatrix operator+ (const SparseMatrix& rhs) const;
 
};
 
SparseMatrix SparseMatrix::operator+(const SparseMatrix& rhs) const
{
    //копируем левую матрицу в результат
    SparseMatrix result = *this;
    for (map<pair<int, int>, int>::const_interator p = rhs.data.begin(); p != rhs.data.end(); p++)
    {
        //извлечение координат и значение очередного элемента прав матр
        int row = p->first.first;
        int col = p->first.second;
        int value = p->second;
 
        //прибавляем значения к элементу результата с теми же координатами 
        result.SetElement(row, col, value + result.GetElement(row, col));
    }
    return result;
}
 
SparseMatrix SparseMatrix::operator*(const SparseMatrix& rhs) const
{
    //результирующая матрица содержит столько строк, сколько лывая и столько столбцов, 
    //столько и правая 
    SparseMatrix result(rhs.Heinght(), rhs.Widch());
    for (map<pair<int, int>, int>::const_interator p = rhs.data.begin(); p != rhs.data.end(); p++)
    {
        //значение элемента по адресу (i,k)=m
        int i = p->first.first;
        int k = p->first.second;
        int m = p->second;
        //цикл по элементам правой матрицы
        for (map<pair<int, int>, int>::const_interator rp = rhs.data.begin(); rp != rhs.data.end(); rp++)
        {
            //значение элемента по адресу (d_k, j)=m
            int d_k = p->first.first;
            int j = p->first.second;
            int m = p->second;
            //если строка k=столбу d_k,увелич сумм по адр (i,j)
            if (k == d_k)
                result.SetElement(i, j, result.GetElement(i, j) + m*n);
        }
    }
    return result;
}
 
int main()
{
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.07.2018, 10:07
Ответы с готовыми решениями:

Доброго времени суток подскажите как создать
помогите мне создать на сайте (HTML5) так чтобы люди писали в отдельном строке а высвечивалось на сайте красивыми буквами и могли то что...

Доброго времени суток!Подскажите пожалуйста где можно скачать ворд?
Подскажите пожалуйста где можно скачать ворд?

Доброго времени суток Вам)Подскажите пожалуйста что за пустое место при просмотре в браузере?
&lt;div class=&quot;rightblock&quot;&gt; &lt;div class=&quot;product&quot;&gt; &lt;a href=&quot;#&quot; class=&quot;cafe&quot;&gt;&lt;img src=&quot;userfiles/cofe.png&quot; width=&quot;135&quot;...

3
 Аватар для anapshy
531 / 272 / 220
Регистрация: 14.11.2016
Сообщений: 1,052
28.07.2018, 11:53
*::const_interatoriterator
Для *::const_iterator не подойдет *.begin(), т.к. вернет ::iterator.
*.cbegin() вернет *::const_iterator.
*::const_iterator & *::iterator - 2 разных объекта.
C++
1
for (std::map(std::pair<int, int>, int>::const_iterator it = rhs.data.cbegin(); it != rhs.data.cend(); ++it) { /* ... */}
Добавлено через 3 минуты
И как это в const методе...
C++
55
SparseMatrix SparseMatrix::operator*(const SparseMatrix& rhs) const // <--
...вызываешь метод для работы с не const объектами?
C++
75
result.SetElement(i, j, result.GetElement(i, j) + m*n);
2 повторяющихся объявления, и вообще лучше убери const у перегруженных операторов, если не собираешься изменять const объекты таким способом
C++
32
SparseMatrix operator+ (const SparseMatrix& rhs) const;
C++
34
SparseMatrix operator+ (const SparseMatrix& rhs) const;
1
0 / 0 / 0
Регистрация: 10.06.2017
Сообщений: 12
28.07.2018, 14:22  [ТС]
Спасибо!!!

Добавлено через 31 минуту
Еще вопрос. Он у меня ругается на 30 строчку.
0
 Аватар для anapshy
531 / 272 / 220
Регистрация: 14.11.2016
Сообщений: 1,052
28.07.2018, 18:23
Зазвонов, что такое second?
И почему возвращающее значение int, а пытаешься вернуть const_iterator p?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.07.2018, 18:23
Помогаю со студенческими работами здесь

Доброго времени суток, я совсем новичок в PHP, есть задание, подскажите что должно быть в итоге. Решать не прошу
есть файл settings.ini, нужно написать php скрипт который из файла с установками сделает на выходе массив

Доброго времени суток!
Доброго времени суток! Как сделать так, чтобы изменённое вручную на странице, в браузере, значение оставалось неизменным после обновления?...

Доброго времени суток!
Помогите пожалуйста написать программы на циклы в Delphi 7, а то я только с линейными и разветвляющиеся разобрался, а вот циклы пока тупик...

Доброго времени суток
Добрый день, помогите мне как начинающему блогеру разобраться в одном вопросе) Я хочу создать в дальнейшем инфопродукт платный ну чтобы его...

Всем доброго времени суток!
Помогите, пожалуйста, кто может с решением примеров данного варианта.. Правила, :rtfm: 5.16, 5.18. Задания набирать ручками. Один...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
ПЛИС
zxcha1ka_ 27.01.2026
AHDL Разработать программы для синтеза следующих устройств: 1. Параллельного регистра 4-х разрядного с синхронной загрузкой и асинхронным сбросом (обнулением); Пoмoгитe пoжaлyйстa
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru