sbitnev

strings

Nov 30th, 2015
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.40 KB | None | 0 0
  1. Program example1;
  2.  
  3. Procedure first(n1:integer; var T1:array[1..10] of string);
  4. var
  5. i,n2,j,j1:integer;
  6. T2 :array[1..10] of string;
  7. begin
  8.  
  9. n2:=0; {число подстрок}
  10. for i:=1 to n1 do
  11.  begin
  12.   j:=1; {номер символа}
  13.   j1:=1; {начало подстроки}
  14.   while j<=length(T1[i]) do
  15.     if (T1[i][j] >='[') and (T1[i][j]<=']' ) then
  16.      begin
  17.       if j<>1 then
  18.         begin
  19.         n2:=n2+1;
  20.         T2[n2]:=copy(T1[i],j1,j-j1);
  21.         end;
  22. while (j<=length(T1[i]))and (T1[i][j] >='[')and (T1[i][j]<=']' ) do
  23.        j:=j+1;
  24.        j1:=j;
  25.       end
  26.     else
  27.       j:=j+1;
  28.   if j<>j1 then
  29.     begin
  30.     n2:=n2+1;
  31.     T2[n2]:=copy(T1[i],j1,j-j1);
  32.     end;
  33.  end;
  34. if n2=0 then
  35.   writeln('Нет подстрок')
  36. else
  37.   begin
  38.     writeln('Подстроки');
  39.     for i:=1 to n2 do writeln(T2[i]);
  40.   end;
  41. end;
  42.  
  43. Function second(n2:integer; var T2:array[1..10] of string): string;
  44. var
  45. i,min:integer;
  46. hg:string;
  47. begin
  48.  for i:=1 to n2 do
  49.   begin
  50.   if length(T2[i])<min then
  51.     begin
  52.          min:=length(T2[i]);
  53.          hg:=T2[i];
  54.     end;
  55.   end;
  56.   writeln('the shortest line',hg);
  57. end;
  58.  
  59. {Main programm}
  60. var
  61. n2,n1,i:integer;
  62. T1,T2:array[1..10] of string;
  63. begin
  64.   writeln('Введите число строк n1');
  65. readln(n1);
  66. writeln('Введите строки');
  67. for i:=1 to n1 do
  68.   readln(T1[i]);
  69.   first(n1,T1);
  70.   second(n2,T2);
  71. end.
Advertisement
Add Comment
Please, Sign In to add comment