Написать программу удаления половины символов, зная, что количество символов в строке - чётное. (паскаль)

katakaty23431 katakaty23431    3   30.08.2019 20:40    1

Ответы
SoniaSonce SoniaSonce  20.08.2020 18:54
Для удаления правой половины символов:

Var
   S:string;
Begin
Write('Введите строку: ');ReadLn(S);
S:=Copy(S,1,Length(S) div 2);
WriteLn(S);
End.

Пример работы программы:

Введите строку: 1234
12

Для удаления левой половины символов:

Var
   S:string;
Begin
Write('Введите строку: ');ReadLn(S);
S:=Copy(S,Length(S) div 2+1, Length(S));
WriteLn(S);
End.

Пример работы программы:

Введите строку: 1234
34

Удаление выбранной половины символов:

Var
   S:string;
   A:byte;
Begin
Write('Введите строку: ');ReadLn(S);
WriteLn('1 - удаление правой половины, 2 - удаление левой половины');
ReadLn(A);
if A = 1 then S:=Copy(S,Length(S) div 2+1, Length(S))
else S:=Copy(S,1,Length(S) div 2);
WriteLn(S);
End.

Пример работы программы:

Введите строку: 1234567890
1 - удаление правой половины, 2 - удаление левой половины
2
12345
ПОКАЗАТЬ ОТВЕТЫ
babka5 babka5  20.08.2020 18:54
1. Современный вариант
// PascalABC.NET 3.2, сборка 1429 от 28.04.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadlnString;
  s:=s.Left(s.Length div 2);
  s.Println
end.

Пример
Половину удалим!
Половину

2. Школьный вариант
var
  s:string;
  n:integer;
begin
  Readln(s);
  n:=Length(s) div 2;
  Delete(s,n+1,n);
  Writeln(s);
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика