C programozás

Kezdőlap Fórumok Programozás C programozás

10 bejegyzés megtekintése - 1-10 / 352
  • Szerző
    Bejegyzés
  • #2016096
    kisbetu
    Felhasználó

      Kéne egy c referencia…

      #2016097
      razoli
      Felhasználó

        Hi

        most irogatok egy progit és van egy két kérdésem.
        1, kéne egy c fügvény ami gyököt von egy számból.
        2, kéne egy c fügvény ami egy nem egész számot egészre kerekít, de mindenképp fölfelé (pl.: 1,1-bõl 2-t csinál).

        kösz
        [align=right][snapback]134110[/snapback][/align]

        függvényt nem tudok, de tudsz írni egyet te is, a következõ képpen:
        Eredmény=e^(ln(Alapszám)/N-edik_gyök)
        Pontosabb leírás ebben a topikban

        #2016098
        Leslieman
        Felhasználó

          >1, kéne egy c fügvény ami gyököt von egy számból.
          A math.h-t include-old be (szépen Magyarul 🙂 ), és abban van sqrt.

          >2, kéne egy c fügvény ami egy nem egész számot egészre kerekít, de mindenképp fölfelé (pl.: 1,1-bõl 2-t csinál).
          Erre is van valami ceil (meg floor) függvény. Vagy a math.h-ban, vagy a tgmath.h-ban, vagy valami ilyesmi.
          Vagy a cmath-ban, de az már c++.

          #2016099
          szati
          Felhasználó

            én így oldottam meg a problémá:

            Code:
            long int sqrt;


            sqrt = (sqrt(number)) + 1

            tehát a number-bõl gyököt von a fügvény, kapunk egy lebegõpntos számot
            hozzáadok egyett
            majd az értéket letárolom egy egész változóban, tehát elvész a tört rész.

            ez így jó?

            #2016100
            Leslieman
            Felhasználó

              Kedves dZsoeN!

              Nem azért, mert én vagyok a „hûdeokos”, hanem, hogy tanuljunk:
              C program nyelvben a ^ nem hatványozást, hanem XOR mûveletet jelent. 🙂
              A · az pedig értelmetlen, nincs ilyen mûvelet.
              Az atoi pedig nem egészre kerekítés, hanem karakteres szöveg (ami számot ábrázol) átalakítása számmá.

              Amúgy nem nagyon vannak ötlteim, csak hüeségek…

              Na, végül is igazat is szóltál. 😀 (Bántás nélkül, csak a vicc kedvéért! 😆 )

              #2016101
              Leslieman
              Felhasználó

                ez így jó?

                Attól függ, hogyan és mire akarod használni. Ha pl a number 9, annak a gyöke ugye 3. Ezt is mindig fel akarod kerekíteni 4-re? Mert akkor jó.
                Amúgy nem.

                #2016102
                pointux
                Felhasználó

                  „sqrt = (sqrt(number)) + 1”

                  Ha minden esetben el akarod veszíteni a tört részt, akkor igen, bár tennék egy kis kiegészítést:
                  sqrt = (long int)sqrt(number) + 1
                  pl. number = 10, vagy 15 esetén is 4 az eredmény

                  miért?
                  mert, az sqrt függvény miatt lebegõpontos kifejezésként kezeli az összeadást, erre viszont eben az esetben nincs szükség (amit mondtam, annak akkor van értelme, ha ez nyócmilliószor futna le ez a mûvelet, ugyanis a lp. mûvelet lassabb)

                  (ha kerekítést akarsz, azt is meg lehet oldani, de esetleg nagyon oda kell figyelni, hogy a szám –e, vagy +)

                  #2016103
                  pointux
                  Felhasználó

                    a kerekítés pl megvalósítható:
                    a ceil függvénnyel, mely mindent felfelé kerekít ill.
                    a floor fgv-nyel, mely mindet lefelé kerekít

                    bár a legjobb megoldás (legegyszerûbb is), ez lehet:
                    int round(double a) {
                    return (a + 0.5);
                    }
                    ha a egész szám, akkor akkor lefelé kerekít, ha a törtrésze nagyobb, mint 0.5, akkor az összeg nagyobb lesz, mint a+1, amit szintén lefelé kerekít (egyszerû, de nagyszerû megoldás)

                    #2016104
                    szati
                    Felhasználó

                      Attól függ, hogyan és mire akarod használni. Ha pl a number 9, annak a gyöke ugye 3. Ezt is mindig fel akarod kerekíteni 4-re? Mert akkor jó.
                      Amúgy nem.

                      igen ettõl eltekinthetünk nem számit, de aszem a ceil fügvényt fogom használni a célra.

                      #2016105
                      szati
                      Felhasználó

                        megtudná mondani valaki hogy a ceil fügvény mejik headerben található meg? Nem találom a glibc doksiában.

                      10 bejegyzés megtekintése - 1-10 / 352
                      • Be kell jelentkezni a hozzászóláshoz.