program v pascale

Programovacie jazyky, rady, poradňa...
ichliebdich
Light Expert
Light Expert
Príspevky: 61
Registrovaný: 26 jan 2006, 21:52

program v pascale

Príspevok od používateľa ichliebdich »

caute ludia prosim vas potrebujem spravit v pascale program co znie takto:

Zostavte program, ktorý zistí počet slov vo vete a zoradí slová podľa počtu znakov vzostupne.

Prosim kto sa toho ujme a pomoze mi? Staci mi iba kod a popis k tomu ze co to robi. Dakujem velmi pekne za ochotu dufam ze sa niekto najde
Brian
Expert
Expert
Používateľov profilový obrázok
Príspevky: 188
Registrovaný: 04 mar 2005, 16:09
Bydlisko: New York

Príspevok od používateľa Brian »

Hmm... to by nemusel byt problem... som v programovani sice iba zaciatocnik ale akurat preberame retazce a mam spravený program ktorý rozseká vetu na slová. Problem je v tom že aby to fungovalo musis vediet kolko slov ma daná veta. Je to lamactvo ale zatial to vyzera takto:

Kód: Vybrať všetko

program veta_slova;
uses crt;
var slovo1,slovo2,slovo3,veta,medzera:string;
    pozicia,i,j,k,dlzka:integer;
begin
clrscr;
medzera:=' ';
dlzka:=0;
readln(veta);

for i:=1 to length(veta) do
 if veta[i]=' ' then inc(dlzka);

 begin
  pozicia:=pos(medzera,veta);

  for k:=1 to pozicia-1 do
   slovo1:=slovo1+veta[k];
  writeln(slovo1);

  delete(veta,1,pozicia);

  pozicia:=pos(medzera,veta);

  for k:=1 to pozicia-1 do
   slovo2:=slovo2+veta[k];
  writeln(slovo2);

  delete(veta,1,pozicia);

  slovo3:=veta;
  writeln(slovo3);
  readln;
 end;
end.
Keby že vies kolko slov bude mat veta ktorej slová chces zoradit tak nie je problem upravit program tak aby to spravil... Toto co som sem postol iba rozseka vetu co ma 3 slova a slova vypise pod seba (nijako ich nezoraduje).
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Príspevok od používateľa juho »

a si predstav ze to zada tak ze najprv da tri medzere. co potom?
uplne sa to neda tak dobre spravit.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

už som to kedysi dávno niekomu písal. Možno to je ešte na fore. Robil som to tak, že som prechádzal vetou a hladal častí kde je medzera nasledovaná písmenom (lebo môže byť viac medzier zasebou, či už na začiatku, v strede alebo na konci). To je začiatok slova, tak až po ďalšiu medzeru som si ho zapamätal. Pokračoval som ďalej od tej medzery a zase som hladal postupnosť mezdery a znaku. Ak sa už takáto postupnosť nenašla, mal som separované všetky slová. Bolo to cez dynamické pole, tak ich počet je high(slova) a ich zoradenie je jednoduché, iba zoradíš podľa length(slova)
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Príspevok od používateľa juho »

a najprv si nazaciatok doplnil medzeru alebo si to osetril? ja som to robil tym druhym sposobom ale v C.
Napísať odpoveď