|
7 / 6 / 1
Регистрация: 24.11.2017
Сообщений: 124
|
||||||||||||||||
C++ Неверно сравнивает элементы вектора (ошибка в условии)01.11.2020, 16:25. Показов 600. Ответов 5
Метки нет (Все метки)
Задача в том, чтобы сравнить элементы вектора на монотонность нестрогого возрастания/убывания (если оно есть, то тогда TRUE, если его нет, то FALSE). Так же учитывается условия, когда элементы и возрастают, и убывают, а также когда они все равны.
Пользователь сам указывает размер вектора в методе класса, потом вызывается функция вне класса, где это все сравнивается и возвращает конечные значения. Именно в этой функции надо что-то исправить, сам пока не разобрался Вот фрагмент кода:
Кликните здесь для просмотра всего текста
Пробовал весь код полностью реализвать в инт мэйне, там все хорошо работало, а через функцию неверно сравнивает (зацикливается на том, что все элементы равны, даже когда это не так) Полностью рабочий код без классов и функций: Кликните здесь для просмотра всего текста
Пожалуйста помогите, нужно срочно (скоро дедлайн).
0
|
||||||||||||||||
| 01.11.2020, 16:25 | |
|
Ответы с готовыми решениями:
5
Неверно сравнивает даты функция CompareDateTime Не сравнивает русский текст в условии Заменить элементы вектора, равные максимальному, на последний элемент вектора |
|
59 / 49 / 14
Регистрация: 23.02.2016
Сообщений: 433
|
|
| 01.11.2020, 16:44 | |
|
starpower, ты уверен, что вектор в 12-ой строке vector<int> vec; (твои данные) и вектор в 16-ой строке vector<int> vec(size); один и тот же вектор? Вектор в 16-ой строке это временный вектор, когда метод вызвался, то все аргументы "разложились" на стеке по порядку следования, когда метод отработал, то все аргументы "сложились" в обратном порядке, короче говоря удалились.
0
|
|
|
7 / 6 / 1
Регистрация: 24.11.2017
Сообщений: 124
|
|
| 01.11.2020, 16:56 [ТС] | |
|
Timurs, боже, это опять вы))) честно, я не очень силен в ООП, а мне надо реализовать инкапсуляцию. То бишь, мне надо модификатор доступа для vector<int> vec;? В сам метод класса его переместить?
0
|
|
|
59 / 49 / 14
Регистрация: 23.02.2016
Сообщений: 433
|
|||||||||||||||||||||
| 01.11.2020, 17:27 | |||||||||||||||||||||
|
starpower, ты когда создал объект
Вот теперь возьми и посмотри, что этот конструктор по умолчанию сделал с твоими данными
Добавлено через 7 минут starpower, возможно меня сейчас тут тухлыми помидорами закидают, но инкапсуляция и сокрытие данных всё - таки разные вещи. Инкапсуляция это, ну вот ты написал класс, в нем ты описал данные, а также методы, которые производят с этими данными те или иные операции, и всё это в одном классе, в одном месте, вот это и есть инкапсуляция, класс как бы инкапсулирует это всё дело, то есть внутри него ты можешь работать со всеми этими данными в независимости от того приватные они или нет, а сокрытие данных это как бы интерфейс, то есть ты задаёшь сможет ли извне кто-то (из того же мейна) обратиться к каким-то данным или нет. То есть инкапсуляцию ты сделал. Добавлено через 15 минут starpower, нет, в классе должны быть данные (они у тебя есть, я выше писал об этом), а также методы, которые оперируют этими данными (они у тебя тоже есть). Тут всё хорошо. Ты просто не понимаешь как создаётся объект, объект создаётся конструктором, конструктор это функция, имя которой совпадает с именем класса, если ты не писал явно этот конструктор, то компилятор сам его пишет за тебя. Лично я стараюсь всегда писать конструкторы сам. Да и вообще конструктор это одна из самых важных вещей в ооп на мой взгляд. Добавлено через 7 минут starpower, Nishen писал же тебе про Липмана базовый курс, открой почитай немного, потом открой Топпа, Форда "Структуры данных в C++" и прочитай первые три главы, реши все задачи по этим главам, особенно внимательно читай вторую главу по базовым типам данных, он как раз абстрактно пишет как выглядят классы этих базовых типов, в третьей главе уже про классы говорит. Ну уйдёт у тебя полгода, но хоть минимальное понимание будет. Тут дело не в языке, это в принципе основы.
0
|
|||||||||||||||||||||
|
7 / 6 / 1
Регистрация: 24.11.2017
Сообщений: 124
|
|||||||||||
| 01.11.2020, 18:12 [ТС] | |||||||||||
|
Timurs, спасибо ща помощь...
Честно, мне нахер не нужно это программирование и этот мерзкий С++ я ненавижу каждой клеточкой своего тела (что наверное касается всех ЯП), пусть хоть меня трижды закидают здесь помидорами) мне просто хочется поскорее закончить все свои дедлайны, сдать весь свой говнокод и отвязаться от этого всего. Поэтому я и здесь, чтобы люди которые обожают программирование, а в особенности С++, который возможно даже заменяет им девушку/жену чем-то смогли помочь, абсолютно уверен в том, что все эти вещи для них как 2+2 и все решается элементарно просто. Учебная программа моего вуза просто вынуждает всем этим заниматься. Я и сам знаю что у меня куча пробелов, которые наверстывать уже поздно, так как я уже давно как ни 1-ый и даже не 2-ой курс. За годы изучения программирования моя ненависть только возросла (конечно это не вина С++ и прочих ему), потому что ни черта в нашем вузе не учат и язык на котором мы обучаемся (несмотря на то, что поступал я в русскоязычный поток) они тоже ничерта не знают. А если интересно где я учусь, то учусь я в Ташкентском Университете "Информационных технологий", самом ужасном и конченном универе по данной специальности, а учится где либо еще у меня возможности нет))) так что не надо забивать мне голову своими нотациями, сегодня мне надо - завтра нафиг уже все забуду. Все равно когда закончу вуз, буду работать в макдаке. Добавлено через 6 минут Добавлено через 27 секунд Timurs, хз вот переделал и все равно ошибка
Добавлено через 13 минут Timurs, спасибо большое за помощь, все заработало: Кликните здесь для просмотра всего текста
И отдельное спасибо за то, что заменяете нам наших учителей, которым по правде нет никакого дела знаем ли мы что-то или нет) я очень ценю то что вы для нас студентов делаете, не знаю чтобы мы без вас делали)
0
|
|||||||||||
|
59 / 49 / 14
Регистрация: 23.02.2016
Сообщений: 433
|
||||||||||||||||
| 01.11.2020, 19:58 | ||||||||||||||||
|
starpower, давай просто последовательно, от простого к сложному.
Наша первая задача, выяснить, что делает с нашими данными конструктор по умолчанию, он же дефолтный конструктор. Что для этого нам потребуется? Очевидно, накидать минимально простейший класс и посмотреть. Ок, пишем код.
size data: 0 и vector data: пустой.Это явно не то, что мы хотели увидеть. Ок, наша вторая задача написать конструктор явно. Пишем.
Ок, наша третья задача разрешить пользователю вводить только целые числа, так как у нас вектор целых чисел. Ок, пишем.
0
|
||||||||||||||||
| 01.11.2020, 19:58 | |
|
Помогаю со студенческими работами здесь
6
STL. Функция, которая будет искать элементы большее среднего арифметического вектора и удалять их из вектора Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Old Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|