Ako napisať program, kde vstup bude nejaké číslo, a vystup bude n-tá cifra z daného čísla? – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Ako napisať program, kde vstup bude nejaké číslo, a vystup bude n-tá cifra z daného čísla? – C / C++ – Fórum – Programujte.comAko napisať program, kde vstup bude nejaké číslo, a vystup bude n-tá cifra z daného čísla? – C / C++ – Fórum – Programujte.com

 

evam880
Duch
14. 10. 2015   #1
-
0
-

Potrebujem napísať program, v ktorom zadám číslo m a n, a výstup bude n-tá cifra z čísla m. Napr. m = 1358, n = 2, takže výstup bude 5

Vie mi niekto prosim poradiť ako na to?Diky

Nahlásit jako SPAM
IP: 178.191.164.–
KIIV
~ Moderátor
+43
God of flame
14. 10. 2015   #2
-
0
-

Zbytek po deleni a celociselne deleni by melo byt napomocno.

Nahlásit jako SPAM
IP: 94.113.92.–
Program vždy dělá to co naprogramujete, ne to co chcete...
BDS+3
Věrný člen
14. 10. 2015   #3
-
0
-

#1 evam88
já bych to zadané číslo vypsal jako text a požadovaný znak.....

samozřejmě, matematický přístup by dělal lepší dojem   

Nahlásit jako SPAM
IP: 185.69.69.–
W10 :)
15. 10. 2015   #4
-
0
-

Měl by sis ověřit správnost zadání aby program správně vyřešil třeba i 10 znak z 568. U práce s řetězcem je to nutnost abys nezasahoval do paměti kam nemáš(nápověda: číslo, které udává kolikátý znak chceš, nesmí být větší než délka řetězce) Navíc zpracování jako řetězec umožňuje zpracovat i des. čísla. Pokud to má být C++, můžeš si usnadnit práci - použít std::string

hu

Nahlásit jako SPAM
IP: 2001:67c:1222:800:1d34:af...–
evam88
~ Anonymní uživatel
9 příspěvků
15. 10. 2015   #5
-
0
-

#2 KIIV
Ano presne ma napadlo, že to ma ísť cez delenie zo zvyškom a celočíselné delenie, len nevie fakt ako to mám aplikovať: môj postup zatial je:


#include <iostream>
using namespace std;

int main()
{
    int n,m;
cout << "Zadajte cislo m: " << endl;
cin >> m;
cout << "Zadajte cislo n" << endl;
cin >>n;
or(int i=0;i<n;++i)
        m/=10;
    cout << "n-ta cifra z cisla m: " << m%10 << endl;
return 0;
}

no ale ked zadam ako m 1358 a n 2, tak mi to vyhodi miest 5 cislo 3, tak neviem kde je chyba. 

Nahlásit jako SPAM
IP: 194.118.166.–
Hug
~ Anonymní uživatel
1 příspěvek
15. 10. 2015   #6
-
0
-

Dajme tomu ze mame cislo 1234,najskor potrebujeme cifru.
1234%10 = 4 -1.cifra
1234/10 = 123
-----------------
123%10=3 -2.cifra
123/10=12

.....atd ..ty v podstate len delis tym padom neziskavas cifru ,ale nove cislo odstranenim poslednej cifry :)

Nahlásit jako SPAM
IP: 78.98.17.–
evam88
~ Anonymní uživatel
9 příspěvků
16. 10. 2015   #7
-
0
-

no tomu rozumiem, ale ako to potom spraviš ked vložíš sumu 234567 a n je 3, tak vystup je 5? 

Nahlásit jako SPAM
IP: 178.191.172.–
16. 10. 2015   #8
-
0
-

#5 evam88
n - tá cifra, n je 2: 1 - první cifra, 3 - druhá cifra, 5 - třetí cifra, 8 - čtvrtá cifra. 3 je tedy správně. Nebo to má být od konce?

hu

Nahlásit jako SPAM
IP: 2001:67c:1222:800:74f2:a4...–
16. 10. 2015   #9
-
0
-

 Pokud od konce, tak cyklus musí provést n-1 iterací a pak modulo 10

for(int i=1;i<n;++i) m/=10;
cout << "n-ta cifra z cisla m: " << m%10 << endl;

hu

Nahlásit jako SPAM
IP: 2001:67c:1222:800:74f2:a4...–
evam88
~ Anonymní uživatel
9 příspěvků
18. 10. 2015   #10
-
0
-

#9 hlucheucho
super diky, uz to funguje pekne, ja som tam miesto i=1, dala i=0, ta preto mi blbosti vyskakovali

Nahlásit jako SPAM
IP: 178.191.161.–
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, 3 hosté

Moderátoři diskuze

 

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