| | |
| Stránka: 1 z 1
| [ Príspevkov: 4 ] | |
Autor | Správa |
---|
Registrovaný: 20.03.08 Prihlásený: 08.03.17 Príspevky: 596 Témy: 149 Bydlisko: Houston, Texas | Napísal Unlink: 08.04.2010 17:53 | |
|
Ahojte, chcel by som vedieť či dako vydí tuto chybu
Kód: for i:=length(v) downto 1 do begin if (v[length(v)-i+1] = ' ') then write(' '); if not(v[i] = ' ') write(v[i]); end;
ma to urobiť to že pôvodnú vetu prepíše naopak, ale medzery zachová z pôvodného
príklad
abc d ef ghij kl
lkj i hg fedc ba
proste neviem kde tam môžem mať chybu
uvažujem asi takto
idem odkonca to znamena že ekvivalentné písmeno k tomu čo mam dostanem ako dlžka-aktualna pozicia +1 a ak sa tu nachádza medzera
a ked ho píšem opačne tak tou druhou podmienkou odstraňujem medzery
tak prečo to občas zblbne?
Viem že sa to da aj inak ale ja to robím takýmto spôsobom
Ďakujem
|
|
Registrovaný: 06.04.10 Prihlásený: 18.02.14 Príspevky: 47 Témy: 2 |
Ty len vymienas znaky, ale ak tam nechces davat medzeru, tak sa musis z jedneho konca posunut o poziciu viac. Takze Ti potom nesedi poradie. Co som stihol zlatat je toto. Verim ze sa to da optimalizovat, ale zaklad tu je ;-)
Kód: Program Test; uses Crt; var t: string; i,len,pos: Integer;
BEGIN ClrScr; T:='abc d ef ghij kl'; len:=length (t); pos:=len; for i:=1 to len do begin if (T[i]<>' ') and (T[pos]<>' ') then Write (T[pos]); if (T[i]<>' ') and (T[pos]=' ') then begin dec (pos); Write (T[pos]); end; if (T[i]=' ') then begin Write (' '); inc(pos); end; dec (pos); end; ReadLn;
END.
|
|
Registrovaný: 20.03.08 Prihlásený: 08.03.17 Príspevky: 596 Témy: 149 Bydlisko: Houston, Texas | Napísal autor témy Unlink: 09.04.2010 6:22 | |
|
no dobre, ale čo je na tom mojom riešení zle, ved prechadzam pôvodný string a podla toho vkladam medzery
a ked idem naopak tak pišem bez medzier?
|
|
Registrovaný: 06.04.10 Prihlásený: 18.02.14 Príspevky: 47 Témy: 2 |
Zober si napr. 14. znak (prva medzera - 3. znak v cykle od konca). Tu ked porovnas prvou podmienkou, tak vysledok ma byt zapisanie medzery na opacnu stranu (teda ako 3. znak na zaciatok). Avsak tu uz nemas kontrolu zo zaciatku, ci tam medzera bude. V tomto pripade je treti znak 'ç', takze tu medzeru musis ignorovat a nacitat k pozicii 3. prvy znak rozny od medzery co je v nasom pripade 13. znak. Toto riesi v mojom programe instrukcia 'dec(pos).
Zjednodusene. V tomto pripade musis vzdy porovnavat koniec k zaciatku a spekulovat s koncom. Ty vo svojom pripade riesis iba to spekulovanie s koncom a nikde nemas porovnavanie so zaciatkom. Tato cast Ti tam chyba.
|
|
| Stránka: 1 z 1
| [ Príspevkov: 4 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Porovnavacie v podmienke so stringom v Assembler, C, C++, Pascal, Java | 2 | 384 | 09.05.2011 12:17 M4rek | | [C] bitove operacie v Assembler, C, C++, Pascal, Java | 7 | 924 | 13.04.2011 20:27 vama | | Operacie slepého čreva v Zdravie, medicína, choroby a liečenie | 17 | 2436 | 01.12.2012 20:38 44mato44 | | program v pascale mnozinove operacie v Assembler, C, C++, Pascal, Java | 4 | 767 | 18.02.2007 9:00 arzzen | | Windows 7 - PC mrzne, diskové operácie sú pomalé v Operačné systémy Microsoft | 21 | 1197 | 13.01.2015 16:02 Megi | | Free Pascal a Turbo Pascal v Assembler, C, C++, Pascal, Java | 0 | 384 | 19.12.2014 13:18 Styracoz | | pascal v Assembler, C, C++, Pascal, Java | 19 | 3059 | 30.04.2007 19:54 nikita | | Pascal v Assembler, C, C++, Pascal, Java | 4 | 2063 | 01.03.2018 8:02 MTK | | pascal... v Assembler, C, C++, Pascal, Java | 5 | 906 | 18.10.2008 19:02 redog | | Pascal [ Choď na stránku: 1, 2 ] v Assembler, C, C++, Pascal, Java | 40 | 1472 | 11.12.2016 22:08 viki | | Pascal v Assembler, C, C++, Pascal, Java | 7 | 632 | 09.10.2011 21:30 F3RY | | pascal v Assembler, C, C++, Pascal, Java | 11 | 1288 | 07.04.2007 16:50 programator | | pascal v Assembler, C, C++, Pascal, Java | 6 | 730 | 08.01.2009 17:45 majka090 | | Pascal v Assembler, C, C++, Pascal, Java | 7 | 832 | 14.05.2011 20:04 F3RY | | pascal v Assembler, C, C++, Pascal, Java | 0 | 703 | 03.05.2009 12:35 ebb | | pascal v Assembler, C, C++, Pascal, Java | 2 | 571 | 24.06.2010 20:17 KatjushaMan |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|