Здравствуйте, уважаемые эксперты. У меня такая проблема: по задаче я составил программу, вроде всё правильно, но выводит он, что то не то. Задача такая: Научить компьютер распозновать среди введённых n чисел степень двойки(например, 1, 2, 4, 8, 16...). Решение в приложении. Я ввожу 5 чисел, (1, 2, 4, 8, 16) и он мнемвыводит 1:0 2:1 5:2 Хотя нужно 1:0 2:1 3:2 4:3 5:4 В чём у меня ошибка я так и не понял, помогите пожалуйста.
Добрый день, SDS! А не проще написать так (в приложении)? lb(x) - целое, если x - степень двойки.
Приложение: Ответ отправлен: 14.10.2004, 18:20 Отправитель: Snowm@n Отвечает Tancho
Здравствуйте, SDS! Отстраняй оператор For i:=1 to n do , стоящий после оператора While ms>2 do begin и все будеть как хочеш! Смотри Приложении!
Приложение: Ответ отправлен: 15.10.2004, 10:00 Отправитель: Tancho Отвечает Boriss
Добрый день, SDS! Нужно проверить четное ли число odd(5) - false odd(4) - true Ответ отправлен: 14.10.2004, 18:11 Отправитель: Boriss Отвечает Strory
Здравствуйте, SDS! Ошибка номер раз - у тебя во вложенных циклах в качастве счётчика используется одна и та же переменная: for i := 1 to N do begin ... for i := 1 to N do ...; ... end; Естественно, "индексация" одного портит "индексацию" другого. Ошибка номер два - St наращивается почему-то вне цикла, в котором делится число. Ошибка номер три - число не проверяется на чётность, т.е. если ввести 9, то оно по твоему алгоритму поделится на два и превратится в 4 и т.д. и окажется двойкой в третьей степени. Ошибка номер четыре - ужасное оформление кода, ты сам не видишь где начинается один цикл, кончается второй и отсюда куча логических ошибок.
А рабочее решение наши доблестные Xперты уже дали ;) Ответ отправлен: 15.10.2004, 16:57 Отправитель: Strory
Вопрос № 529
Курсовик сделан на 11,5 из 12ти задачь, ну что за черт сломаться на последней половинке... а экзамен автаматом хочется... а кому не хотелось? так вот так половинка, помогите чем можите плиз... Задача № 57 о синтаксически корректных строках. Введем следующее определение. Строка, состоящая из открывающих и закрывающих скобок, называется синтаксически корректной, если между скобками можно вставить знаки операндов и арифметических операций, так что получается осмысленное математическое выражение. В противном случае стока называется синтаксически не корректной (например если нарушен баланс открывающих и закрывающих скобок). а) а пункт сделан но вот в(
б) Написать функцию KKS (N : word) : longint, возвращающую количество синтаксически корректных строк длинной N. Функция должна быть работоспособна по времени работы для значения аргумента
вплоть до N = 30.
Приветствую Вас, war! Мы не Золатую рыбку! Потрудись выпиши свою прогу и если встречиш какие то проблемый задай конкретный вопрос!Тогда мы можно тебе помоч! А так все будут посылать свои курсовики экспертов для сдачу экзаменов! Ответ отправлен: 15.10.2004, 10:12 Отправитель: Tancho Отвечает sir henry
Добрый день, war! Ну и в чем сложность? Если Ваша программа уже научилась распознавать синтаксически корректные сроки, то осталось только подсчитывать их длину и количество самих строк. Ответ отправлен: 15.10.2004, 16:26 Отправитель: sir henry Отвечает Strory
Здравствуйте, war! Не понятно, если ты сделал первую часть задачи, т.е. можешь определить является ли строка "синтаксически корректной", то откуда проблемы во второй части задачи? Добавь проверку "if Length(S) = N then inc(i);". В чём проблема-то?
Давай свой вариант, будем посмотреть. Ответ отправлен: 15.10.2004, 16:57 Отправитель: Strory Отвечает Snowm@n
Приветствую Вас, war! Я потратил 6.5 минут, написав 20 строк (приложение), - и твоя курсовая спасена! При n=30 работает ~30 секунд на компе 800 MHz - надеюсь это приемлемое время. Неужели до этого так трудно додуматся?
Приложение: Ответ отправлен: 15.10.2004, 21:07 Отправитель: Snowm@n Отвечает Boriss
Доброе время суток, war! Задача не очень простая. Вы видели http://www.hot.ee/gelphi/Calculator2.rar? Ответ отправлен: 16.10.2004, 13:13 Отправитель: Boriss
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.