🦥Alex Fails
сорян, вырвалось
🦥Alex Fails
я тут открыл файл не в блядском блокноте, а в кошерном Notepad++
🦥Alex Fails
Ща будет немного Таза
🦥Alex Fails
не, норм
🦥Alex Fails
тут норм аски
🦥Alex Fails
в общем..
🦥Alex Fails
if ( (a[i]=='1')||(a[i]=='2')||(a[i]=='3')||(a[i]=='4')||(a[i]=='5')||(a[i]=='6')||(a[i]=='7')||(a[i]=='8')||(a[i]=='9')||(a[i]=='0') )
ivario
Копипаста как парадигма программирования
🦥Alex Fails
если посмотреть в ту же аски - в таблицу кодов
ivario
🦥Alex Fails
(ru.wikipedia.org/wiki/ASCII)
🦥Alex Fails
то можно увидеть, что символы 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 идут друг за другом
🦥Alex Fails
А с учетом того, что с символами можно делать любые математические действия
ivario
Не знудству
ivario
й
🦥Alex Fails
то тут определенно надо проверять цифру на вхождение в диапазон
ivario
я знаю, что так можно было
🦥Alex Fails
т.е. делать надо не эту простыню
ivario
ХВАТИТ
ivario
пощади
🦥Alex Fails
а if(a[i]>= '0' && a[i] <= '9')
🦥Alex Fails
а if(a[i]>= '0' && a[i] <= '9')
Вот как надо было делать
🦥Alex Fails
Что за сайт?
там вроде сверху написано
ivario
Что за сайт?
http://informatics.mccme.ru/
ivario
Так, вернемся к тому, КОИМ ФИГОМ МОЯ ПРОГА ПАДАЕТ
🦥Alex Fails
(int i=0; ; i++)
🦥Alex Fails
вот какого
🦥Alex Fails
у тебя условия выхода нет
🦥Alex Fails
и - бац - индекс аут оф рейндж
ivario
и - бац - индекс аут оф рейндж
Забавно, никогда такого не было
🦥Alex Fails
если твоей программе скормить неверные данные
🦥Alex Fails
например, уравнение x=x
🦥Alex Fails
да даже x=0
🦥Alex Fails
то у тебя получится такая каша:
🦥Alex Fails
ты входишь по тому условию, которое проверяет циферку
🦥Alex Fails
if (a == 1... a== 0)
🦥Alex Fails
или как там
🦥Alex Fails
потом ты проверяешь циферку на 6, 7, 8, 9
🦥Alex Fails
фейлишь
🦥Alex Fails
хотя не
🦥Alex Fails
на x=0 норм
🦥Alex Fails
а вот x=x сломается
🦥Alex Fails
потому что входа в ветку проверки цифры не будет, и ты обратишься за пределы строки
🦥Alex Fails
вот проверь прогу на этом уравнении
🦥Alex Fails
технически, оно должно писать YES
🦥Alex Fails
если я правильно понял условие
ivario
потому что входа в ветку проверки цифры не будет, и ты обратишься за пределы строки
Видимо, мой компиль это спокойно переваривает, ровно как и присваивания в структурах
🦥Alex Fails
если нет, то в любом случае ошибка генерится выходом за пределы массива
🦥Alex Fails
"Неопределенное поведение"
🦥Alex Fails
в чем соль? Что если компиль встретил такую херь, которая является UB, то он может сделать что угодно
🦥Alex Fails
в каком-то старом GCC была игра в ханойские башни на каком-то UB
🦥Alex Fails
в общем, поправь код
🦥Alex Fails
то, что у тебя есть, отвратительно читать
🦥Alex Fails
я извиняюсь за резкость
ivario
то, что у тебя есть, отвратительно читать
Это я и не планировал никому давать читать
arisudesu
UB это design fault
arisudesu
На него нельзя полагаться
ivario
сваял за 5 минут, перешел к следующей
🦥Alex Fails
все равно "пиши код так, как будто его будет сопровождать склонный к насилию психопат, знающий, где ты живешь"
🦥Alex Fails
@ivario , есть тесты, которыми они проверяют?
🦥Alex Fails
вот я думаю, что они тебе могли еще к примеру пустую строчку дать
ivario
Я добавил условие выхода, все прошло
🦥Alex Fails
👍
🦥Alex Fails
но ради всего святого, не пиши такие условия, когда можно проверить диапазонами
🦥Alex Fails
приветствую в чате)
$continue$
чет как то мало народу
$continue$
😆
🦥Alex Fails
ага
🦥Alex Fails
а вообще код так в остальном аккуратно написан
$continue$
Подключал кто нибудь scrypt + AES в проекты?
🦥Alex Fails
я из openssl тырил алгоритмы
$continue$
я чет не могу функцию юзануть
$continue$
тип память в рид онли
🦥Alex Fails
const?