Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ задачка на последовательности

Автор: spektr 1.06.2007 17:05

Вот так звучит задача:В данном тексте,заданном более чем одной строкой,все последовательности "подин" заменить на "подын".

А вот решение:
var
S:string;
A:byte;
Writeln;
Readln(S);
While Pos ("Подин",S)<>0 do
begin
A:=Pos("Подин",S);
Delete (S,A,5);
Insert ("Подын",S,A);
End;
Writeln(S);
end.

Ну чего-то программа у меня не идёт,выдаёт ошибку,проверьте пожалуйста!!! Заранее огромное спассибо!

Автор: volvo 1.06.2007 17:09

Кавычки (двойные) замени на апострофы (одинарные)...

И еще:

var
S:string;
A:byte;
begin { <--- Это забыла }
Writeln;
Readln(S);
While Pos ('Подин',S)<>0 do
begin
A:=Pos('Подин',S);
Delete (S,A,5);
Insert ('Подын',S,A);
End;
Writeln(S);
end.

Автор: Ozzя 1.06.2007 17:10

begin не забыла?

Автор: spektr 1.06.2007 17:45

В условии задачи сказано,что для текста,заданном более одной строкой... Какое условие ещё добавить надо?Не пойму...

Автор: Ozzя 1.06.2007 17:53

Более чем одна строка?
Массив?
Файл?

Автор: spektr 1.06.2007 17:56

blink.gif Наверное файл...

Автор: Ozzя 1.06.2007 18:01

Код

var
S:string;
A:byte;
f:text;
begin
  Writeln;
  assign(f,'твой_текст.txt');
  reset(f);
while not eof(f) do
begin
  Readln(f,S);
  While Pos ('Подин',S)<>0 do
     begin
        A:=Pos('Подин',S);
        Delete (S,A,5);
        Insert ('Подын',S,A);
        End;
     Writeln(S);
end;
close(f);  
end.