[pascal] program anagramy -problem

0

Witam , nie mam pomyslu jak napisac program{anagramy] ktory poprzestawia wyrazy podane w pliku wejsciowym o zawartosci:

baran raban
warkot Wrotka
Kora ORKA
Zapas Zaspy
Kos Sok

plik wyjsciowY1:

BARAN RABAN
WARKOT WROTKA
KORA ORKA
KOS SOK

PLIK wyjsciowy2:
ZAPASZASPY

(miedzy wyrazami musi byc spacja);

z gory dziekuje za wszelka pomoc , taki program mam napisac na zaliczenie, a lekko mowiac nie jestem obczajony w temacie jezyka pascal.

pozdrawiam

0

Sezon zaliczeń w pełni i kolejny leń. Czego niewiesz? Taki program to banalny, chyba że źle coś tłumaczysz,
bo to co robisz nie ma nic wspólnego z anagramami. Poza tym dane wyjściowe napisałeś takie same jak te z
wejścia, jedynie tylko powiększyłeś litery. Jak ma przestawić słowa, że najpier jest to które było po spacji, a
po nim te które było przed spacją to zrobi to poniższy kod i naucz się trochę samodzielności, bo nie każde z
zadań w szkole czy na uczelni ktoś zrobi za Ciebie. Cały semest się pewnie obijałeś i nagle zonk - zaliczenie.

program a;

const
  In_Nazwa = 'wejscie.txt';
  Out_Nazwa = 'wyjscie.txt';

function FileExists(FileName : string) : boolean;
var
  F : file;
begin
{$I-}
  Assign(F, FileName);
  Reset(F);
{$I+}
  if IOResult = 0 then
  begin
    FileExists := True;
    Close(F);
  end
  else
  begin
    FileExists := FALSE;
  end;
end;

var
  PozycjaSpacji : Word;
  PlikIn, PlikOut : Text;
  Linia, Slowo1, Slowo2 : string;
begin
  if FileExists(In_Nazwa) = False then
  begin
    Writeln('Plik: ' + In_Nazwa + ' nie istnieje!');
    Readln;
  end
  else
  begin
    Assign(PlikIn, In_Nazwa);
    Reset(PlikIn);
    Assign(PlikOut, Out_Nazwa);
    Rewrite(PlikOut);
    while EOF(PlikIn) = False do
    begin
      Readln(PlikIn, Linia);
      PozycjaSpacji := Pos(#32, Linia);
      if (PozycjaSpacji = 0) or (PozycjaSpacji = 1) then
      begin
        Writeln('Nieprawidlowe dane w pliku: ', In_Nazwa);
        Readln;
        Exit;
      end;
      Slowo1 := Copy(Linia, 1, PozycjaSpacji - 1);
      Slowo2 := Copy(Linia, PozycjaSpacji + 1, MaxInt);
      Writeln(PlikOut, Slowo2 + #32 + Slowo1);
    end;
    Close(PlikIn);
    Close(PlikOut);
  end;
end.

1 użytkowników online, w tym zalogowanych: 0, gości: 1