![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 16.02.2012
Сообщений: 4
|
![]()
В университете с предмета "Численные методы" дали задание - написать интерполяционный многочлен Лагранжа для n+1 элемента на C++, набросок сделал, выдает ошибку про неверную инициализацию массивов, помогите пожалуйста исправить ошибку.
Вот исходник: Код:
Последний раз редактировалось ACE Valery; 18.02.2012 в 17:00. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,328
|
![]()
1) Вы n не инициализировали. Да и x (маленькое) тоже.
2) В этой строке: Код:
Код:
Код:
5) Полиномы (вики) L(x) и li(x) лучше реализовать в виде функций. 6) В коде расставлять отступы, чтобы вам и нам было удобнее читать код. Ваш код без изменения (только отступы расставил). А вы исправляйте ошибки: Код:
Последний раз редактировалось 8Observer8; 18.02.2012 в 22:23. |
![]() |
![]() |
![]() |
#3 | ||||
Регистрация: 16.02.2012
Сообщений: 4
|
![]() Цитата:
Цитата:
Цитата:
Цитата:
Если возможно, пожалуйста, помогите исправить ошибки в коде, просто Я их не могу найти, сделал что смог ![]() Код:
|
||||
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 15.05.2010
Сообщений: 88
|
![]()
недавно делал задачу, как бонус, для получения автоматом зачета по числовых методах.. чегото там (дальше не помню название предмета), задача интерполяционого полинома лагранжа. суть ее работы(в моем случае) была такова: сначало вводится количество точек извесных, потом иксы(x) каждой точки, потом игрики(хз почему не сделал, чтобы по одной точке вводить. наверное потому, что у меня x и y в разных маисвах... вобщем неважно. захочешь думаю сможешь переделать). а потом делается подстановка неких чисел. далее соотвественно идет проверка функцией sin(z)(по заданиб было проверить именно синусом) от этого числа. у нас была суть задачи проверить разницу эти значений. ну и на сколько точным является результат найденый полиномом лагранжа. вобщем смотри, может этот код будет для тебя чем то полезным. сори что код без коментов, надеюсь ты както поймешь \=
Код:
Последний раз редактировалось lowercase; 19.02.2012 в 01:41. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 15.05.2010
Сообщений: 88
|
![]()
как говорится, хорошая мысля приходит опосля... опосля 3х нидель после того, как сделал. функции new_zk, new_yk, new_xk можно было слепить в одно единое и просто передавать значение сообщения перед вводом, отдельной строкой. так сказать оптимизация (хоть и для даной задачи мелочь, но зато приятно) если будет желание, то думаю разберешься. я просто уже сплю походу набора текста. если начну обяснять, то вырублюсь к чертям
![]() удачи. пробуй, разбирайся.. обязательно научишься чемуто ![]() Последний раз редактировалось lowercase; 19.02.2012 в 02:04. |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,328
|
![]()
Инициализировать переменную - это значит присвоить ей значение перед первым актом использования этой переменной. Чему у вас равены n и x? Если локальные переменные не инициализировать, то они гарантированно будут содержать мусор.
Вам очень здорово помог lowercase. Не упустите возможность и разберитесь в программе. Это вас точно многому научит. Наверняка, когда разберётесь, то сможете адаптировать её под себя. Выкладывайте переработанный код - обсудим. И если есть вопросы - не стесняйтесь, задавайте. Над кодом lowercase надо ещё поработать. Окончательно перевести на Си либо С++ (т.е. попытаться пришмурыгать ООП ![]() |
![]() |
![]() |
![]() |
#7 |
Регистрация: 16.02.2012
Сообщений: 4
|
![]()
Хорошо, буду пробивать разобраться, всем большое спасибо, потом если что спрошу что-то, еще раз спасибо
![]() |
![]() |
![]() |
![]() |
#8 |
Регистрация: 16.02.2012
Сообщений: 4
|
![]()
Не люблю эту библиотеку:
Код:
Код:
![]() |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,328
|
![]()
Задачи программиста следующие:
1) Получить информацию от пользователя 2) Обработать информацию, полученную от пользователя 3) Вывести результат обработки данных, полученных от пользователя Примечание - Пользователь - это может быть, к примеру, программа или устройство (с программным интерфейсом), не обязательно человек. Рассмотрим, как получить информацию от пользователя. Получить данные от пользователя можно следующими способами: 1) Через текстовою строку консоли (терминала) 2) Через графический интерфейс пользователя (GUI - graphical user interface) 3) Через файл Примечание - 1) Выдать информацию можно: - в консоль - в элементы графического интерфейса пользователя - в файл 2) Для ввода\вывода Можно комбинировать: - консоль - файл - GUI - файл Теперь рассмотрим, как получить данные от пользователя, используя языки Си и С++. Пока рассмотрим только, как получить данные от пользователя (на примере целого числа), через текстовою строку консоли (терминала) Си: Код:
Код:
Или не очень сложный: Код:
Си: Код:
Код:
Код:
P.S.S. Мне кажется, нам легче будет общаться в терминах языка Си. Последний раз редактировалось 8Observer8; 20.02.2012 в 18:36. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
интерполяционный многочлен Лагранжа, Pascal | Ladyia | Помощь студентам | 8 | 15.10.2013 15:24 |
Интерполирование функций, многочлен Лагранжа! | IdiotDetected | Помощь студентам | 0 | 07.04.2011 21:50 |
Есть у кого код??(интерпритационный многочлен Лагранжа) | ins1der | Общие вопросы Delphi | 2 | 21.05.2010 01:20 |
Интерполяционный многочлен лагранжа | 3.14oner | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 10.11.2008 17:30 |