![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Ufyljy |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 5.10.2007 Репутация: нет Всего: 1 |
** Создано: 30/10/2007
Автор: Коррекции: Благодарности: wils0n, DjoNIK, FREEDEV, Kuvaldis, Lazin, Optimus =2, SergeCpp
Суть проги - в зависимости от числа мы добавляем к нему слово "рубль" в правильном склонении. Вопрос следующий: можно ли эту задачу было реализовать покороче, не так как у меня. Это сообщение отредактировал(а) Ufyljy - 30.10.2007, 02:10 |
|||
|
||||
| archimed7592 |
|
||||||||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Ну, начнём с того, что она неправильно работает
Насчёт короче... Как-то странно(я бы даже сказал ужасно) у тебя логика сделана По сути вот это то же самое, только намного понятней любому программисту:
Непонятно зачем нужен был вложенный do..while, зачем нужна переменная b, зачем нужно было делать управление работой через i... Добавлено через 12 минут и 23 секунды
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
||||||||
|
|||||||||
| Ufyljy |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 5.10.2007 Репутация: нет Всего: 1 |
А у меня логики нету, зато классно.. вопрос стиля
За прогу огромное спасибо. > По сути вот это то же самое, только намного понятней любому программисту Нет, не надо утрировать)) я поимел ввиду то, что способ реализации этой проги совершенно другой, а не просто подкорректить всякие b=b+1; Это сообщение отредактировал(а) Ufyljy - 30.10.2007, 09:06 |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Я думаю, что это плохой стиль. Учись писать программы, понятные не одному тебе.
Я бы сказал, что у меня способ реализации понятный, а у тебя, чтобы враг не догадался(если бы там было около тысячи подобных строк, то точно никто не догадается "как ЭТО может работать"). -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| Ufyljy |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 5.10.2007 Репутация: нет Всего: 1 |
Я и не спорю, что у тя все гуд.
Нет-нет, смысл в том, чтобы задача была реализована другим спосом. Например, через символьный тип, другой подход к задаче. |
|||
|
||||
| Ufyljy |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 5.10.2007 Репутация: нет Всего: 1 |
Вгляделся в твой исходный код, и понял, что я мало чего понял в этом коде.
1) int teen = h >= 11 && h <= 19; - вообще такую конструкцию я вижу впервые; ты переменной teen присваиваешь значение переменной h, которая в диапазоне от 11 до 19? Другими словами, переменной teen присваиваются те значения h, которые входят в промежуток от 11 до 19? 2) const char *w=""; - непонятно const перед char, и указатель перед w 3) while(1) - это "бесконечное пока"? Можешь объяснить это типа фокус, фишка? |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
Ufyljy,
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| archimed7592 |
|
||||||||||||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
У меня такой же подход, как и у тебя, только короче и понятнее. Нет. Равносильно следующему:
Или этому:
Или этому(в твоём стиле
Ну и где понятней?
Если язык Си, то IIRC, const будет выдавать только предупреждения. В С++ попытка изменить значение по указателю на константу приведёт к ошибке компиляции:
А for(;;) - это что фокус, фишка? Вот while(1) - то же самое. -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
||||||||||||
|
|||||||||||||
| Ufyljy |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 5.10.2007 Репутация: нет Всего: 1 |
2 MAKCim: Че?
2 Архимед: что за оператор "?" и 1 - здесь истина, 0 - ложно? |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Через плечо. RTFM! Тринарный условный оператор. Тебе помог мой ответ? Нет? Тогда RTFM! 0 - ложь. НЕ 0 - истина. Не помогло? RTFM! -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
Ufyljy, если будешь задавать вопросы вроде
тебя самого склонять будут |
|||
|
||||
| FREEDEV |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 238 Регистрация: 6.3.2007 Где: Украина->Одесс а Репутация: нет Всего: 3 |
опять все закончилось RTFMом
Ufyljy, это все концепции С++, которые очень полезно знать, они действительно сделают твой код более читабельным. Пока можешь особо не заморачиваться, главное чтоб в итоге твои программы работали, со временем все поймешь. Ну, и нужно больше читать уже готовых исходников. --------------------
Microsoft Windows Visla © |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
FREEDEV, не смеши мои тапочки. Тут нет ни одной концепции(как в общем, так и С++ в частности). Тут есть базовые(очень базовые) основы языка Си. Человек, задающий подобные вопросы с тем же успехом мог бы спросить "а что такое число?" "а кто я?" "а где я?" "а что я здесь делаю?" "а как зовут мою кошку?" и т.д.
А насчёт "можешь не заморачиваться" - нет, ну конечно можно не заморачиваться, но, боюсь, что с таким алгоритмическим стилем программист из него не получится, а если и получится, то такой, который проверяет булеву переменную на истину в лучших традициях индусов(БОР) if (b.toString().Length < 5) -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| FREEDEV |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 238 Регистрация: 6.3.2007 Где: Украина->Одесс а Репутация: нет Всего: 3 |
Может так оно и есть, но каждый с чего-то начинал. Нельзя сесть и начать писать "правильно", к этому нужно прийти. Ну не знает он оператора "?", - познакомиться позже, главное было б желание.
--------------------
Microsoft Windows Visla © |
|||
|
||||
| Ufyljy |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 5.10.2007 Репутация: нет Всего: 1 |
Нет, мне не понятно, что от меня хотел MAKCim.
(он даже модератор, что меня очень страшит с его злым смайликом; если я задаю тупые вопросы - это пройдет, поверьте, без причины я не стану спрашивать) К сожалению у меня в методичке нету оператора "?", поэтому и спрашиваю > Человек, задающий подобные вопросы с тем же успехом мог бы спросить "а что такое число?" "а кто я?" "а где я?" "а что я здесь делаю?" "а как зовут мою кошку?" и т.д. Люди, поймите, все относительно. Везде разные системы отчета. > Тринарный условный оператор А чем отличается унарный оператор от тринарного? |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |