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

Funkcija bool intTest, da li odredjena cifra postoji?

[es] :: C/C++ programiranje :: Funkcija bool intTest, da li odredjena cifra postoji?

[ Pregleda: 2881 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

SuperC

Član broj: 120719
Poruke: 124
*.9.14.vie.surfer.at.



Profil

icon Funkcija bool intTest, da li odredjena cifra postoji?12.11.2006. u 00:09 - pre 212 meseci
Pokusavah vise puta no, ne vidjeh kako:

Napisati program u c++ odnosno funkciju bool intTest (int n, char c), koja potvrdjuje, da li se cifra c u broju n nalazi. Eh, sad najbitnije da se ovo proba uraditi bez petlji u samoj funkciji.


 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.adsl.net.t-com.hr.

Sajt: www.dump.hr


Profil

icon Re: Funkcija bool intTest, da li odredjena cifra postoji?12.11.2006. u 09:16 - pre 212 meseci
Pojasni:
"da li se cifra c u broju n nalazi"
 
Odgovor na temu

SuperC

Član broj: 120719
Poruke: 124
*.9.14.vie.surfer.at.



Profil

icon Re: Funkcija bool intTest, da li odredjena cifra postoji?12.11.2006. u 10:22 - pre 212 meseci
Pa koliko sam ja shvatio moze da se nalazi i da se ne nalazi, pretpostavljam da nekako treba ulaznu varijablu/promjenjivu provjeriti da li vec postoji u nekom broju. Npr. da li se cifra 5 nalazi unutar broja 15673984 ili unutar broja 167823

Tako sam ja to shvatio ili?
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.adsl.net.t-com.hr.

Sajt: www.dump.hr


Profil

icon Re: Funkcija bool intTest, da li odredjena cifra postoji?12.11.2006. u 12:29 - pre 212 meseci
Code:
bool func( int x, char c )
{
    char s[32];
    sprintf( s, "%d", x );

    for( int i = 0; s[i] != '\0'; ++i )
        if( s[i] == c ) return true;
    
    return false;
};
 
Odgovor na temu

SuperC

Član broj: 120719
Poruke: 124
*.9.14.vie.surfer.at.



Profil

icon Re: Funkcija bool intTest, da li odredjena cifra postoji?12.11.2006. u 12:58 - pre 212 meseci
Hvala puno. Mislio sam da moze preko for petlje, nisam znao da moram sprintf uvesti, a sta mislis moze li se to preko neke funkcije uraditi, da nema petlje, npr:
 
Odgovor na temu

Mali Misha
Mihajlo Anđelković
NBGD

Član broj: 79396
Poruke: 379
85.187.163.*

ICQ: 195487525
Sajt: cpptea.com


+1 Profil

icon Re: Funkcija bool intTest, da li odredjena cifra postoji?12.11.2006. u 13:06 - pre 212 meseci
Petlja može biti sakrivena u nekoj drugoj funkciji. Ali je potrebna da bi se kroz broj prošlo i ispitala svaka njegova cifra. Na primer:

Code:
bool func( int x, char c )
{
    char s[32],t[2];
    sprintf( s, "%d", x );
    t[0] = c;
    t[1] = 0;

    return strstr(s,t);
}

Ipak se ++uje.
 
Odgovor na temu

SuperC

Član broj: 120719
Poruke: 124
*.9.14.vie.surfer.at.



Profil

icon Re: Funkcija bool intTest, da li odredjena cifra postoji?12.11.2006. u 13:09 - pre 212 meseci
Mislim dosao sam ja do rjesenja kao sto je ovo, da nadjem neki broj:

#include <iostream>
#include <algorithm>
using namespace std;
main()
{
int brojevi[9] = {1,2,4,9,5,6,7,8,9};
int *broj;

found = find(brojevi, brojevi+9, 4);
if (found!=brojevi+9)
{
cout << "Pronadjen je : " << *broj << endl;
}
else
{
cout << "Nema trazenog broja" << endl;
}
}


ali nije preko bool intTest
 
Odgovor na temu

Xabre
Srđan Rajčić
Beograd

Član broj: 13192
Poruke: 34
*.internet.krstarica.net.

Jabber: Srdjan@elitesecurity.org
ICQ: 280236914


Profil

icon Re: Funkcija bool intTest, da li odredjena cifra postoji?13.11.2006. u 15:36 - pre 212 meseci
Ako bas hoces bez petlje, probaj rekurzijom. Recimo ovako:

bool bTest(char n, char *c)
{
if(*c == n)
return true;
else if(*c != n && *c != '\0')
return (bTest(n, ++c));
else
return false;
}
 
Odgovor na temu

Mali Misha
Mihajlo Anđelković
NBGD

Član broj: 79396
Poruke: 379
85.187.163.*

ICQ: 195487525
Sajt: cpptea.com


+1 Profil

icon Re: Funkcija bool intTest, da li odredjena cifra postoji?13.11.2006. u 15:58 - pre 212 meseci
Rekurzija je dobra ideja, no deklaracija je bila gore malko izmenjena..

Code:
bool func(int x,char c) // poziv sa func(111110111,'0') npr.
{
    if((x%10) == (c-'0')) return true;
    if(x < 10) return false;
    return func(x/10,c);
}

Ipak se ++uje.
 
Odgovor na temu

Xabre
Srđan Rajčić
Beograd

Član broj: 13192
Poruke: 34
*.internet.krstarica.net.

Jabber: Srdjan@elitesecurity.org
ICQ: 280236914


Profil

icon Re: Funkcija bool intTest, da li odredjena cifra postoji?13.11.2006. u 17:48 - pre 212 meseci
Da, elegantno resenje. :)
 
Odgovor na temu

[es] :: C/C++ programiranje :: Funkcija bool intTest, da li odredjena cifra postoji?

[ Pregleda: 2881 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

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