Hirdetés

Keresés

Új hozzászólás Aktív témák

  • N!tRo

    tag

    válasz #72042496 #1243 üzenetére

    Háj
    na én ezt most úgy értelmezem, hogy egy progi, ami 6os számrendszerből 10es számrendszerbe (továbbá szr) alakít, a 6os szrbeli szám max 60 karakter lehet, és egy tömbbe tárolja a számjegyeket (ami sztem felesleges)
    én megcsináltam azt, hogy átalakítsa egyik szrből a másikba

    {$N+} {8086-os numerikus tarsprocesszor bekapcsolasa}
    program hazifeladat;
    uses crt;
    var k: array[1..60] of char;
    kod6: string;
    hiba: boolean;
    i,s,error: integer;
    kod10:double;
    begin
    clrscr;
    repeat
    hiba:=false;
    writeln('K‚rem a 6-os szamrendszerbeli szamot, max 60 karakter!');
    readln(kod6);
    if length(kod6) > 60 then hiba:=true else
    for i:= 1 to length(kod6) do
    if kod6 in['0','1','2','3','4','5';] then else hiba:=true; {a not in muveletet nemtom megcsinalni}
    if hiba=true then writeln('Hibas formatum!');
    until hiba=false;

    { Berakja a szamokat egyesevel egy tombbe, sztem felesleges }
    { for i:= 1 to length(kod6) do k
    :=kod6; }
    kod10:=0;
    for i:= 1 to length(kod6) do begin
    val(kod6
    ,s,error);
    kod10:=kod10+s*(exp(ln(6)* (length(kod6)-i) ));
    end;
    writeln(kod10:20:2);
    readln;
    end.

    Nyilván ez nem teljes program, kedved szerint alakítod.



    [Szerkesztve]

  • VladimirR

    nagyúr

    válasz #72042496 #1245 üzenetére

    extended is csak 19-20 szamjegyig pontos
    10-esbo, hatosba nem lenne gaz, ott nem kell tarolni az eredmenyt, de visszafele alakitashoz (asszem) letre kell hoznod egy masik tombot a 10-es szamrendszer beli eredmeny szamara, amin tudsz sorzast, es osszeadast vegezni

    beolvasas:
    uses
      crt;
    var
      i : byte;
      ch : char;
      darabszam : byte;
      szamjegyek : array[1..60] of byte;
    begin
      darabszam := 0;
      clrscr;
      writeln( 'kerem a szamot: ' );
      while keypressed do readkey;
      repeat
        ch := readkey;
        if ( ch >= '0' ) and ( ch <= '6' ) then begin
          inc( darabszam );
          write( ch );
          szamjegyek[darabszam] := ord( ch ) - 48;
        end;
      until ( ch = #27 ) or ( ch = #13 ) or ( darabszam = 60 );
      writeln;
      for i := 1 to darabszam do
        write( szamjegyek );
    end.


    Bovebben: [link]

    ez csak annyit csinal, hogy beolvas egy 60 jegyu 6-ois szamrendszer beli szamot
    addig olvas, amig esc-et, vagy enter-t nem utsz, vagy a szamjegyek szama el nem eri a 60-at

    [Szerkesztve]

  • Lortech

    addikt

    válasz #72042496 #1243 üzenetére

    És hol akadtatok el? :D

    Ez az eredeti szöveg? Mert elég érdekes. ''átalakítani valós értéké'', vagyis decimális számrendszerbe, vagy mi akar ez lenni?

    ''A program a standard inputról olvassa be a számjegyeket
    tartalmazó karaktertömböt'' tehát egy karaktertömböt olvasunk be, ami _már tartalmazza_ a számjegyeket? :D
    hm..

    Szóval egy max 60 jegyű 6-os számrendszerbeli számot olvasunk be billentyűzetről egy karakter típusú tömbbe, illetve előtte a számjegyek számát, aztán decimális számrendszerre hozzuk (és mondjuk kiiratjuk)?

    [Szerkesztve]

Új hozzászólás Aktív témák