|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.01.2011, 12:55 | #1 |
Пользователь
Регистрация: 21.01.2011
Сообщений: 34
|
Проверьте код в лаб.работе № 1
Задача 1
В соответствии с вариантом задания вычислить: b) медианы треугольников по формулам a=0.267; b=0.173; c=0.098; Код:
Вычислить значение функции y и z по формулам при различных вещественных типах данных (float и double). Параметр x вводится с клавиатуры. Вычисления следует выполнять с использованием промежуточных переменных. Сравнить и объяснить полученные результаты. Код:
Последний раз редактировалось j-pavlov; 21.01.2011 в 14:56. |
21.01.2011, 13:29 | #2 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
- Лишние инклюды в обеих и лишняя pragma во второй программе (conio, например).
- Инклюды подключаются плохим стилем (math.h вместо cmath, iostream.h вместо iostream). Мало того, iostream.h в нормальном компиляторе вообще не подключится. - В первой ты делаешь одно и то же трижды. А для того, чтобы не делать одно и то же, придумали функции. - Отсутствие нормального форматирования. - Вместо getch() лучше использовать cin.get(). - int main() и так возвращает 0, если завершился, тебе это делать не надо. То есть в первой задаче не надо делать return 0. - cin и cout находятся в пространстве имён std, то есть их надо вызывать как std::cin и std::cout. Это касается первой программы, а во второй у тебя сделано using namespace std и можно ничего не трогать. У меня твой код вообще не компилируется, сейчас я всё исправлю с учётом своих замечаний и покажу.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su Последний раз редактировалось Obey-Kun; 21.01.2011 в 14:08. |
21.01.2011, 13:40 | #3 | |
Пользователь
Регистрация: 21.01.2011
Сообщений: 34
|
Цитата:
жду. |
|
21.01.2011, 14:02 | #4 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Ещё у тебя ошибка в следующем коде:
Код:
Вот программа с медианами: Код:
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
21.01.2011, 14:11 | #5 |
Пользователь
Регистрация: 21.01.2011
Сообщений: 34
|
только начал, было 2 занятия по программированию, дали задачи и сказали решить к февральской сессии.
сам разбирался, что понял так и решал ибо проконсультироваться кроме как с интернетом нет возможности. а со второй задачкой? спасибо огромное тебе. |
21.01.2011, 14:12 | #6 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Ещё одно замечание. В первой программе у тебя float, во второй double. Ныне float лучше double только при рассчётах на видеокарте (или если таких объектов дохрена и надо экономить память), но я тут ничего трогать не стал. По идее ничего трогать и на надо, но разницу между float и double ты обязан понимать. Если не понимаешь, спроси, разъясню. И я так и не понял, ты в курсе что такое класс или хотя бы что такое структура из Си?
Ещё ко второй программе, Плюс ко всему, у тебя во второй программе: Код:
И ещё замечания насчёт второй: - у тебя там используется void main(), а по стандарту main должна быть int. - если так получается, что x = y (например, при x=1), то при расчёте z происходит деление на 0. При этом z станет равным или бесконечности, или неопределённому значению (0/0). То есть или inf, или nan. Это отдельно не надо обрабатывать? Судя по тому, что отдельно это обрабатывать не просят, то и не надо (программа будет работать нормально и просто покажет, что z = nan или inf). Но мало ли. - у тебя там тоже ошибка в формуле, ты пишешь z=fabs(x)+fabs(y)/(x-y)+fabs(x/y), а надо z=(fabs(x)+fabs(y))/(x-y)+fabs(x/y) — будь внимательней. Также хотелось бы увидеть полный текст первого задания. Там нет пояснений насчёт того, что следует использовать? Вот второе задание: Код:
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su Последний раз редактировалось Obey-Kun; 21.01.2011 в 14:33. |
21.01.2011, 14:25 | #7 |
Пользователь
Регистрация: 21.01.2011
Сообщений: 34
|
float - 32-битное число с плавающей точкой
double - 64-битное число с плавающей точкой |
21.01.2011, 14:49 | #8 |
Пользователь
Регистрация: 21.01.2011
Сообщений: 34
|
Честно я пока что полный нуль. Читаю статьи по с++
и из примеров привел эти 2 задачи. сорри. Можешь подробно объяснить эти 2 задачки. преподаватель рекомендует использовать программу C++Builder, но по стечению обстоятельств у меня дома стоят машины с mac os x, можно ли на них в икс коде или каком другом решить эти задачки? Последний раз редактировалось j-pavlov; 21.01.2011 в 14:56. |
21.01.2011, 14:58 | #9 | |||
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Цитата:
В стандарте вообще не указаны конкретные размеры для стандартных типов. Читай 3.9.1 стандарта. На деле разница ещё в том, что на старинных FPU, а также на современных видеокартах float'ы обрабатываются быстрее. Цитата:
Цитата:
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su Последний раз редактировалось Obey-Kun; 21.01.2011 в 15:04. |
|||
21.01.2011, 15:18 | #10 | |||
Пользователь
Регистрация: 21.01.2011
Сообщений: 34
|
Цитата:
Цитата:
Цитата:
|
|||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проверьте код | neomax38 | Помощь студентам | 2 | 27.12.2010 16:53 |
Проверьте код | monty "2" | Помощь студентам | 2 | 08.04.2010 17:44 |
Please!!! Проверьте код по Delphi!!! | Dmitriy-e-nest | Помощь студентам | 2 | 16.01.2009 15:41 |
Проверьте код ! | Михаил Юрьевич | Общие вопросы Delphi | 7 | 08.02.2008 09:32 |
Проверьте пожалуйста код | forumu | Помощь студентам | 1 | 27.12.2007 21:49 |