|
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 81
|
||||||
Шаблон функции нахождения корней квадратного уравнения29.08.2014, 14:07. Показов 4465. Ответов 15
Метки нет (Все метки)
Помогите допилить. В первом условии, т.е. if, как сделать, чтоб возвращались и х1 и х2 одновременно??? не могу придумать как))
это шаблон функции по нахождению корней квадратного уравнения ax^2+bx+c=0
0
|
||||||
| 29.08.2014, 14:07 | |
|
Ответы с готовыми решениями:
15
Решить систему с помощью функции нахождения корней квадратного уравнения Перегруженный шаблон функции для нахождения корней уравнения
|
|
63 / 63 / 15
Регистрация: 20.08.2014
Сообщений: 593
|
|
| 29.08.2014, 14:12 | |
|
Lena86, два варианта на выбор:
первый: возвращать структуру или пару (std::Pair) второй: подавать на вход пять параметров вместо трех, причем первые три - это коэффициенты уравнения, остальные - корни, у функцию сделать булевой - если найден хотя бы один корень (точнее два равных) или два - возвращаем истину. В случае отрицательного дискриминанта - ложь.
0
|
|
|
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 81
|
|
| 29.08.2014, 14:21 [ТС] | |
|
кто может помочь примером??? первый вариант, предложенный Pingvinoff , я вообще не знаю, как реализовать. второй...затрудняюсь.
0
|
|
|
694 / 304 / 99
Регистрация: 04.07.2014
Сообщений: 851
|
|
| 29.08.2014, 14:30 | |
|
У тебя может быть 0, 1 или 2 корня. Соответственно возвращай std::vector<T>.
Добавлено через 1 минуту Возврат двух значений из метода
0
|
|
|
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 81
|
|
| 29.08.2014, 14:31 [ТС] | |
|
с корнями понятно. выражение std::vector<T> для меня неизвестно пока. такое не учили
0
|
|
|
1 / 1 / 0
Регистрация: 29.08.2014
Сообщений: 18
|
||||||
| 29.08.2014, 14:36 | ||||||
0
|
||||||
|
694 / 304 / 99
Регистрация: 04.07.2014
Сообщений: 851
|
||
| 29.08.2014, 14:36 | ||
|
std::vector - это шаблон динамического массива.
0
|
||
|
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 81
|
|
| 29.08.2014, 14:49 [ТС] | |
|
ВаняБином, настолько я знаю, функция не может возвращать несколько значений
return { x1, x2 };???????????
0
|
|
|
694 / 304 / 99
Регистрация: 04.07.2014
Сообщений: 851
|
||||||
| 29.08.2014, 14:52 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 81
|
||||||
| 29.08.2014, 14:56 [ТС] | ||||||
|
AlexVRud, да, динамические массиве не проходили
Добавлено через 2 минуты
0
|
||||||
|
1 / 1 / 0
Регистрация: 29.08.2014
Сообщений: 18
|
||
| 29.08.2014, 14:57 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 81
|
|
| 29.08.2014, 15:01 [ТС] | |
|
ВаняБином, я не знаю что такое функция пользовательского типа RootsOfEquation!! использовать не могу
0
|
|
|
694 / 304 / 99
Регистрация: 04.07.2014
Сообщений: 851
|
||
| 29.08.2014, 15:01 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 81
|
|
| 29.08.2014, 15:04 [ТС] | |
|
AlexVRud, как тогда быть? если динамические массивы не проходили?
0
|
|
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
| 29.08.2014, 15:10 | |
|
Lena86, или возвращай структуру, либо через ссылку или указатель
0
|
|
|
694 / 304 / 99
Регистрация: 04.07.2014
Сообщений: 851
|
||||||
| 29.08.2014, 15:17 | ||||||
|
Ещё раз. Твоя задача написать шаблонную функцию нахождения корней квадратного уравнения?
Если так, то давай смотреть как можно вернуть 0, 1 или 2 корня. Функция в C++ может вернуть только один параметр, при этом любая процедура может изменить входные параметры по ссылке. Т.е. можно написать что-то такое:
2. Можно вернуть структуру содержащую два поля (вариант с struct RootsOfEquation) Но у этих двух подходов возникает момент, что делать если корней нет. Можно, например, вернуть NaN для действительных чисел, или максимальное/минимальное возможное число. Для этих целей есть шаблон numeric_limits. 3. Вернуть массив, но возвращать просто T* нельзя, т.к. надо ещё передать и размер. Но в C++ для массивов принято использовать именно std::vector. Это базовый класс языка C++ и с ним надо дружить Если ты его ещё не знаешь, то пришло время изучить. Т.к. это шаблонный класс, а ты как раз шаблонами и заняласьДобавлено через 1 минуту Ну и главное, не бойся изучить что-то новое сама.
0
|
||||||
| 29.08.2014, 15:17 | |
|
Помогаю со студенческими работами здесь
16
Функция нахождения комплексных корней квадратного уравнения Для нахождения корней квадратного уравнения использовать функцию Составить программу нахождения действительных корней квадратного уравнения Тема: Функции. Нахождение комплексных корней квадратного уравнения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|