![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
neZvezda |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 19 Пол: Женский Репутация: ![]() ![]() ![]() |
Есть функция ToDec (перевод из любой сист. счисления в 10ричную).
function ToDec(n:string; radix:longint):longint; По ней есть вопрос, когда она в программу внедрена. Ошибку дает, когда есть одно определенное условие. Думаю, у знающего человека займет не более 10 минут. help есть вектор А и Б. Состоят из единиц и двоек. Заносятся в матрицу. Для этого идет перевод в двоичную систему, все 2ки из векторов заменяются на 1, 1цы из векторов - на 0. Далее при помощи функции ToDec производится преобразование в десятичное представление. Так вот, если имеется вектор, состоящий из единиц, 11111. Тогда при переводе в двоичное число, будет 00000. А строка программы while n[1]='0' do delete(n,1,1); из строки n удаляет один символ, начиная с первого. Если там все нули, тогда удаляет строку вобще всю! И идет ошибка в программе. перед while надо сделать условие? типа того for i:= 1 to 5 do begin я так понимаю, что если все элементы вектора равны 0, тогда не удалять? или как все это реализовать)) запуталась. |
![]() ![]() |
![]() |
Текстовая версия | 24.06.2025 18:25 |