Дистанционная подготовка: В чем ошибка (язык С)?
В чем ошибка (язык С)?
от Роман Еннер - Вторник 5 Август 2014, 12:13
110. Поиск подстроки
  Есть вот такое решение на чистом С

http://ideone.com/plain/Jmbb2x

Не прошло последний тест.
В чём загвоздка?
(на С++ решения не предлагать, на нем все работает)
Re: В чем ошибка (язык С)?
от Андрей Шестимеров - Вторник 5 Август 2014, 21:20
  Выход за границу массива для строки длиной 10000 + один символ на '\0'
Re: В чем ошибка (язык С)?
от Роман Еннер - Вторник 5 Август 2014, 21:09
  Эта же задача сдана на freepascal с короткими строками на 255 символов, и все тесты пройдены.
Re: В чем ошибка (язык С)?
от Андрей Шестимеров - Вторник 5 Август 2014, 22:57
  Сейчас там плохие тесты, если ограничения больше 255, то по идее, решение на fpc не должно проходить
Re: В чем ошибка (язык С)?
от Роман Еннер - Вторник 5 Август 2014, 23:37
  хм...
странно
действительно увеличил длину строки до 10001 и все тесты пройдены.
Однако, как тогда прошло решение на freepascal с обычным типом string?
Re: В чем ошибка (язык С)?
от Григорий Резников - Среда 6 Август 2014, 09:11
  В fpc вроде уже давно строки не 255...
Re: В чем ошибка (язык С)?
от Григорий Резников - Среда 6 Август 2014, 09:15
  Там есть Ansistring(бесконечная строка) и Shortstring(на 255 символов). String это первая либо вторая в зависимости от флага {$H-}. По умолчанию String это Shortstring.
Re: В чем ошибка (язык С)?
от Роман Еннер - Среда 6 Август 2014, 17:35
  Всем спасибо за ответы