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

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

Форум «Всё о Паскале» _ Задачи _ Задача на строки. Помогите найти ошибку

Автор: PORTUGAL 7.02.2006 0:57

Здравствуйте. Задача такая: найти самое короткое слово в строке и вывести его!
Не могу понять в чем ошибка!? Вместо слова выводит только одну букву!

Код

uses crt;
var s:string;
    l,k,i,j:integer;
    masword:array[1..100] of string;
    min:string;
begin clrscr;
   write('Vvedite stroku: ');
   readln(s);
   l:=length(s);
   j:=0;
   s:=s+' ';
   l:=length(s);
   k:=0;
   for i:=1 to l do
     if  s[i]=' ' then begin k:=k+1;
     masword[k]:=copy(s,j+1,i-j-1);
     j:=i;
     end;
   min:=s[1];
   for i:=2 to k do
      if length(min)>length(masword[i]) then min:=masword[i];
   writeln('‘ ¬®Ґ Є®а®вЄ®Ґ б«®ў® - ',min,' ¤«Ё­®© - ',length(min));
readln
end.

Автор: klem4 7.02.2006 1:03

Зачем изобретать велосипед ? Все уже разобрано миллион раз ! http://forum.pascal.net.ru/index.php?showtopic=6972&pid=50609&st=0&#entry50609

Автор: Altair 7.02.2006 1:04

Клем, зачем, когда эта задача уже решенна ?

http://forum.pascal.net.ru/index.php?s=&showtopic=6662&view=findpost&p=48993