Подскажите, пожалуйста, где ошибки и как корректно составить программу? (в pascal)
Само задание: удвоить все символы в строке.
Приложения:
![](https://st.uroker.com/files/307/3070f0f73b1682a1e0ca850dc1ed2bfb.png)
Ответы
Ответ дал:
0
Ошибка
В строке 's2:= s2 + s1[i] + s1[i];'
По умолчанию все переменные равны нулю
т.к. вы не задали значение i и вводите эту строку вне цикла for, то получается что вы запрашиваете нулевой элемент массива s1, при том что нумерация начинается с единицы, поэтому и выдаёт ошибку.
"Индекс находится вне границ массива"
Верный код программы
program raf105;
var s1,s2:string;
i:integer;
begin
writeln('Введите строку');
readln(s1);
s2:='';
for i:=1 to length(s1) do
s2:= s2 + s1[i] + s1[i];
writeln(s2);
end.
Ответ дал:
0
Введите строку
71
7711
при проверке программы так, это верно?)
71
7711
при проверке программы так, это верно?)
Ответ дал:
0
Каждый символ в строке удвоился. Разве в задании требовалось не это?
Ответ дал:
0
Спасибо Вам большое! :)
Вас заинтересует
1 год назад
1 год назад
7 лет назад