![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
nitrak |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 25.12.2006 Репутация: нет Всего: нет |
Дано положительное вещественное число А.
Найдите первую цифру дробной части. |
|||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 7 Всего: 49 |
floor((A-floor(A))*10)
Надо подключить math.h. |
|||
|
||||
nitrak |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 25.12.2006 Репутация: нет Всего: нет |
Спасибо, помогло!!
а что делает функция floor?? |
|||
|
||||
Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 5 Всего: 41 |
округляет -------------------- |
|||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 7 Всего: 49 |
Пожалуйста. ![]() Возвращает наибольшее целое число (с типом double) , меньшее или равное аргументу (который тоже double). |
|||
|
||||
nitrak |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 25.12.2006 Репутация: нет Всего: нет |
Все! я доделал!))
еще раз спасибо!!
|
|||
|
||||
Dmi3ev |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 5 Всего: 41 |
не совсем ![]()
-------------------- |
||||
|
|||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 7 Всего: 49 |
Вы меня, надеюсь, извините, но, вообще говоря, оба варианта, кхм... не вполне удачны.
![]() 1) Заголовочные файлы лучше писать не в кавычках, а в <> - в противном случае компилятор их, скорее всего, не найдет. 2) Зачем нужна строка #include "stdafx.h" ? 3) Функция main() в соответствии со стандартом языка должна возвращать int. На такой заголовок любой приличный компилятор выругается. 4) Вариант #include "iostream.h" (равно как и #include<iostream.h>) приказал долго жить уже, если не ошибаюсь, 11 лет назад, в 1998 году. В сочетании же с using namespace std; это вообще какая-то смесь французского с нижегородским. Правильно #include<iostream>. 5) Число по условию было положительным, а "защита от дурака" в условие задачи не входила. ![]() 6) Функция int abs(int) определена не в math.h, а в stdlib.h 7) Приведением типов лучше вообще никогда не пользоваться (по крайней мере, без сильнейшей необходимости). Ибо это частый источник ошибок, а заодно и неудобный для компилятора вариант. Понятно, что в такой "программе" это мелочи, но все же... 8) system("pause") - а откуда известно, что shell знает, что такое "pause"? 9) Ну и главное - на закуску. Это"скриншот" работы второго варианта программы:
Вопрос - почему не "2"? ![]() ![]() Подсказка: задачка п.9 чем-то очень похожа на п.5. ![]() |
|||
|
||||
Dmi3ev |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 5 Всего: 41 |
Фантом, у меня просто в данный момент нет компилятора и ближайшую неделю не будет, но попытаюсь ответить.
согласен! я пишу нормально, но потом вставил из проги nitrak-а и то не полностью))) чтобы ему понятнее было)))
известно! это уже придирки... вот такой вариант можно
пойдёт? можно проверить строку на то, что она полностью из цифр, а так... -------------------- |
||||||
|
|||||||
taiven |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 302 Регистрация: 30.6.2008 Репутация: 4 Всего: 9 |
заголовочные файлы взятые в кавычки ищутся сначала в рабочем каталоге, и если их там нет, то рассматриваются как <>. да, но есть огромное искушение сделать так:
![]() |
||||
|
|||||
Фантом |
|
||||||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 7 Всего: 49 |
Ну, зачем мне к чему-то придираться?.. Просто так действительно делать нехорошо - не стоит закладываться на особенности конкретных компиляторов и конкретных операционных систем (как в данном случае). Если уж nitrak учит C++, пусть лучше сразу учится правильно.
Можно. Он лучше - в том смысле, что введенная после точки цифра и то, что получится в ответе, всегда будут совпадать. Но, строго говоря, это тоже не решение задачки из п.9. ![]() Ответ там, собственно, простой: числа 324.2 и 324.1999999... равны друг другу. И с точки зрения математики (всегда), и с точки зрения машинного представления (зачастую). Соответственно, вопрос о том, какой будет первая цифра дробной части у такого числа, просто не имеет однозначного ответа. Если предполагается, что исходная задача допускает однозначное решение, то это означает, что подобные данные в нее вводить нельзя. ![]() |
||||||
|
|||||||
Dmi3ev |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 5 Всего: 41 |
сталкивался, знаю.
я думаю, что это даже самый простой способ решения задачи...
тогда можно использовать getch, sleep, cin, чтобы приостановить программу и увидеть ее результаты... http://forum.vingrad.ru/forum/topic-212986.html вот как раз эту тему поднимал... решение задачки из п.9 Это сообщение отредактировал(а) Dmi3ev - 9.1.2009, 19:20 -------------------- |
||||||
|
|||||||
Фантом |
|
||||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 7 Всего: 49 |
Конечно, насчет "скорее всего" я погорячился - наиболее распространенные современные компиляторы найдут, однако нарваться на то, что компилятор это не поймет, до сих пор достаточно реально (хотя в действующем стандарте языка эта норма есть). С другой стороны, в предполагаемом стандарте C++09 ее вроде бы собрались отменить (ради ликвидации потенциального источника ошибок). Во всяком случае, лучше так не делать - спокойнее будет.
Есть, кто же спорит. Но преобразованиями типов все равно пользоваться нехорошо - конструктор типа оно в любом случае вызовет. Добавлено через 7 минут и 10 секунд
А, эту тему я не видел. Кстати, в дополнение к ней: есть еще одно решение - использовать языки, предназначенные для такой деятельности. Современные варианты Фортрана и Ады это все умеют "от рождения", причем более естественным (на мой взгляд) путем, чем C++. Это сообщение отредактировал(а) Фантом - 9.1.2009, 19:27 |
||||
|
|||||
Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 5 Всего: 41 |
да, повезло автору, все по полочкам разобрали...
тоже выход ![]() -------------------- |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |