Probléma c-ben

Kezdőlap Fórumok Programozás Probléma c-ben

10 bejegyzés megtekintése - 11-20 / 22
  • Szerző
    Bejegyzés
  • #1981545
    mjoker
    Felhasználó

      Kösz a segitseget, megvan a megoldas.
      A lefoglalásmal volt a baj (csomagszam+1 méretût kellet lefoglalni).

      Egyebként minek folytatnék egy olyan programot, ami már az egyik változó inicializálásánál sem müködik jól.

      #1981546
      Leslieman
      Felhasználó

        ezt kell kommentezni, hogy mûködjön:

        for (l=0;l [align=right][snapback]93974[/snapback][/align]

        Kicsit tényleg átláthatatlan a program. 😛
        Egyébként nem hiszem, hogy ez a sor a hibás, hiszen ha foglalsz helyet mondjuk egy 10 elemû tömbnek, és aztán 0-tól 9-ig végigmész és kinullázod, annak mûködnie kell.
        A te progid pont ezt csinálja az idézett résznél.

        #1981547
        admin
        Adminisztrátor

          Nem tudomm megoldani a kötelezõ programokat c-ben.
          Két tetszõlegesen nagy (string-ként tárolt) egész szám összeszorzása.
          Figyelj az elõjelekre is! Az input formája: két sorban a két szám leírása. A
          szám megadásában az elsõ karakter + vagy – elõjel lehet (de az elõjel el is
          hagyható), az összes többi karakter decimális számjegy. Az inputot a be.txt
          fájlból kell olvasni! Az output az két szám szorzata. Az outputot a ki.txt
          fájlba kell írni!

          Példa input:
          100200300400500600700800900
          -123

          Példa output:
          -12324636949261573886198510700

          #1981548
          admin
          Adminisztrátor

            Nem tudomm megoldani a kötelezõ programokat c-ben.
            Két tetszõlegesen nagy (string-ként tárolt) egész szám összeszorzása.
            Figyelj az elõjelekre is! Az input formája: két sorban a két szám leírása. A
            szám megadásában az elsõ karakter + vagy – elõjel lehet (de az elõjel el is
            hagyható), az összes többi karakter decimális számjegy. Az inputot a be.txt
            fájlból kell olvasni! Az output az két szám szorzata. Az outputot a ki.txt
            fájlba kell írni!

            Példa input:
            100200300400500600700800900
            -123

            Példa output:
            -12324636949261573886198510700
            [align=right][snapback]97574[/snapback][/align]

            szal kell egy formás main
            benne az input file megnyitása: fopen(…
            ciklus 1
            olvagatás, soronként: fgets(…
            ha van értlemes érték: atof(…
            vége ciklus 1
            input file lezár: fclose(…
            van két értlemes (!=0) adatod if (szam1 && szam 2)
            ha van
            szorzok *
            output file megnyitása fopen(…
            érték kiírása fwrite(…
            output file lezár: fclose(…
            ha nincs
            kiüzensz hogy … printf(stderr,
            ha vége
            main vége

            #1981549
            doc
            Felhasználó

              ugyan nem probaltam, de nem hiszem hogy ez „tetszolegesen nagy” ertekekre menne, meg double tipussal sem…
              gondolj bele mondjuk ket 150 jegyu szam osszeszorzasaba…

              #1981550
              tovis
              Felhasználó

                ugyan nem probaltam, de nem hiszem hogy ez „tetszolegesen nagy” ertekekre menne, meg double tipussal sem…
                gondolj bele mondjuk ket 150 jegyu szam osszeszorzasaba…
                [align=right][snapback]97586[/snapback][/align]

                Menni szerintem fog (gondolj az 1.12345678E+30) csak a pontosság az nem tudom hogy alakul. Viszont ekkor ez már nagyon nem iskolás feladat, erre készültek a kalkulátor programok.

                #1981551
                admin
                Adminisztrátor

                  Sziasztok!

                  Véleményeteket szeretném kérni abban, hogy milyen linux disztibúciót válasszunk.
                  Elképzelésünk van, de szeretnélek azért titeket is megkérdezni.

                  Vagy egy kis programozó cégünk, amiben négyen dolgozunk, és
                  szeretnénk 2 új gépet beüzemelni, amin linux futna , fõként a C programozás végett.

                  Tehát a cél az , hogy gyors és hatékony rendszerünk legyen,
                  bár több éve használunk különbözõ linux verziókat ,
                  igazából még sincs nagy tapasztalatunk ezen a téren, ezt szeretnénk most pótolni.

                  Mit javasolnátok?

                  Debian ?
                  UHU ?
                  Redhat esetleg suse ?

                  „ Legfõképpen ( nagyobb ) matamatikai számításokat végeznénk rajta. „

                  Suse-vel kapcsolatban személy szerint nincs jó tapasztalatom , bár lehet ez csak 1-2 egyedi eset miatt lehet,
                  hogy a megírt kód iszonyat lassan futott rajta.

                  Segítségeteket elõre is köszönöm!

                  #1981552
                  Gege
                  Felhasználó

                    Forrás alapu diszti kellene, sokat dob a teljesitményen. (Gentoo v sourcemage)

                    #1981553
                    pointux
                    Felhasználó

                      Orsolya:

                      Ez csak egy ötlet 2 tetszõlegesen véges hosszúszágú szám összeszorzására.
                      (Lehet, hogy nem a leggyorsabb (biztos, hogy nem a leglassabb), viszont nincs korlát.)

                      1. A decimális stringet, bináris stringgé kell alakítani. Erre vannak algoritmusok.
                      pl: 11 -> 1011

                      2. feldolgozás (bármilyen szorzást meg lehet oldani összeadásként ill forgatásént)
                      Lesz egy szorzandó, és egy szorzó

                      Lássuk a szorzót: (*2=egy balra forgatás, *4=két balra forgatás)
                      1(1) -> 1 összeadás
                      10(2) -> forgatás balra + 1 összeadás
                      11(3) -> 1 forgatás + egy összeadás
                      100(4) -> 2 forgatás

                      Tehát, ha a bináris string utolsó számjegye 0-nincs összeadás, ha 1, akkor van.
                      Ha a bináris utolsó elõtti 0 nincs 1szeres forgatás, ha 1, akkor egyszeres forgatás van.
                      Ha a bináris u. elõtti, elõtti szám 0, akkor nincs kétszeres forgatás…
                      és így tovább

                      #1981554
                      tovis
                      Felhasználó

                        Orsolya:

                        Ez csak egy ötlet 2 tetszõlegesen véges hosszúszágú szám összeszorzására.
                        (Lehet, hogy nem a leggyorsabb (biztos, hogy nem a leglassabb), viszont nincs korlát.)

                        1. A decimális stringet, bináris stringgé kell alakítani. Erre vannak algoritmusok.
                        pl: 11 -> 1011

                        2. feldolgozás (bármilyen szorzást meg lehet oldani összeadásként ill forgatásént)
                        Lesz egy szorzandó, és egy szorzó

                        Lássuk a szorzót: (*2=egy balra forgatás, *4=két balra forgatás)
                        1(1) -> 1 összeadás
                        10(2) -> forgatás balra + 1 összeadás
                        11(3) -> 1 forgatás + egy összeadás
                        100(4) -> 2 forgatás

                        Tehát, ha a bináris string utolsó számjegye 0-nincs összeadás, ha 1, akkor van.
                        Ha a bináris utolsó elõtti 0 nincs 1szeres forgatás, ha 1, akkor egyszeres forgatás van.
                        Ha a bináris u. elõtti, elõtti szám 0, akkor nincs kétszeres forgatás…
                        és így tovább

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