четверг, 7 марта 2013 г.

Дана строка. Найти слово минимальной длины.

Дана строка. Найти слово минимальной длины.

uses crt;
var s: string;
i,dmin,nmin,d,ns: integer;
slovo:array[1..10] of string;
begin
readln(s);
s:=s+' ';
dmin:=length(s);
ns:=0;

for i:=1 to length(s) do
if s[i]<>' ' then inc(d) else
if d<>0 then
begin
inc(ns);
if d<=dmin then
begin
dmin:=d; nmin:=ns;
slovo[1]:=copy(s,nmin,dmin);
end;


d:=0;
end;
writeln('Слово минимальной длины: ',slovo[1],', его длина ',dmin,' символа. Оно стоит на ',nmin,' позиции.');

end.

Лаба 13.1 COPY [PASCAL]

Написать свою процедуру COPY

uses CRT;

var
S, S1: String;

procedure My_Copy(S: String; Index: Integer; Count: Integer);

var
Temp_S: String;
I: Byte;

begin
Temp_S := '';

If Count > Length(S)-2 then Count := Length(S)-2; //длина

If Index < Length(S) then
For I := 1 to Count do
Temp_S := Temp_S + S[Index+I];

write(Temp_S);
end;

begin

readln(S);

My_Copy(S, 2, 3);

end.

среда, 6 марта 2013 г.

Количество слов в тексте

Данная программа определяет колличество слов в тексте.

uses crt;
var
s1:string;
i,j,k:integer;
begin

writeln('Введите текст до точки');
read(s1);
j:=pos('.',s1);
if s1[j-1]=' ' then begin
k:=-1;
s1:=copy(s1,1,j-1);
end;

repeat
i:=pos(' ',s1);
delete(s1,1,i);
if i<>1 then inc(k);
until i=0;
writeln('Количество слов=', k);

end.