Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program ascii_to_hex;
- var teksts,hexteksts: string; //Teksts- input teksts, hexteksts- output teksts
- mainigais1,mainigais2: integer; //nosaka vietu stringā, un for cikla mainīgais
- decvertiba: integer; //nosaka char elementa decimālo vērtību
- karta: integer;
- {heksidecimālā skaitļa kārtības noteicējs, piem 1.2.3..A,B, u.t.t.}
- hexvert: array[0..15] of char; // Heksidecimālās vērtības
- simbkarta: integer; //String simbola kartas skaitlis
- paligmain: char; //saglabā simbola vērtību lai to varētu dot tālāk.
- begin
- write('ievadi tekstu, ko varetu parveidot hex- ');
- readln(teksts);
- karta:=0; //ieliek hex vērtības masīvā
- simbkarta:=1;
- for mainigais2:= 48 to 70 do
- begin
- if (mainigais2<58) or (mainigais2>64) then //izņem nederīgos elementus
- begin
- hexvert[karta]:=chr(mainigais2);
- inc(karta);
- end else continue;
- end;
- for mainigais1:= 1 to length(teksts) do
- {pārveido elementus uz hex. hex kods vel jaapgriež.
- heksidecimālo kodu iegūst dalot skaitli ar 16 un tā atlikums
- ir tā vērtība. piemēram 108 dec izvada 6C hex.
- 108 mod 16=12. 12 elements masīvā hexvert ir C.
- tad 108 div 16 kura vertiba ir 6.
- Ciklu atkārto. 6 mod 16= 6. 6 masīva hexvert ir 6. visas
- vertibas ir apgrieztas hextekstā pagaidām. Programmas beigās tās atgriež
- pareizajā veidā}
- begin
- decvertiba:=ord(teksts[mainigais1]);
- repeat
- karta:=decvertiba mod 16;
- hexteksts[simbkarta]:=hexvert[karta];
- decvertiba:=decvertiba div 16;
- inc(simbkarta);
- until decvertiba=0;
- paligmain:=hexteksts[simbkarta-1];
- hexteksts[simbkarta-1]:=hexteksts[simbkarta-2];
- hexteksts[simbkarta-2]:=paligmain;
- if(mainigais1<>length(teksts)) then
- begin
- hexteksts[simbkarta]:=':';
- inc(simbkarta);
- end else
- end;
- for karta:= 1 to simbkarta do
- begin
- write(hexteksts[karta]);
- end;
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment