![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 20.06.2010
Сообщений: 17
|
![]()
Значения функции f(x)=(2x+lgx)/(1+lgx) записать в массив. Вычислить значение интеграла использую формулу I1=h*[f(a)/2+f(a+h)+f(a+2h)+...+f(a+(n-1)h)+f(b)/2]
h=(b-a)/n, n=100. a=1, b=10. Я сначала заполнил массив используя x от 0 до 99 и h. Потом нашёл сумму повторяющейся части формулы интеграла. Потом добавил к ней начало и конец. Код:
Последний раз редактировалось Stilet; 23.11.2010 в 14:00. |
![]() |
![]() |
![]() |
#2 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]() Код:
Последний раз редактировалось Sibedir; 23.11.2010 в 13:59. |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 20.06.2010
Сообщений: 17
|
![]()
За sum спасибо.
Про Цитата:
В общем поменял тип переменной sum, в результате всё равно 0. |
|
![]() |
![]() |
![]() |
#4 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
mass[100] = f(b)
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 20.06.2010
Сообщений: 17
|
![]()
Точно, спасибо, не обратил внимание. Только почему всё равно не выводит результат?
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 23.11.2010
Сообщений: 458
|
![]()
Я прогнал твою программу на Java , так проблема была в h=(b-a)/n; .
Вот код , который я перевел в Java . Код:
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
![]() Последний раз редактировалось Stilet; 23.11.2010 в 17:15. |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 20.06.2010
Сообщений: 17
|
![]()
Поставил (float) в сторку h=(b-a)/n; Сейчас результат выводится. Спасибо. Только зачем это (float) нужно?
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 23.11.2010
Сообщений: 458
|
![]()
Так как у тебя все числа , вот в этой формуле int : (b-a)/n . Компайлер отбрасывает все что у тебя есть после точки . И если число меньше 1 получилось , то тебе в h записывается 0.0 . Но если ты сделал "Cast to float" , то ничего не отбрасывается . Он считает число как float , а не как int .
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найдите ошибку | *natali* | Помощь студентам | 3 | 08.11.2009 17:30 |
Найдите ошибку | MaJlbBuHa | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 20.10.2009 23:26 |
Найдите ошибку | St1fler92 | Помощь студентам | 4 | 26.05.2009 15:23 |
найдите ошибку | Сова | Паскаль, Turbo Pascal, PascalABC.NET | 9 | 11.02.2009 18:46 |