+ Ответить в теме
Показано с 1 по 14 из 14

Тема: помогите исправить ошибки :(

  1. #1
    Наш Чел MOONSHINE кто это? Аватар для MOONSHINE
    Регистрация
    18.07.2007
    Возраст
    32
    Сообщений
    300
    Поблагодарил(а)
    38
    Получено благодарностей: 88 (сообщений: 49).

    По умолчанию помогите исправить ошибки :(

    Нужно составить порграмму, складывающую число и это же число, записанное слева направо, пока результат не станет симметричным. (например, 253: 253+352=506 506+605=1111).
    написал процедуру которая пишет число наоборот:


    Оффтопик


    а она не работает.

    Помогите?

  2. #2
    Наш Чел ~GambiT~ кто это? Аватар для ~GambiT~
    Регистрация
    10.07.2007
    Возраст
    31
    Сообщений
    263
    Поблагодарил(а)
    184
    Получено благодарностей: 34 (сообщений: 26).

    По умолчанию

    Не я в этом не соображаю!

  3. #3
    Наш Чел Dron247 кто это? Аватар для Dron247
    Регистрация
    18.07.2007
    Адрес
    Братск
    Возраст
    35
    Сообщений
    298
    Поблагодарил(а)
    29
    Получено благодарностей: 37 (сообщений: 32).

    По умолчанию

    Код писать не буду, но идею подам, а то на всем готовом соображать тяжело учица))
    Метод не быстрый, но походу прога в учебных целях)
    кароч, разворот числа делай как с текстом те:
    1 получил число
    2 перевел в текст
    3 развернул
    4 опять в текст,оба
    5 проверил

    для процедуры Шаги 1-3
    разворот:
    две строки исходная, и временная
    в цикле for...downto... прогоняеш первую строку с последнего к первому, попутно записывая их во временную(но начиная с первого символа (нужна вспомогательная переменная)) и во временной останетсо развернутое число...

  4. #4
    Наш Чел MOONSHINE кто это? Аватар для MOONSHINE
    Регистрация
    18.07.2007
    Возраст
    32
    Сообщений
    300
    Поблагодарил(а)
    38
    Получено благодарностей: 88 (сообщений: 49).

    По умолчанию

    Ну, у меня тоже идея была. Я исходное число делил на десять в энной степени, где н- количество цифр в числе. Частное умножал на 1, от исходного числа отнимал частное, умноженное на 10 в степени н. получалось новое число. Ну, и это все в цикле.

    y:=ch div exp(ln(10)*x);- В этом месте у меня ошибка №41

  5. #5
    Юзер Dee кто это? Аватар для Dee
    Регистрация
    07.02.2006
    Сообщений
    184
    Поблагодарил(а)
    42
    Получено благодарностей: 12 (сообщений: 10).

    По умолчанию

    может это тебе поможет 2 v stepeni i = exp(i*ln(2)), у тебя помойму не так. я в одной проге мучился с етой exp, потом всетаки сделал как надо.
    аа понял, с этим тоже долго мучился )) у тебя переменные типа integer, а в выражении exp-ы получается real (помойму так), для этого я округлял round(exp(i*ln(2)))
    прога которая переводит из десятичной формы в двоичную, мож поможет тебе

    Оффтопик
    Последний раз редактировалось Dee; 24.02.2008 в 19:48.

  6. 1 пользователь сказал cпасибо Dee за это полезное сообщение:

    MOONSHINE (24.02.2008)

  7. #6
    Наш Чел MOONSHINE кто это? Аватар для MOONSHINE
    Регистрация
    18.07.2007
    Возраст
    32
    Сообщений
    300
    Поблагодарил(а)
    38
    Получено благодарностей: 88 (сообщений: 49).

    По умолчанию

    Помогло! Подписал роунд и все работает.

    Теперь главную часть писать буду. Напишу если будут проблемы.

  8. #7
    Наш Чел MOONSHINE кто это? Аватар для MOONSHINE
    Регистрация
    18.07.2007
    Возраст
    32
    Сообщений
    300
    Поблагодарил(а)
    38
    Получено благодарностей: 88 (сообщений: 49).

    По умолчанию


    Оффтопик


    опять траблы :(
    Последний раз редактировалось MOONSHINE; 24.02.2008 в 20:27.

  9. #8
    Наш Чел Dron247 кто это? Аватар для Dron247
    Регистрация
    18.07.2007
    Адрес
    Братск
    Возраст
    35
    Сообщений
    298
    Поблагодарил(а)
    29
    Получено благодарностей: 37 (сообщений: 32).

    По умолчанию

    на данном этапе у тя obr() это procedure? или ты догадался ее в function переделать? Если эт процедура то так и будет, процедуры могут значения вернуть ток через ссылочные параметры, а то у тя обращение как к функции))

  10. #9
    Ветеран Protas кто это? Аватар для Protas
    Регистрация
    12.10.2007
    Адрес
    г. Братск, Гидрик (56.298,101.899)
    Сообщений
    1,283
    Поблагодарил(а)
    5
    Получено благодарностей: 54 (сообщений: 48).

    По умолчанию

    Цитата Сообщение от MOONSHINE Посмотреть сообщение
    Нужно составить порграмму, складывающую число и это же число, записанное слева направо, пока результат не станет симметричным. (например, 253: 253+352=506 506+605=1111).
    написал процедуру которая пишет число наоборот:


    Оффтопик


    а она не работает.

    Помогите?

    Такие вещи необходимо делать со строковыми типами, а не обрабатывать арифмет действия, нагружая процик, это не эффективно, все можно было сделать со строками в 3 строки и одим циклом, без вызова процедуры, что замедляет решение, главное поставить ограничение на конечныйрезультат, хотя прога и не выведит число , длиннее REAl-a.
    tel: 8-950-адин38-38-восм-сэм

  11. #10
    aSj
    Guest

    По умолчанию

    Эт ферн. Вот только в две строчки не напишешь, нету в пасквиле reverse.
    А в нормальном языке можно и в одну строчку, при некоторой потере читабельности.
    s=s+s.to_s.reverse.to_i while s.to_s!=s.to_s.reverse
    это ruby. Без потери читабельности на нормальном языке будет ~ три строчки:
    Код:
    findpl x | x==xrev   = x
             | otherwise = findpl (x+xrev)
    	 where xrev=read(reverse (show x))::Integer
    это haskell.

    ps: А на функции не назжать, они рулят ;) К тому же, inline был, afair,
    даже в пасквиле.

  12. #11
    Gold Member FAN Трогаюсь FAN Трогаюсь FAN Трогаюсь FAN Трогаюсь FAN Трогаюсь FAN Трогаюсь FAN Трогаюсь FAN Трогаюсь FAN Трогаюсь FAN Трогаюсь Аватар для FAN
    Регистрация
    02.06.2005
    Возраст
    38
    Сообщений
    9,845
    Поблагодарил(а)
    3,433
    Получено благодарностей: 5,276 (сообщений: 2,126).

    По умолчанию

    Парень только учицо, а ты ему такие способы решения даешь )

  13. #12
    Наш Чел Dron247 кто это? Аватар для Dron247
    Регистрация
    18.07.2007
    Адрес
    Братск
    Возраст
    35
    Сообщений
    298
    Поблагодарил(а)
    29
    Получено благодарностей: 37 (сообщений: 32).

    По умолчанию

    Цитата Сообщение от aSj Посмотреть сообщение
    Эт ферн. Вот только в две строчки не напишешь, нету в пасквиле reverse.
    А в нормальном языке можно и в одну строчку, при некоторой потере читабельности.
    s=s+s.to_s.reverse.to_i while s.to_s!=s.to_s.reverse
    это ruby. Без потери читабельности на нормальном языке будет ~ три строчки:
    Код:
    findpl x | x==xrev   = x
             | otherwise = findpl (x+xrev)
    	 where xrev=read(reverse (show x))::Integer
    это haskell.

    ps: А на функции не назжать, они рулят ;) К тому же, inline был, afair,
    даже в пасквиле.
    Блин ты-же модер, нафиг в тему по паскалю ruby и че там еще суешь?
    От твоего поста программу в учебных заведениях не изменят, или ты холивар по повду языка задумал?!

    З.Ы. Паскаль и делфи ненавижу
    З.З.Ы. модераторы удалите плз последние 3 миссаги

  14. #13
    aSj
    Guest

    По умолчанию

    Цитата Сообщение от FAN Посмотреть сообщение
    Парень только учицо, а ты ему такие способы решения даешь )
    Дык, я потому и даю. Чтобы человек знал, что 'через ж$пу' - это не единственный
    метод удаления гланд ;). Впрочем, ничего особо сложного ни в одном из этих
    методов нет ;) Даже для хаскеля - из фич использованы только гарды. Теоретически,
    даже не зная ruby/haskell можно понять как эти проги работают.

    Добавлено через 7 минут
    Цитата Сообщение от Dron247 Посмотреть сообщение
    Блин ты-же модер, нафиг в тему по паскалю ruby и че там еще суешь?
    От твоего поста программу в учебных заведениях не изменят, или ты холивар по повду языка задумал?!
    Конечно, не изменит. Но если своим постом я хоть чуть-чуть компенсирую
    вред - уже неплохо. Проблема ить не в образовании, проблема - в людях.
    Которые потом будут в реале использовать тот ужос которому их научили.
    А поцкал, к сожалению, пригоден только для обучения, да и то, в общем-то,
    плохо. Конечно, с одной стороны, использовать недоязык для
    обучения фундаментальному программингу имеет cмысл, но,
    похоже, Кнут был правее - для этого нужно выбрать такой недоязык, который
    использовать в реалворлде невозможно в принципе. Впрочем, лично
    мне нравится подход MIT-а - там используют кастрированный
    интерпретатор Scheme, который от лекции к лекции становится все менее
    кастрированным.
    Цитата Сообщение от Dron247 Посмотреть сообщение
    З.Ы. Паскаль и делфи ненавижу
    З.З.Ы. модераторы удалите плз последние 3 миссаги
    Ну, ненавидеть - эт перебор. Все-таки пасквиль худо-бедно можно использовать как прокладку между БД и гуйней. А вот как только прога выходит за рамки этого - упс. Ну нету в ем ни строк, ни массивов. Увы.
    И сложно добавить их в язык, нищенский язык слишком. Ну и плюс куча двадцатилетней давности гемора. Впрочем, есть и поцкала и свои герои, ту же SDL вспомнить. Кое как жить можно. Но проще не страдать фигней с костылями.
    Цитата Сообщение от Dron247 Посмотреть сообщение
    З.З.Ы. модераторы удалите плз последние 3 миссаги
    Фигу.
    Последний раз редактировалось aSj; 15.04.2008 в 03:19. Причина: Добавлено сообщение

  15. #14
    Наш Чел Dron247 кто это? Аватар для Dron247
    Регистрация
    18.07.2007
    Адрес
    Братск
    Возраст
    35
    Сообщений
    298
    Поблагодарил(а)
    29
    Получено благодарностей: 37 (сообщений: 32).

    По умолчанию

    Цитата Сообщение от aSj Посмотреть сообщение
    Фигу.
    Счетчики накручиваем)

+ Ответить в теме

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

     

Похожие темы

  1. Помогите найти собаку
    от инна в разделе Животные и растения
    Ответов: 3
    Последнее сообщение: 29.01.2008, 13:41
  2. Помогите выбрать...
    от Kat@ngel в разделе Японские авто
    Ответов: 24
    Последнее сообщение: 14.01.2008, 13:17
  3. помогите. Как настроить StrongDC++???
    от Козырь в разделе Сеть
    Ответов: 3
    Последнее сообщение: 18.12.2007, 19:12
  4. Помогите выбрать телефон за 10000р
    от AvM в разделе Общие вопросы
    Ответов: 15
    Последнее сообщение: 16.12.2007, 23:43
  5. Моя ошибка
    от Оксана в разделе Зеркало
    Ответов: 198
    Последнее сообщение: 15.12.2007, 20:03

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
Рейтинг@Mail.ru
Администрация сайта не выражает согласия
с высказыванием участников форума и не несет
ответственности за их содержание.

Копирование любого материала возможно только
при наличии ссылки на сайт.