СРОЧНО!написать в паскаль авс программу, в которой с клавиатуры вводится предложение,...

0 голосов
37 просмотров

СРОЧНО!написать в паскаль авс программу, в которой с клавиатуры вводится предложение, состоящее из разделённых одним пробелом слов,каждое слово разделяется 1 пробелом, вывести самое короткое слово из него и написать сколько

в нем букв. программу написать с помощью команд copy, str,val.


Информатика (15 баллов) | 37 просмотров
0

Слово с двух сторон отделено пробелом всегда ?

0

кроме первого и последнего видимо

0

Нужно, чтобы он определил самое маленькое слово и написал сколько в нем букв

0

Человек шел по улице

0

Дай пример любой

0

Нам на уроке даже так не разжевывали условие задачи! Сказали:"слова отдлены одним пробелом", всё

0

Я дал формулировку автору вопроса, чтобы было однозначное понимание, но "ёж - птица гордая", снова по-своему перевернули.

0

ок

0

Первое и последнее только 1 пробелом

0

Ну это важно

Дано ответов: 2
0 голосов
Правильный ответ

Var
  s:string;
  i,j,k,p,min,n:integer;
begin
  Write('Введите предложение: '); Readln(s);
  s:=s+' ';
  n:=Length(s);
  min:=n;
  j:=0;
  for i:=1 to n do
    if s[i]=' ' then begin
      k:=i-j-1;
      if min>k then begin min:=k; p:=j+1 end;
      j:=i;
    end;
Writeln(min,' ',copy(s,p,min))
end.
 

(142k баллов)
0

System.Text.RegularExpressions;

0

а какая это библиотека ? название ?

0

Через uses (как #include) библиотека подключается - и все дела

0

Я на Free и Turbo пишу такое не знаю )

0

Это не в самом ABC, он использует .Net

0

Я тоже))) Но знать нужно.

0

я на ADC не пишу )

0

В версии АВС есть объектная библиотека для строк. Там и парсер, и регулярные выражения.

0

Все даперло )

0

Все, остальное в ЛС

0 голосов

Var 
 s,q:string; 
i,n,j,m,k,l:longint;
begin 
Readln(s);
 m:=maxlongint; 
 s:=' '+s+' ';
  for i:=1 to length(s) do  if s[i]<>' ' then 
  begin   if s[i-1]=' ' then l:=i;  
    if s[i+1]=' ' then   begin
    if m>length(copy(s,l,i-l+1)) then   
     begin     
      q:=copy(s,l,i-l+1);     
      m:=length(q); 
    end;   
  end; 
 end; 
Writeln(q);{Слово}
 writeln(m);{Кол. букв} 
end.



(514 баллов)
0

Если не так работает напиши

0

Хорошо

0

СПАСИБО БОЛЬШОЕ!!!!!!!