Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Входной информацией является строка - последовательность слов, разделенных пробелами (http://www.tehnari.ru/f41/t87829/)

Darik102rus 26.04.2013 15:08

Входной информацией является строка - последовательность слов, разделенных пробелами
 
Входной информацией является строка - последовательность слов,разделенных пробелами.
Вывести слова,которые встречаются в строке менее трех раз.
Помогите решить)

Darik102rus 26.04.2013 15:08

Pascal ABC.NET

Vladimir_S 26.04.2013 20:40

Цитата:

Сообщение от Darik102rus (Сообщение 901138)
Входной информацией является строка - последовательность слов,разделенных пробелами.
Вывести слова,которые встречаются в строке менее трех раз.
Помогите решить)

Уж не знаю, как это прожуёт Ваш Pascal ABC.NET (у меня-то нормальный Free Pascal), но вот:
Код:

var
 S:string;
 i,j,N,m: integer;
 W:Array[1..255] of String;
 Q:Set of byte;
begin
 writeln('Enter the string: ');
 readln(S);
 N:=1;
 i:=1;
 Repeat
  While (S[i]=' ') and (i<Length(S)) do Inc(i);
  W[N]:='';
  While (S[i]<>' ') and (i<=Length(S)) do
  begin
    W[N]:=W[N]+S[i];
    Inc(i);
  end;
  If i<Length(S) then Inc(N);
 Until i>=Length(S);
 Q:=[];
 For i:=1 to N do
  begin
  If Not(i in Q) then
    begin
    Q:=Q+[i];
    m:=0;
    for j:=i to N do
      if W[i]=W[j] then
      begin
        Q:=Q+[j];
        Inc(m);
      end;
    If m<3 then write(W[i]+' ');
    end;
  end;
 Readln
End.


Darik102rus 26.04.2013 21:25

Цитата:

Сообщение от Vladimir_S (Сообщение 901245)
Уж не знаю, как это прожуёт Ваш Pascal ABC.NET (у меня-то нормальный Free Pascal), но вот:
Код:

var
 S:string;
 i,j,N,m: integer;
 W:Array[1..255] of String;
 Q:Set of byte;
begin
 writeln('Enter the string: ');
 readln(S);
 N:=1;
 i:=1;
 Repeat
  While (S[i]=' ') and (i<Length(S)) do Inc(i);
  W[N]:='';
  While (S[i]<>' ') and (i<=Length(S)) do
  begin
    W[N]:=W[N]+S[i];
    Inc(i);
  end;
  If i<Length(S) then Inc(N);
 Until i>=Length(S);
 Q:=[];
 For i:=1 to N do
  begin
  If Not(i in Q) then
    begin
    Q:=Q+[i];
    m:=0;
    for j:=i to N do
      if W[i]=W[j] then
      begin
        Q:=Q+[j];
        Inc(m);
      end;
    If m<3 then write(W[i]+' ');
    end;
  end;
 Readln
End.


Спасибо большое)


Часовой пояс GMT +4, время: 02:38.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.