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

jedan mali problem

[es] :: C programiranje :: jedan mali problem

[ Pregleda: 1217 | Odgovora: 5 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Pretender

Član broj: 12407
Poruke: 100
212.124.182.*



Profil

icon jedan mali problem04.08.2003. u 21:42

Ukucao sam program za n-to stepenovanje unetog broja :


// F-ja za dizanje broja a, na n-ti stepen

# include <iostream.h>
# include <conio.h>

long step(short int x, unsigned short int n); // prototip f-je step

int main()
{
short int a;
unsigned short int n;
long int rezult;

cout << "\n" << " Program podize broj `a` na n-ti stepen";
cout << "\n\n" << " Unesite a: ";
cin >> a;
cout << "\n" << " Unesite n: ";
cin >> n;

rezult= step(a, n);
cout << "\n" << "Rezultat je: " << rezult;

getch();
return 0;
}


long step(short int v, unsigned short int w)
{
?????????????????????????????????????????
if (w<0)
cout << "\n" << "Ne znam da radim sa negativnim stepenima.";
return 0;
???????????????????????????????????????????
if (w==0)
return (1);
if (w==1)
return (v);
return (v * step(v, w-1));
}


i sve je dobro radilo, dok nisam dodao deo izmedju upitnika (kako bih porukom pokrio slucaj n<0). Sada dobijam "Rezultat je 0" za svaku komb. unetih brojeva.

Ako neko zna zasto dolazi do problema, molim da let me no.

Hvala
04.08.2003. u 21:42 

Dragi Tata

Član broj: 1958
Poruke: 3899
199.171.112.*

Sajt: www.novetehnologije.com


Profil

icon Re: jedan mali problem04.08.2003. u 22:21
Pre svega, nije mi jasno zašto uopšte proveravaš da li je unsigned manje od nule.
04.08.2003. u 22:21 

filmil
Filip Miletić
Oce Technologies B.V., inženjer hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.adsl.zonnet.nl

Jabber: filmil@jabber.org
ICQ: 36601391


Profil

icon Re: jedan mali problem04.08.2003. u 22:30
Citat:
Pretender:
Code:

if (w<0)
        cout << "\n" << "Ne znam da radim sa negativnim stepenima.";
        return 0;



Treba:

Code:

if (w<0) {
        cout << "\n" << "Ne znam da radim sa negativnim stepenima.";
        return 0;
}


f
04.08.2003. u 22:30 

Pretender

Član broj: 12407
Poruke: 100
212.124.182.*



Profil

icon Re: jedan mali problem04.08.2003. u 23:16
Dragom Tati :

U pravu si, previd, ali ja sam hteo da vidim zasto gornji kod ne radi, za signed ili unsigned svejedno.


Filmilu :

Hvala.Kapiram gresku, ali izgleda da ne mogu pravilno da postavim sve zagrade (jer dodavanje ovih iziskuje i dodavanje jos nekih), tako da dobijam poruke gresaka.

Ako bi mogao da mi napises ceo kod definicije f-je, bio bih ti zahvalan.
04.08.2003. u 23:16 

filmil
Filip Miletić
Oce Technologies B.V., inženjer hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.adsl.zonnet.nl

Jabber: filmil@jabber.org
ICQ: 36601391


Profil

icon Re: jedan mali problem04.08.2003. u 23:56
Code:

// F-ja za dizanje broja a, na n-ti stepen

# include <iostream>

using namespace std;

long step(int x, unsigned short n); // prototip f-je step

int main()
{
    short a;
    unsigned short n;
    long rezult;

    cout << endl << " Program podize broj `a` na n-ti stepen";
    cout << endl << endl << " Unesite a: ";
    cin >> a;
    cout << endl << " Unesite n: ";
    cin >> n;

    rezult = step(a, n);
    cout << endl << "Rezultat je: " << rezult;

    return 0;
}


long step(short v, unsigned short w)
{

    if (w<0) {
        cout << "\n" << "Ne znam da radim sa negativnim stepenima.";
        return 0;
    }

    if (w==0)
        return (1);
    if (w==1)
        return (v);
    return (v * step(v, w-1));
}


Code:

cd /home/filip/
g++ -o step -Wall step.cc
step.cc: In function `long int step(short int, short unsigned int)':
step.cc:31: warning: comparison is always false due to limited range of data 
   type

Compilation finished at Mon Aug  4 22:54:14


f
04.08.2003. u 23:56 

Pretender

Član broj: 12407
Poruke: 100
*.beotel.net



Profil

icon Re: jedan mali problem05.08.2003. u 03:39
Sad je ok (`doterao` sam samo definiciju f-je).
Inace, izbrisao sam `unsigned`, pa vise nema upozoravajucih poruka.

Jos jedared hvala.
05.08.2003. u 03:39 

[es] :: C programiranje :: jedan mali problem

[ Pregleda: 1217 | Odgovora: 5 ]

Postavi temu Odgovori

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