Подскажите, пожалуйста, где ошибки и как корректно составить программу? (в pascal)
Само задание: удвоить все символы в строке.

Приложения:

Ответы

Ответ дал: raf1O5
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.

Ответ дал: ClarisVerbis
0
Введите строку
71
7711
при проверке программы так, это верно?)
Ответ дал: raf1O5
0
Каждый символ в строке удвоился. Разве в задании требовалось не это?
Ответ дал: ClarisVerbis
0
Спасибо Вам большое! :)
Вас заинтересует