Prohození cifer čísla – Delphi – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Prohození cifer čísla – Delphi – Fórum – Programujte.comProhození cifer čísla – Delphi – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
14. 11. 2012   #1
-
0
-

Ahoj, potřeboval bych prosím pomoci s jedním příkladem, nějak si s tím nevím rady...

Zadám přir. číslo a program ho má rozdělit na dvě poloviny (případně pokud je lichý počet cifer, doplnit nulu z leva) a ty následně prohodit, např. 1234->3412... jak na to ?

Nahlásit jako SPAM
IP: 88.100.113.–
Reklama
Reklama
JoDiK
~ Anonymní uživatel
981 příspěvků
14. 11. 2012   #2
-
0
-

#1 sirvomacka
Koukám, že někde rozdali pár "domácích úkolů".

Stejná rada  jako tady:

Nahlásit jako SPAM
IP: 88.103.233.–
Honzc0
Stálý člen
15. 11. 2012   #3
-
0
-

#1 sirvomacka
1. Někam (třeba do Edit1)  napíšeš to číslo

2. proměnné typu string přiřadíš to, co je v tom Editu1.

3. Zjistíš délku stringu (na to je nějaká funkce)

3. Pokud ta délka bude liché číslo (to zjistíš podle zbytku po dělení 2 - je na to jeden operátor)

   pak před ten string přiřadíš 0 (jako string) a délku zvětšíš o 1.

4.Potom budeš v cyklu od 1 do poloviny délky (polovinu zjistíš přes operátor celočíselného dělení číslem 2)

  do jedné proměnné typu stringu načítat číslice (jako string) od té jedničky a do druhé číslice od poloviny až do

  konce ty další číslice (nezapomeň, že postupné načítání bude něco takového s1 := s1+s[i])

5.A nakonec, třeba do Edit2, vypíšeš ty dva stringy v pořadí druhý+první.

A je to.

Nahlásit jako SPAM
IP: 93.181.78.–
JoDiK
~ Anonymní uživatel
981 příspěvků
15. 11. 2012   #4
-
0
-

#3 Honzc
I když se může stát, že mu to učitel vrátí jako špatné řešení, protože to třeba chtěl jen v číselném oboru ;-)

Nahlásit jako SPAM
IP: 88.103.236.–
Honzc0
Stálý člen
15. 11. 2012   #5
-
0
-

#4 JoDiK
A co mu brání to tedy načíst jako číslo, to potom převést na string a dále pracovat se stringem.

Nahlásit jako SPAM
IP: 93.181.78.–
JoDiK
~ Anonymní uživatel
981 příspěvků
15. 11. 2012   #6
-
0
-

#5 Honzc
Tazatel se nijak nevyjádřil a tipuju že už se sem ani nekoukne, takže nevím co by mu mělo bránit, jen si pořád myslím, že učitel po něm chtěl aplikovat dělení deseti a zbytek po dělení všechno v číselném oboru a o řetězcích nechce ani slyšet...

Nahlásit jako SPAM
IP: 88.103.236.–
Honzc0
Stálý člen
16. 11. 2012   #7
-
0
-

#6 JoDiK
Nevím, proč by učitel nechtěl slyšet nic o řetězcích, když chce, aby pokud má číslo lichý počet cifer doplnil na začátek 0.

Jinak proč dělit pořád 10-ti, když to jde vydělit jednou.

var d,cislo,c1,c2: Integer;
begin
  cislo := StrToInt(Edit1.Text);
  d := Length(Edit1.Text);
  if d mod 2=1 then
    d := d+1;
  d := d div 2;
  d := Trunc(IntPower(10,d));
  c1 := cislo div d;
  c2 := cislo mod d;
  cislo := c2*d+c1;
  Edit2.Text := IntToStr(cislo);
end;

Nahlásit jako SPAM
IP: 93.181.78.–
18. 11. 2012   #8
-
0
-

   

achjo  no, mám tu jen pár příkladů na procvičování a když nevim tak sem se chtěl zeptat, sorry... 

jinak původně tam opravdu mělo být použito dělení 10, ale rád se přiučím i jak to udělat jinak...díky Honzc

Nahlásit jako SPAM
IP: 88.100.113.–
JoDiK
~ Anonymní uživatel
981 příspěvků
19. 11. 2012   #9
-
0
-

#8 sirvomacka
Nevím proč se omlouváš, šak ti nikdo nic nevyčítá, snad jen že nereaguješ, neupřesňuješ a na nic se neptáš...

Nahlásit jako SPAM
IP: 88.103.236.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 11 hostů

Podobná vlákna

Prohození menů — založil WeroJoNel

Prohozeni poradi — založil Joeyz

Prohození ukazatelů — založil Gavier

Prohození pořadí — založil Ondra_AS

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý