Предмет: Информатика,
автор: arinagolenko
НУЖНА ПРОГРАММА НА ТУРБО ПАСКАЛЕ!!! Запросить у пользователя строку S, сформировать из нее строку S1, переставив символы в строке S местами: первый с последним, второй с предпоследним и т.д. Вывести на чистый экран строки S и S1, рядом их длину.
Ответы
Автор ответа:
0
uses Crt;
var
s,s1:string;
i,n,t:integer;
begin
ClrScr;
Write('Введите строку: '); Readln(s);
ClrScr;
n:=Length(s);
s1:=Copy(s,1,n);
for i:=1 to n do s1[i]:=s[n-i+1];
Writeln(s,' ',Length(s));
Writeln(s1,' ',Length(s1));
ReadKey
end.
var
s,s1:string;
i,n,t:integer;
begin
ClrScr;
Write('Введите строку: '); Readln(s);
ClrScr;
n:=Length(s);
s1:=Copy(s,1,n);
for i:=1 to n do s1[i]:=s[n-i+1];
Writeln(s,' ',Length(s));
Writeln(s1,' ',Length(s1));
ReadKey
end.
Приложения:

Автор ответа:
0
Вот такой он странный, этот Турбо Паскаль 7.0. Попробуйте выбросить строку s1:=s; - посмеемся вместе над результатом.
Автор ответа:
0
Но вообще-то корректнее делать с Copy. Сейчас поправлю
Автор ответа:
0
Отвык уже от этих ужасов)) Строки в ТурбоПаскаль нельзя непосредственно присваивать друг-другу, потому что они - массивы символов. Присваивание вида s1:=s приводит к копированию ссылки, после чего s и s1 указывают на одно и то же место в памяти - строку s. Поэтому надо использовать Copy.
Похожие вопросы
Предмет: Математика,
автор: gezgoldnicole
Предмет: МХК,
автор: anastasia875876
Предмет: Математика,
автор: zohrabovazejnab97
Предмет: Математика,
автор: kennycatlol
Предмет: Обществознание,
автор: maximefimchenk