Составить процедуру вставки или удаления символов в строке не более M символов с N-го места (на N-ое место) данной строки
Категория: Delphi/Pascal
2012-01-15 21:57:50
После каждой вставки или удаления выводить обновленную строку. Режим ввода или удаления задается в диалоге клавишами I или D, а вводимый символ определяется нажатием соответствующей клавиши.
code: #pascal
Program PascalGuru; uses crt; label 1; var M:integer; s:string; {-------------------------------------------------------------------} Procedure InsertDelete; label 1; var n:integer; option:char; c:char; begin 1:clrscr; writeln('Redaktiruem stroky "',s,'" ; M=',M); writeln;writeln; writeln('[I]) Vstaviti simvol'); writeln('[D]) Udaliti simvol'); writeln; writeln('[E]) exit'); option:=Readkey; if (Ord(option)=101) or (Ord(option)=69) then exit; if (Ord(option)=105) or (Ord(option)=73) then begin clrscr; if length(s)>=M then begin writeln('Vstavka zaprescena (>M)'); readln; goto 1; end; write('Vstavka v N-oe mesto. N= '); readln(n); write('Simvol= '); readln(c); insert(c,s,n); goto 1; end; if (Ord(option)=100) or (Ord(option)=68) then begin clrscr; if length(s)<=1 then begin writeln('Udalenie zapresceno (slovo imeet 1 simvol)'); readln; goto 1; end; write('Udalenie s N-ogo mesta. N= '); readln(n); delete(s,n,1); goto 1; end; goto 1; end; {-------------------------------------------------------------------} begin write('M= '); readln(M); 1:clrscr; write('Vvedite stroky (ne bolee ',M,' sivolov): '); readln(s); if length(s)>M then begin writeln('Vvedennaya stroka soderjit bolee ',M,' sivolov!'); readln; goto 1; end; InsertDelete; end.
Поделиться: