Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 11. 05. 2010 20:42

kedrik
Příspěvky: 25
Reputace:   
 

Delphi serazeni od nejvetsiho po nejmensi

dobry vecer mam takovy problem ...

mam libovolne zadanou vetu se slovy oddelenou jednou nebo vide mezerana mam rozdelit vetu na slova a seradit je podle nejdelsiho(nejvetsi pocet znaku) po nejmensi .... slova se stejnou velikosti mam seradit podle abecedy ..
mam takovy napad ze bych to dal do pole a pak s tim dal pracoval ale nevim jak mam v tom polu urcit aby se mi do radilu podle velikosti  dokonce jsem si udelal 2. pole do ktereho si zadavam velikost jednotlivých pismen .. kamarad mi rekl at to udelam pomoci nejakeho setridovani (bublinkoveho) ale ja jsem z toho ulny lejen ... uvitam radu


program P44444;

{$APPTYPE CONSOLE}

uses
  SysUtils;
  var
  a:array[1..20,1..200] of string;
  c:array[1..200]of integer;
  f:textfile;
  pocitadlo,p,o,i,j,y:integer;
  zn:char;
begin
  write('Text zadany : ');
  assign(f,'text.txt');
  reset(f);
  while not eof(f) do
  begin
    read(f,zn);
    write(zn);
  end;
  reset(f);
  p:=0;o:=1;y:=0;pocitadlo:=0;
  writeln;writeln;
  writeln('Text upravevy: ');
  writeln;
  while not eof(f) do
    begin
      read(f,zn);
        if (zn<>' ') and (zn<>'.') then
          begin
            y:=0;
            p:=p+1;
            a[o,p]:=zn;
          end else
                begin
                  if y<1 then
                    begin
                      c[o]:=p;
                      p:=0;
                      y:=y+1;
                      o:=o+1;
                      pocitadlo:=pocitadlo+1;
                    end;
                end;
    end;

  for i:=1 to pocitadlo do
    begin
      for j:=1 to 50 do
       begin
        write(a[i,j]);
       end;
       writeln;
    end;



predem nekuji za odpoved

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson