|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.02.2021, 09:44 | #1 |
Регистрация: 08.01.2021
Сообщений: 7
|
Помогите понять ошибку в коде
Добрый день!
Уважаемые формучане, помогите, пожалуйста, найти ошибку в написанном коде. Условие задачи, её решение в виде кода, а также комментарий преподавателя прилагаю. Спасибо! Код:
|
02.02.2021, 11:07 | #2 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,620
|
Бес его знает, что ему не нравится - на первый взгляд, всё ОК. Если запустить прогу, и результат совпадёт с контрольным - посылать препода в путешествие. Есть тут и увеличение x (x=k*h) , и yа вроде как вычисляется. Или он понимает только x = x + h ?
Впрочем, нет: это же Си, в Паскале было бы нормально, а в Си деление целочисленное и даст 0. Я бы попробовал так: Код:
Да, и начальное условие - не 1, а 2/3 . ----------------------------- PS Этот форум препод, конечно, читает Вот как это выглядит на Делфи: Код:
0,050000 0,667081 0,666874 0,100000 0,667897 0,667491 0,150000 0,669084 0,668494 0,200000 0,670600 0,669846 0,250000 0,672379 0,671495 0,300000 0,674337 0,673365 0,350000 0,676363 0,675358 0,400000 0,678311 0,677348 0,450000 0,679993 0,679169 0,500000 0,681159 0,680605 Последний раз редактировалось digitalis; 02.02.2021 в 11:53. |
02.02.2021, 18:40 | #3 |
Регистрация: 08.01.2021
Сообщений: 7
|
digitalis,
Спасибо большое, в итоге у меня получилось вот так (там вверху начинается с 0.00): Код:
|
02.02.2021, 18:57 | #4 |
Форумчанин
Регистрация: 16.11.2020
Сообщений: 243
|
2/3 = 0 приведите хотя бы одно из них к флоату
|
02.02.2021, 19:02 | #5 |
Регистрация: 08.01.2021
Сообщений: 7
|
FrosyaZZ,
Хм, написал вот так: Код:
|
02.02.2021, 19:07 | #6 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
В строке формата печати 3 места под числа, а аргументов только 2.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
02.02.2021, 19:08 | #7 |
Форумчанин
Регистрация: 16.11.2020
Сообщений: 243
|
Код:
|
02.02.2021, 19:14 | #8 |
Регистрация: 08.01.2021
Сообщений: 7
|
FrosyaZZ,
Я прошу прощения, просто заболел, а сделать нужно, что-то я туплю... ( Добавил X, но программа выходит с ошибкой: [Error] ld returned 1 exit status Код:
|
02.02.2021, 19:45 | #9 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,620
|
%5.2f - это +- лопата. Что, жалко знаков после точки? За них деньги плотють ?
Я уже не помню, в Си функцию можно пихать в список вывода? Можно попробовать Код:
x = a + k * h; y[k] = y[k-1] + h*f(x,y[k-1]); } Опять у Эйлера шаг 1/99 и 99 шагов? А в сравнении х принимает совсем другие значения. И хотим, чтоб совпало? Код:
Последний раз редактировалось digitalis; 02.02.2021 в 19:49. |
02.02.2021, 20:01 | #10 |
Регистрация: 08.01.2021
Сообщений: 7
|
digitalis,
Про сравнение не совсем понял, так как брал пример кода из методички преподавателя к заданию и оставил всё, как там написано Смотрите, вот что у меня получилось: 1. Убрал a из формулы x = a + k * h 2. Добавил параметр x в вывод printf, почему-то заработало... Ну и оставил %5.2f, так как боюсь, что сломается Вот готовый код и скрин результатов: Код:
Последний раз редактировалось nexa; 02.02.2021 в 20:03. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите понять ошибку и исправить | kola7007 | Python | 2 | 29.10.2017 18:31 |
Помогите понять ошибку и исправить | kola7007 | Общие вопросы по Java, Java SE, Kotlin | 2 | 23.09.2017 12:36 |
Помогите разобраться в коде не погу понять где ошибка | wagonwils | Общие вопросы C/C++ | 0 | 23.12.2009 21:02 |
Помогите понять что вызывает ошибку - C | liora | Общие вопросы C/C++ | 1 | 29.03.2009 22:05 |