Jump to content
PirateClub.hu

Pascalban Ceasar kódoló


freeware
 Share

Recommended Posts

Sziasztok!

 

A következő programozás házit kell elkészítenem:

Egy valami.TXT nevű állományból beolvas egy titkosított, az angol ábécé betűit tartalmazó szöveget, és a képernyőre kiírja a megfejtett szöveget!

A valami.TXT fájl első sora az A-nak megfelelő betű, a titkosított szöveg a második sortól kezdődik, esetleg több sorra tördelve is akár.

Link to comment
Share on other sites

Ezt én nem vágom :D , de ha elmonod segítek :D .

 

szerk:

Megvan, eltolásos cucc, nem nehéz :) de most rohanok a vonathoz XD, ha netközelbe kerülök (legkésőbb csütörtök akkor elküldöm).

csoki

 

szerk2:

tessék:

Program Decoder;

 

uses crt;

 

{'a' ascii kodja : 97}

 

var MyWord:string;{-kodolando szoveg}

KeyChar:char;{-kodolo karakter}

i:byte;{-segedvaltozo}

Shift:byte;{-eltolas}

 

{kisbetusites}

Function LowerCase(Act_C:char):char;

const different = 32;{a<->A}

Begin

if (ord(Act_C) >= ord('A')) and (ord(Act_C) <= ord('Z')) then Begin

LowerCase := chr(ord(Act_C) + different);

End

else LowerCase := Act_C;

End;

 

Function GetShift(Act_C:char):byte;

var abc :string;

i:byte;

Begin

abc := 'abcdefghijklmnopqrstuvwxyz';

i := 0;

while (abc[i+1] <> Act_C) do inc(i);

GetShift := i;

End;

 

{szovegkodolas}

Function Decode(MyWord:string; Shift:byte):string;

var i:byte;

s:string;

Begin

s := '';

for i := 1 to length(MyWord) do Begin

if (ord(MyWord) >= ord('a')) and (ord(MyWord) <= ord('z')) then Begin

s := s + chr(((ord(MyWord) - 96) mod 26) + (96 + shift));

{(ord(MyWord) - 96) mod 26):hanyadik betu az 'abc'-ben

(mod 26) -tŁlcsordul s kezel?se}

{(96 + shift) hozz adjuk az 'a' elotti poziciot ?s azt mennyivel toljuk el}

End

else s := s + MyWord;{hozzaadjuk a szoveghez az adott karaktert modositas nelkul

ha az nincs benne az 'abc'-ben}

End;

Decode := s;

End;

 

BEGIN

clrscr;

 

{kodolando szoveg beolvasasa}

write('Text for decode: ');

readln(MyWord);

 

{kodolo betu}

Write('Key: ');

KeyChar := readkey;

Writeln(KeyChar);

 

{karaktere feldolgozasa (lowcase)}

for i := 1 to length(MyWord) do Begin

MyWord := LowerCase(MyWord);

End;

{^EZ NEM FELTETLEN SZUKSEGES, DE HA NEM TESSZUK BELE AKKOR

A DEOCDE RESZBEN MEG KELL VIZSGALNI HOGY KIS VAGY NAGY BETUROL BESZELUNK^}

 

{kodolt szoveg kiiratasa}

write(Decode(MyWord,GetShift(KeyChar)));

 

readkey;

END.

 

//a txt beolvasását gondolom te is meg tudod oldani

Link to comment
Share on other sites

Helló!

 

Hatalmas köszönet! :rolleyes: Egy teherrel kevesebb!

Az a gond, hogy követelni követelnek, de normálisan nem adják le az anyagot. Jó tudom, gyakorolni kell, de arra meg nem sok ideje van az embernek munka mellett.

Szóval mégegyszer ezer hála!

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Hozzászólás a témához...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Jelenleg olvassa   0 members

    • No registered users viewing this page.
×
×
  • Create New...