Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 4 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
pascal, operacie zo stringom

Registrovaný: 20.03.08
Prihlásený: 08.03.17
Príspevky: 596
Témy: 149
Bydlisko: Houston, Texas
Príspevok NapísalOffline : 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


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.04.10
Prihlásený: 18.02.14
Príspevky: 47
Témy: 2
Príspevok NapísalOffline : 09.04.2010 6:01

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.


Offline

Užívateľ
Užívateľ
pascal, operacie zo stringom

Registrovaný: 20.03.08
Prihlásený: 08.03.17
Príspevky: 596
Témy: 149
Bydlisko: Houston, Texas
Príspevok Napísal autor témyOffline : 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?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.04.10
Prihlásený: 18.02.14
Príspevky: 47
Témy: 2
Príspevok NapísalOffline : 09.04.2010 13:14

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.


Odpovedať na tému [ Príspevkov: 4 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Porovnavacie v podmienke so stringom

v Assembler, C, C++, Pascal, Java

2

384

09.05.2011 12:17

M4rek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [C] bitove operacie

v Assembler, C, C++, Pascal, Java

7

924

13.04.2011 20:27

vama Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Operacie slepého čreva

v Zdravie, medicína, choroby a liečenie

17

2436

01.12.2012 20:38

44mato44 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. program v pascale mnozinove operacie

v Assembler, C, C++, Pascal, Java

4

767

18.02.2007 9:00

arzzen Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Windows 7 - PC mrzne, diskové operácie sú pomalé

v Operačné systémy Microsoft

21

1197

13.01.2015 16:02

Megi Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Free Pascal a Turbo Pascal

v Assembler, C, C++, Pascal, Java

0

384

19.12.2014 13:18

Styracoz Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pascal

v Assembler, C, C++, Pascal, Java

19

3059

30.04.2007 19:54

nikita Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pascal

v Assembler, C, C++, Pascal, Java

4

2063

01.03.2018 8:02

MTK Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pascal...

v Assembler, C, C++, Pascal, Java

5

906

18.10.2008 19:02

redog Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pascal

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Assembler, C, C++, Pascal, Java

40

1472

11.12.2016 22:08

viki Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pascal

v Assembler, C, C++, Pascal, Java

7

632

09.10.2011 21:30

F3RY Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pascal

v Assembler, C, C++, Pascal, Java

11

1288

07.04.2007 16:50

programator Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pascal

v Assembler, C, C++, Pascal, Java

6

730

08.01.2009 17:45

majka090 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pascal

v Assembler, C, C++, Pascal, Java

7

832

14.05.2011 20:04

F3RY Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pascal

v Assembler, C, C++, Pascal, Java

0

703

03.05.2009 12:35

ebb Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pascal

v Assembler, C, C++, Pascal, Java

2

571

24.06.2010 20:17

KatjushaMan Zobrazenie posledných príspevkov


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

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra