| Autor | Správa |
crystal131
 Užívateľ
 Založený: 18.05.2009 Príspevky: 34
 | Zaslal: So 15.01.11 23:56 |   |
zdravím, nevie mi niekto pomoct s príkazmi??
do editu mám zadávať nejaké celé čislo y. ktoré trojciferné čísla maju daný ciferný sučet y? (napr, že ak dáme vstup 3 tak výstup budú tri jednotky). tie trojciferné čisla sa maju vytvoriť po jednotlivých číslach s použitím cyklov FOR, alebo každé takéto číslo podelíme na cifry a zistíme či nám vyhovuje. |
| |
  |
 |
shiro
 Skúsený užívateľ
 Založený: 12.10.2006 Príspevky: 9643
 |
na to chodis do skoly aby si si vedel sam robit domace ulohy. |
_________________ AMD Phenom II 955 BE 3.2GHz, 4GB RAM DDR3-1333 A-Data, MB Gigabyte MA-770T-UD3P, Kingston SSDNow V 64GB 2.Gen., WD 640GB + WD 1TB, Gigabyte GeForce GTX275 896MB, 2xDVD+-RW NEC 7173, LCD BenQ G2400Wa 24", MS Wireless optical mouse 2.0A, Keyboard Prestigio, Creative SBS 380 2.1 | |
  |
 |
ac.milan
 Administrátor
 Založený: 17.04.2008 Príspevky: 11050 Bydlisko: Myjava Vek: 25
 |
shiro relax, da sa to riesit, staci ked crystal napise, co uz ma momentalne spravene, hotove a s ktorou castou ulohy konkretne si nevie dat rady, teda co chce, aby sme mu pomohli,alebo spravili. |
_________________ PC: Gigabyte GA-M52L-S3 / Athlon II X3 445 @ 3,1GHz / AM1 2x2GB DDR2 800 MHz / (RMA) Gigabyte HD7750 1GB OC@880MHz (RMA) / Seagate 7200.12 500GB / Creative Audigy SE / Fortron GP 350W 80+ / 24" BenQ G2420HDBL / Genius SP-HF1800A
NB: MSI M670X-091SK ( 2x1GB DDR2 667MHz ) | |
     |
 |
Fico
 Skúsený užívateľ
 Založený: 11.01.2009 Príspevky: 1049
 | Zaslal: Ne 16.01.11 11:05 |   |
Napísal by som ti to celé, lebo to nie je ťažké, ale asi by ma týto predo mnou zdrbali ( koniec koncov majú pravdu )
1.) vstup editu je uložený ako string, napriek tomu, že tam vložíš celé číslo. Keďže s ním chceš pracovať ako s celým číslom, treba ho skonvertovať:
| kód: | | celeCislo := StrToInt( edit1.Text ); |
Zvykne sa to ešte ošetrovať blokom try/finally, kôli nesprávnemu vstupu, ale keď sa to ešte neučili, tak to nechaj tak
2.) všetky trojciferné čísla prejdeš v cykle for takto:
| kód: | | for i:= 100 to 999 do |
3.) v tomto cykle budeš počítať ciferný súčet jednotlivých trojciferných čísel a to takto, že ich prevedieš na string a pracuješ s každým znakom zvlášť:
| kód: | // cifra je string
cifra := IntToStr( i );
// sucet je integer
sucet := StrToInt( cifra[1] ) + StrToInt( cifra[2] ) + StrToInt( cifra[3] ); |
Existuje jednoduchší spôsob, ako previesť jednociferné číslo na reťazec, ale neviem, či by si to pochopil, tak radšej použi tento spôsob.
4.) nakoniec už len porovnaj celeCislo a sucet a ak sa rovnajú, výsledok si ulož napr do TMemo komponentu:
| kód: | | Memo1.Lines.Add( IntToStr( i ) ); |
Ak budeš mať konkrétny problém, tak to už by nemalo byť proti pravidlám, takže smelo sa pýtaj. |
| |
   |
 |
crystal131
 Užívateľ
 Založený: 18.05.2009 Príspevky: 34
 | Zaslal: Ne 23.01.11 16:38 |   |
pardón ak ste to zle pochopili, nechcel som aby ste mi vypisovali kompletný príkaz, súčet čísel mám, len neviem s akým príkazom mám ten súčet rozložiť...mám edit, napíšem tam napr. 1451, v label1.caption mi vyhodí súčet 11 a ešte ten súčet potrebujem rozložiť na tri čísla, asi to dám do memo.lines, aký príkaz sa nato používa? takisto cyklus? |
| |
  |
 |
prohibit
 Užívateľ
 Založený: 03.01.2011 Príspevky: 65
 | Zaslal: Po 24.01.11 16:32 |   |
| crystal131 napísal: | | pardón ak ste to zle pochopili, nechcel som aby ste mi vypisovali kompletný príkaz, súčet čísel mám, len neviem s akým príkazom mám ten súčet rozložiť...mám edit, napíšem tam napr. 1451, v label1.caption mi vyhodí súčet 11 a ešte ten súčet potrebujem rozložiť na tri čísla, asi to dám do memo.lines, aký príkaz sa nato používa? takisto cyklus? | tak po prve, ciferny sucet 1451 nie je 11 ale 13, na to mi ani vysoku skolu netreba. Po druhe, v prvom prispevku si pisal ine zadanie, tak neviem preco ratas ciferny sucet vstupu. Podla prveho zadania sa tento sucet uz zadaval, a teda ti malo "vyplut" 1451 a nie sucet tychto cifier. Po tretie, takymto uvazovanim (spravit sucet a rozkladat ho) nenajdes vsetky moznosti. V prvom prispevku si si dal priklad s trojkou. Ze zadam 3 a vypluje mi 111. Ale nenajdes moznost 120, nenajdes 210, nenajdes 102, ani 201 a nenajdes ani 300. Takze to pekne prechadzaj cyklom pre vsetky trojciferne cisla ako ti bolo povedane (aj ten rozsah by sa dal zoptimalizovat ked trosku pouzijes matiku) |
| |
  |
 |
juho
 Zablokovaný užívateľ
 Založený: 16.05.2007 Príspevky: 837
 | Zaslal: Po 07.02.11 19:54 |   |
| prohibit napísal: | | tak po prve, ciferny sucet 1451 nie je 11 ale 13, na to mi ani vysoku skolu netreba | no skus ijst na vysoku skolu a vysvetlit im ze preco je to tak? 1+4=5 5+1=6 => 5+6=11 hmm tak to potom jak ti to stale vychadza 13? to aku zakladnu skolu si navstevoval? |
| |
   |
 |
|
Nemôžete pridávať nové témy do tohto fóra. 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. Nemôžete hlasovať v tomto fóre.
|
|