обработка символьной информации

  • Автор темы Intersap
  • Дата начала
I

Intersap

Гость
#1
Помогите с лабой (Паскаль).
Задание: С клавиатуры через пробел вводятся несколько английских слов. Организовать вывод на экран в колонку те слова, в которых все буквы разные:
Мой код: (выводит все введеные слова, а вот как инициализировать обращение к каждой букве кждого слова - увы :rolleyes: )

Код:
Program lab11;
uses CRT;
var InSt:string;				  
ArrSt:array[1..124] of string;
i,n :byte;
BEGIN
clrscr;
writeln('Введите слова разделяя их пробелом:');
readln(InSt);
InSt:=InSt+' ';
n:=0;
while length(InSt)>0 do begin
while (InSt[1]=' ')and(length(InSt)<>0) do delete(InSt,1,1);
if length(InSt)<>0 then begin											
inc(n);
i:=pos(' ',InSt);
ArrSt[n]:=copy(InSt,1,i-1);
delete(InSt,1,i);
end;
end;
writeln;
for i := 1 to n do writeln(ArrSt[i]);
readln;
END.
.
 
09.11.2009
665
1
23
Киев
#2
Должно работать:
Код:
uses crt;
var s,s2:string;
i,j,j2,l,r:integer;
ind:boolean;
begin
clrscr;
writeln('enter words');
readln(s);
l:=0;
r:=0;
for i:=1 to length(s) do
begin
if (s[i]=' ')or(i=length(s)) then
begin
r:=i;
s2:=copy(s,l+1,r-l);
ind:=true;
for j:=1 to length(s2) do
for j2:=1 to length(s2) do
if (s2[j]=s2[j2])and(j<>j2) then ind:=false;
if ind=true then writeln(s2);
l:=i;
end;
end;
readln;
end.