[Pascal] Spojeni cisel (ne secteni)

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod KillmanCZE 2. 2. 2008 16:15

Zdravim,
jak muzu v Turbo Pascalu spojit 2 cisla? Napr. 5 a 7 = 57. Nesmim pouzit string :?
Predem vsem dekuji.
I am a signature virus. Please help me spread by copying me into your signature.
KillmanCZE
Mírně pokročilý
Uživatelský avatar

Odeslat příspěvekod Nargon 2. 2. 2008 16:24

5*10 + 7 = 57
A kdybys mel 3 cisla treba 2,7,3 a chce 273, tak je to podobny.
2*100 + 7*10 + 3 = 273
Desktop: Ryzen 7 1800X (3.95GHz, 1.35V), Asus Crosshair VI Hero, 16GB DDR4 Ram (3200MHz), 128GB SSD + 3TB HDD, Nvidia GTX 1080
Notebook: Asus UL50VT 15.6" (SU7300@1.7GHz, 4GB ram, 500GB HDD, Intel GMA 4500MHD + nVidia G210M, dlouha vydrz cca 7+ hod)
Nargon
Moderátor

Odeslat příspěvekod rb 2. 2. 2008 16:44

Nargon píše:5*10 + 7 = 57
A kdybys mel 3 cisla treba 2,7,3 a chce 273, tak je to podobny.
2*100 + 7*10 + 3 = 273


Alebo ((((2*10)+7)*10)+3)...
Human knowledge belongs to the world;-)
rb
Junior
Uživatelský avatar

Odeslat příspěvekod KillmanCZE 2. 2. 2008 17:40

Tak nakonec pro me byl vyhodnejsi Nargonuv zpusob.

Dekuji.
I am a signature virus. Please help me spread by copying me into your signature.
KillmanCZE
Mírně pokročilý
Uživatelský avatar

Odeslat příspěvekod Noclaf 3. 2. 2008 00:12

Obecne to lze i tak, ze cisla prevedes na stringy, sectes jako stringy a pak prevedes vysledny string na cislo
SI ALTERUM SIT OPTANDUM, MALIM EQUIDEM INDISERTAM PRUDENTIAM QUAM STULTITIAM LOQUACEM
Merida AM 3000D 2008 + Sigma Sport Mirage EVO X;
Noclaf
Junior
Uživatelský avatar

Odeslat příspěvekod Mývalice 3. 2. 2008 02:56

No to by asi tazatel zvládl....ale jak říká, nesmí použít string. :-)
Selhaly-li všechny pokusy, je načase si přečíst návod.
Mývalice
VIP uživatelka
Uživatelský avatar

Odeslat příspěvekod Noclaf 3. 2. 2008 11:58

Kurna, no jo, ja cetl az ty prispevky podtim. :)

V tom pripade by se to dalo obejit pomoci array [1..x] of char :D Coz je sice necestne a nesportovni, ale zadani se tim vyhovi - neni pouzit string. :)
SI ALTERUM SIT OPTANDUM, MALIM EQUIDEM INDISERTAM PRUDENTIAM QUAM STULTITIAM LOQUACEM
Merida AM 3000D 2008 + Sigma Sport Mirage EVO X;
Noclaf
Junior
Uživatelský avatar

Odeslat příspěvekod KillmanCZE 3. 2. 2008 13:08

Tak pres string bych to opravdu zvladl :)

Uz to mam hotove podle Nargona, ale pokud nemate co delat, muzete to vymyslet lip nez ja. Vim ze to jde, ale jsem teprve zacatecnik...

Takze zadani:
Deklarujte podprogram, ktery zapise dane prirozene cislo v obracenem poradi cifer.

A moje reseni (ne ze me ukamenujete :D ):
Kód: Vybrat vše
function otoceni_cisla(n:word):word;
  var r,c,i,s,nc,oc:word;
      j:longint;
  begin
   if(n div 10>0)then begin
    r:=n;
    c:=0;
    repeat
     r:=r div 10;
     c:=c+1;
     until r<1;
    i:=1;
    j:=10;
    while i<c do begin
     i:=i+1;
     j:=j*10;
     end;
    oc:=0;
    for i:=1 to c do begin
     nc:=n mod 10;
     n:=n div 10;
     j:=j div 10;
     s:=nc*j;
     oc:=oc+s;
     end;
    otoceni_cisla:=oc;
    end else
     otoceni_cisla:=n;
   end;
I am a signature virus. Please help me spread by copying me into your signature.
KillmanCZE
Mírně pokročilý
Uživatelský avatar

Odeslat příspěvekod georgeino 3. 2. 2008 13:24

(prvni_cislo*(10^pocet_cifer_druheho))+druhe_cislo
georgeino
Kolemjdoucí


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků