Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pretvaranje niza u varijablu

[es] :: Pascal / Delphi / Kylix :: Pretvaranje niza u varijablu

[ Pregleda: 1187 | Odgovora: 7 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

peromalosutra
Ivan Rajkovic
PHP/MySQL programmer, Ogosense
Banjaluka

Član broj: 54774
Poruke: 431
*.dialup.blic.net.

Jabber: peromalosutra@elitesecurity.org
Sajt: computer-stuff.freehostia..


Profil

icon Pretvaranje niza u varijablu13.04.2005. u 20:13

Pozdrav!
Dugo vas vec nisam nista pitao, pa evo da to malo izmjenim. Dakle, problem je jednostavan: na koji nacin mogu da pretvorim neki niz u jedan od osnovnih tipova varijabli (integer, longint, string)?
Da li postoji posebna naredba kojom se to radi ili se za svaki od ovih tipova mora koristiti posebna procedura. Ja sam napravio jedno koja bi to omogucavala u tipovima koji rade sa brojevima, dakle integer, longint i real (originalno sam ga napisao za integer, ali lako ga je prepraviti):

Code:

program paskal;
uses wincrt;
var i,broj:integer;
niz:array [1..5] of integer;
Begin

Randomize;
for i:=1 to 5 do
begin

repeat                    
niz [i]:=Random (10);
until (niz[1]<4) and (niz[2]<6);   {ovaj dio odredjuje clanove niza}
Writeln ('Niz[',i,']=',niz[i]);    {i nepotreban je ako je niz zadan}
End;

For i:=1 to 5 do
broj:=broj*10+niz[i];

writeln;
writeln ('broj=',broj);
end.


Medjutim sta ako zelim pretvoriti niz u string (koji je sam po sebi niz char-a)?
Hvala!


ivan@ivan-desktop:~$ ./encrypt.run
*** stack smashing detected ***: ./encrypt.run terminated
Aborted (core dumped)
13.04.2005. u 20:13 

peromalosutra
Ivan Rajkovic
PHP/MySQL programmer, Ogosense
Banjaluka

Član broj: 54774
Poruke: 431
*.dialup.blic.net.

Jabber: peromalosutra@elitesecurity.org
Sajt: computer-stuff.freehostia..


Profil

icon Re: Pretvaranje niza u varijablu13.04.2005. u 20:17
i jedna mala ispravka:
Code:

until (niz[1]<4) and (niz[2]<3);

ivan@ivan-desktop:~$ ./encrypt.run
*** stack smashing detected ***: ./encrypt.run terminated
Aborted (core dumped)
13.04.2005. u 20:17 

Toyo

Član broj: 45193
Poruke: 227
*.kovnet.co.yu.



Profil

icon Re: Pretvaranje niza u varijablu13.04.2005. u 20:26
Pa nece ni tako ispravno da ti radi na Integeru. Sta ako je niz[3]=8?
13.04.2005. u 20:26 

peromalosutra
Ivan Rajkovic
PHP/MySQL programmer, Ogosense
Banjaluka

Član broj: 54774
Poruke: 431
*.dialup.blic.net.

Jabber: peromalosutra@elitesecurity.org
Sajt: computer-stuff.freehostia..


Profil

icon Re: Pretvaranje niza u varijablu13.04.2005. u 20:38
Znam, moram da definisem maximalnu vrijednost za svih 5 cifara, ali sam zaboravi do koliko je tacno ono integer ogranicen. Negdje oko 32 hiljade i nesto, ali to nesto uvijek zaboravim!
ivan@ivan-desktop:~$ ./encrypt.run
*** stack smashing detected ***: ./encrypt.run terminated
Aborted (core dumped)
13.04.2005. u 20:38 

--SOULMaTe--
Nemanja Skoric
Novi Sad

Član broj: 1464
Poruke: 173
*.nat-pool.nsad.sbb.co.yu.



Profil

icon Re: Pretvaranje niza u varijablu13.04.2005. u 23:09
Pa to ti je makar lako izracunati. Integer u pascalu je 16 bitni. Pa mu signed varijanta dodje od -2^15 do 2^15-1
Don’t do drugs, sleep deprivation is better.
13.04.2005. u 23:09 

peromalosutra
Ivan Rajkovic
PHP/MySQL programmer, Ogosense
Banjaluka

Član broj: 54774
Poruke: 431
*.dialup.blic.net.

Jabber: peromalosutra@elitesecurity.org
Sajt: computer-stuff.freehostia..


Profil

icon Re: Pretvaranje niza u varijablu14.04.2005. u 12:42
Dobro, svi ste u pravu, ali ima li neko resenje mog problema? Da li je moguce neki niz pretvoriti u varijablu samo uz pomoc jedne naredbe? Kopao sam po helpu, ali nisam mogao nista slicno da nadjem. Zanima me kako niz char-a pretvoriti u string, da li pomocu naredbe copy, ili kako? (znam da ima naredba pomocu koju se moze u string dodavati novi znak (znaci) i koja bi rjesila moj problem, ali ne znam koja je to naredba).

:(
ivan@ivan-desktop:~$ ./encrypt.run
*** stack smashing detected ***: ./encrypt.run terminated
Aborted (core dumped)
14.04.2005. u 12:42 

IgLo
Igor Lovric
Sremski Karlovci

Član broj: 19524
Poruke: 128
*.neobee.net.

Sajt: lovric.narod.ru


Profil

icon Re: Pretvaranje niza u varijablu14.04.2005. u 14:52
Da, postoji procedura koja radi ovo:

Code:
Move(var Source, Dest; Count: Word);


Ona kopira sadrzaj bilo koje promenljive bilo kog tipa u drugu promenljivu koja ne mora da bude istog tipa kao i prva, i kopra Count bajtova. Da bi koristio ovu funkciju, moras dobro znati kako ti je definisan koji tip, u suprotnom ovo nema nikakvog smisla. Konkretno za primer koji si ti naveo, moze da se uradi ali pod uslovom da kao prvi elemenat niza stavis karakter ciji je ASCII kod jednak duzini stringa. Evo ti jedan pimer:


Code:

Var
    Niz : Array [0..255] Of Char;

    x : Integer;
    DuzinaNiza : Integer;
    
    S : String;
    
Begin
    FillChar (Niz, SizeOf (Niz), 0); { brisemo sadrzaj niza  (#0 u sve elemente) }
    
    Randomize;
    DuzinaNiza := Random (255);     
    For X := 1 To DuzinaNiza Do
        Niz [x] := Chr (Random (27) + 65); {Ubacujemo u niz DuzinaNiza random karaktera izmedju 'A' i 'Z' }
    Niz [0] := Chr (DuzinaNiza); { Postavljamo duzinu stringa }
    
    Move (Niz, S, DuzinaNiza); { I na kraju kopiramo }
    
    WriteLn (S);
End.


Nadam se da nema gresaka, pisem iz glave.
14.04.2005. u 14:52 

peromalosutra
Ivan Rajkovic
PHP/MySQL programmer, Ogosense
Banjaluka

Član broj: 54774
Poruke: 431
*.dialup.blic.net.

Jabber: peromalosutra@elitesecurity.org
Sajt: computer-stuff.freehostia..


Profil

icon Re: Pretvaranje niza u varijablu14.04.2005. u 21:34
Hvala ti, ja mislim da sam to shvatio, imam jos nekih par nedoumica, ali to cu pokusati da shvatim sam (nije fazon da vas sve pitam, ne bi bilo zabavno!)
:)
ivan@ivan-desktop:~$ ./encrypt.run
*** stack smashing detected ***: ./encrypt.run terminated
Aborted (core dumped)
14.04.2005. u 21:34 

[es] :: Pascal / Delphi / Kylix :: Pretvaranje niza u varijablu

[ Pregleda: 1187 | Odgovora: 7 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.