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
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