Другие языки программирования и технологии

где ошибка в программе turbo pascal (фото внутри)

Слово "ПРИМЕР" означает, что НА САМОМ ДЕЛЕ используются ДРУГИЕ входные данные.
Некорректно потому, что на других данных ваша программа не работает.

Без описания что ДОЛЖНА делать ваша программа ничего не выйдет.
На основании примера можно только ПРЕДПОЛАГАТЬ, что после 's[' нужно вывести прочитанный номер, потом ']=', и наконец соответствующий номеру символ.

Почему только предполагать. Нигде не сказано, как реагировать на такой вход:
string
10000

Ошибка тут в том, что только одна строка, или в том, что первая строка слишком короткая?
И вообще, как отображать что в данных ошибка?
OO
Oleg Osokin
11 112
Лучший ответ
Не вижу ошибок; выведены 4й символ 1й строки, 2й - 2й строки и 3й - 3й строки, как по заказу.
Erkesh Kirgizalin
Erkesh Kirgizalin
53 851
Акбар Балхиев хз, но сказали что некорректно сделано

i1, i2, i3 : byte;

readln(s1);

readln(i1);

проверить i1 >= byte(s1[0]); (* кажись так, с 1999 не трогал паскаль *)
если да, то уменьшить i1;

writeln('s1[', i1, ']=',s1[i1]);

P.S. Некорректно тут именно то, что числа 4, 2 и 3 – это НЕ константы, они тут же вводятся и используются. Внимательнее будьте :)
P.P.S. Максимальная длина строки в трупопаскале 255 символов – не надо longint, который, помимо того, что занимает 4 байта еще и дозволяет отрицательные величины.
на фоне того что не указано ОСНОВНОЕ "а что собственно от проги требовалось"
остальное мелочи.
нет проверки ввода и соответственно летят нахрен все поиски по индексу в вводимом (введут первым просто перевод строки и где будешь искать там четвертый символ? )
Хотя может так и задумывалось? Грохаться при любом неточном ответе на неуказанный вопрос?
Паша Ерофеев
Паша Ерофеев
27 060