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

Zadatak sa zaokruzivanjem ?

[es] :: C/C++ programiranje :: C/C++ za početnike :: Zadatak sa zaokruzivanjem ?

[ Pregleda: 2318 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sasa.g
Beograd

Član broj: 13132
Poruke: 48
*.dynamic.sbb.co.yu.



Profil

icon Zadatak sa zaokruzivanjem ?07.06.2007. u 10:45 - pre 205 meseci
Da li neko moze da mi pomogne oko sledeceg zadatka:

1. Za uneti niz brojeva sa pokretnim zarezom izračunati razliku sume svih članova niza zaokruženih na 2 decimale u odnosu na sumu zaokruženih vrednosti elemenata niza na 2 decimale.

Ja sam pokusao da ga resim i ovo je moje resenje ali nikako ne mogu da ga nateram da radi ono sto se trazi u zadatku

Code:

#include <stdio.h>

main()
{
    float niz[5],p,r,j=0;
    int i;
    float buffer[100];

    for(i=0;i<5;i++)
    {
    printf("Unesite %d. clan niza: ", i+1);
    scanf ("%f",&niz[i]);
    }
    
    for (i=0;i<=5;i++)
    {
        j=j+niz[i];
    }
        sprintf(buffer,"%.2f", j);
        j=atof(buffer);

    for (i=0;i<=5;i++)
    {
        sprintf(buffer,"%.2f", niz[i]);
        p=p+atof(buffer);
    }

    r=j-p;

    printf("\n\nRazlika je: %d\n\n", r);
}
 
Odgovor na temu

sasa.g
Beograd

Član broj: 13132
Poruke: 48
*.dynamic.sbb.co.yu.



Profil

icon Re: Zadatak sa zaokruzivanjem ?07.06.2007. u 10:47 - pre 205 meseci
Zar u C-u nema funkcija kao sto su round i trunc ???
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.tekostolac.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Zadatak sa zaokruzivanjem ?07.06.2007. u 12:03 - pre 205 meseci
Pogledaj (uključi) biblioteku:
#include <math.h>
... i vidi šta kaže Help za floor i ceil.

Ovo dole sam copy/paste iz Borland-ovog Helpa:

floor()
Citat:

Header File
math.h

Category
Math Routines

Prototype
double floor(double x);
long double floorl(long double x);

Description
Rounds down.
floor finds the largest integer not greater than x.
floorl is the long double version; it takes a long double argument and returns a long double result.

Return Value
floor returns the integer found as a double. floorl returns the integer found as a long double.


ceil()
Citat:

Header File
math.h

Category
Math Routines

Prototype
double ceil(double x);
long double ceill(long double x);

Description
Rounds up.
ceil finds the smallest integer not less than x.
ceill is the long double version; it takes a long double argument and returns a long double result.

Return Value
These functions return the integer found as a double (ceil) or a long double (ceill).


Code:

 #include <math.h>
 #include <stdio.h>

 int main(void)
 {
    double number = 123.54;
    double down, up;

    down = floor(number);
    up = ceil(number);

    printf("original number     %5.2lf\n", number);
    printf("number rounded down %5.2lf\n", down);
    printf("number rounded up   %5.2lf\n", up);

    return 0;
 }
 
Odgovor na temu

sasa.g
Beograd

Član broj: 13132
Poruke: 48
*.dynamic.sbb.co.yu.



Profil

icon Re: Zadatak sa zaokruzivanjem ?07.06.2007. u 12:19 - pre 205 meseci
probao sam to ali nije to resenje. floor ce mi broj 4.2 zaokruziti na 5, a ceil ce 4.2 zaokruziti na 4. Meni treba nesto sto radi klasicno zaookruzivanje na 2 decimale po klasicnom matematickom principu.
Znaci kada u printf-u za format ispisa napisem "%.2f" lepo dobijem zaokruzen broj na dve decimale...ali to je samo format ispisa na standardnom izlazu. E, sad... meni treba nesto sto ce mi tako zaokruzen broj sacuvati u nekoj promenljivoj sa kojom cu ja dalje da radim druge stvari.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.tekostolac.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Zadatak sa zaokruzivanjem ?07.06.2007. u 13:17 - pre 205 meseci
Odavno nisam u tim vodama, ali probaj ovako:

Code:
    
double number = 4.5648;
//double number = 4.5668;
    
number *= 100.0;
number = ( (long)(number + 0.501) ) / 100.0;

printf( ...


 
Odgovor na temu

mulaz
Ljubljana

Član broj: 47602
Poruke: 2239
*.dial-up.dsl.siol.net.

Jabber: mulaz@elitesecurity.org
Sajt: www.mulaz.org


+184 Profil

icon Re: Zadatak sa zaokruzivanjem ?07.06.2007. u 14:11 - pre 205 meseci
Code:
ROUND(3)                   Linux Programmer's Manual                  ROUND(3)

NAME
       round, roundf, roundl - round to nearest integer, away from zero

SYNOPSIS
       #include <math.h>

       double round(double x);
       float roundf(float x);
       long double roundl(long double x);

       Compile with -std=c99; link with -lm.

DESCRIPTION
       These functions round x to the nearest integer, but round halfway cases
       away from zero (regardless of the current rounding direction),  instead
       of to the nearest even integer like rint().

RETURN VALUE
       The  rounded  integer  value. If x is integral or infinite, x itself is
       returned.



znaci

double broj = 12.12132;
broj *=100;
broj=round(broj)/100;

Bolje ispasti glup nego iz aviona
http://www.mulaz.org/
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Zadatak sa zaokruzivanjem ?

[ Pregleda: 2318 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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