|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.07.2011, 01:35 | #11 |
Пользователь
Регистрация: 03.08.2009
Сообщений: 77
|
За замечания , функция pow() в качестве аргумента степени принимает только double, и остальные функции просто не поменял, они же тоже не за присест все написались, забыл. Вот где серьезное упущение, это "> 48 < 57" и new char[]. Ну короче, я сначала решил одну функцию писать, потом подумал и решил что две... ну потом еще одну надумал. экспромт родил неразберихи
P.S. дождался критики наконец-то. Вот про atoi немного подробней можно? и как лучше переводить char в int? Последний раз редактировалось Alkagolik; 03.07.2011 в 01:47. |
03.07.2011, 07:10 | #12 |
C++,DirectX/OpenGL
Форумчанин
Регистрация: 09.01.2011
Сообщений: 422
|
Своими функциями лучше =)
Код:
Последний раз редактировалось An1ka; 03.07.2011 в 07:12. |
03.07.2011, 14:59 | #13 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
atoi переводит строку в int. То есть она проходится по массиву символов до терминирующего нуля. Передавая в неё единственный символ, а не C-строку, вы рискуете получить неверные данные. А получить из символьного представления цифры целочисленное можно просто отняв от него 48, или, что лучше, символ '0' (как это можно увидеть в посте An1ka). Правда нет смысле писать собственный аналог ф-ции atoi
|
03.07.2011, 16:30 | #14 |
Пользователь
Регистрация: 03.08.2009
Сообщений: 77
|
В результате конструктивной критики код приобрел следующий вид
Код:
|
03.07.2011, 17:52 | #15 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
И всё таки ваша ф-ция Check просто монструозна
Код:
Код:
Последний раз редактировалось netrino; 03.07.2011 в 17:55. |
03.07.2011, 20:48 | #16 |
C++,DirectX/OpenGL
Форумчанин
Регистрация: 09.01.2011
Сообщений: 422
|
|
03.07.2011, 21:09 | #17 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Ну с этим не поспоришь) В контексте этой задачи, надо было, а вообще нет, так как всё равно сложно будет сделать лучше. Да и отрицательные числа здесь тоже не нужны были, unsigned int же.
На atoi ругается? Не путаете с нестандартной itoa? |
04.07.2011, 08:49 | #18 |
C++,DirectX/OpenGL
Форумчанин
Регистрация: 09.01.2011
Сообщений: 422
|
Отрицательные числа это ведь бесплатный бонус ! Достаточно переименовать тип int в unsigned int и вуаля будут только положительные целые =)
Не знаю, но у меня обе реализованы, так что уж точно не будет |
04.07.2011, 14:21 | #19 | |
Пользователь
Регистрация: 03.08.2009
Сообщений: 77
|
Цитата:
Код:
Вот так работает Код:
|
|
04.07.2011, 18:11 | #20 | ||
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Цитата:
Цитата:
Ф-ция check удостоверяется, что в строку записано корректное число, без букв и прочего. Если по заданию нужно было разбирать и такие строки, как вы привели, то тогда да - работать не будет, и check, в моей реализации, тогда тоже неверен) |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Для типов данных char, short, int, long с квалификаторами signed, unsigned составить программу, которая, | listiksasha | Фриланс | 4 | 21.02.2011 12:26 |
Для типов данных char, short, int, long с квалификаторами signed, unsigned составить программу, которая, | listiksasha | Помощь студентам | 2 | 20.02.2011 12:57 |
Есть необходимость использовать unsigned int. Нужен ваш опыт. | Karyuzin | Общие вопросы по Java, Java SE, Kotlin | 1 | 14.12.2010 07:44 |
int vs unsigned int | Kn793 | Общие вопросы C/C++ | 13 | 28.08.2010 22:00 |
[РЕШЕНО][C] unsigned int аргумент работает как signed | Sfuller | Общие вопросы C/C++ | 2 | 30.06.2010 18:17 |