Помощь - Поиск - Пользователи - Календарь
Полная версия: Еще задача на строковые данные
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
pan
Задан массив из 8 строк. В каждой строке "фамилия_имя_отчество_год рождения". Построить по нему новый массив, в котором имя и отчество будет заменено на инициалы.

Моё решение:

program z1;
uses crt;
var
m: array[1..8] of string; i,p: integer; s,v,v1,vv,vvv: string;
begin
clrscr;
write ('введите свои данные: ');
readln (s);
for i:=1 to 8 do
begin
p:=pos('_',s[i]);
v:=copy(s[i],1,p+1);
v1:=copy(s[i],p+2,(length(s[i])-(p-1)));
p:=pos('_',v1);
vv:=copy(v1,p,p+1);
v1:=copy(v1,p+2,(length(v1)-(p-1)));
p:=pos('_',v1);
vvv:=copy(v1,p,5);
m[i]:=v+vv+vvv;
end;
writeln (m[i]);
readln;
end.

ответ неправильно выдает!
ПОЖ-ТА!!! проверьте правильность решения задачи.
Client
uses crt;
var
s:string;
i,k:byte;
begin
clrscr;
write ('введите данные: ');
readln (s);
i:=pos(' ',s)+2;
for k:=1 to 2 do begin
while s[i]<>' ' do delete(s,i,1);
inc(i,2);
end;
writeln(s);
readkey
end.
Это для одной строки, а для массива строк попробуй сам
pan
Цитата(Client @ 21.05.2008 20:02) *

uses crt;
var
s:string;
i,k:byte;
begin
clrscr;
write ('введите данные: ');
readln (s);
i:=pos(' ',s)+2;
for k:=1 to 2 do begin
while s[i]<>' ' do delete(s,i,1);
inc(i,2);
end;
writeln(s);
readkey
end.
Это для одной строки, а для массива строк попробуй сам

ок спасибо!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.