Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Pascal a C = pole znakov

Zacinam robit v cecku a potreboval by som prerobit pascalovu deklaraciu do cecka.

Pascal
Pole = array ['A'..'Z'] of char;
cize na 'A' mieste bude znak napr. +, na 'B' mieste bude znak napr. /

Cecko neviem to urobit takto v cecku
zeby?

char [co mam dat sem?]={'+','/',.........................};

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Uděláš si pole, které bude od ASCII 0 do 255, takže pole = array[0..255] of Char; Na místa, kam chce… poslední
Jan Fiala 01.11.2012 21:37
Jan Fiala

Uděláš si pole, které bude od ASCII 0 do 255, takže
pole = array[0..255] of Char;
Na místa, kam chceš jiné znaky si napíšeš jiné znaky, např. na pozici znaku 'A' zapíšeš do pole '+'
Budeš přistupovat na index, který by mělo písmeno 'A' a z pole si přečteš ten jiný znak:

jiny_znak := pole[Ord('A')];

Pokud to chceš skutečně od A-Z, pak můžeš, ale budeš to používat:

var
  znak: char;
begin
  znak := 'A'
  jiny_znak := pole[Ord(znak)-Ord('A')];
end;

V podstatě na to nepotřebuješ ani pole, stačí obyčejný řetězec, na který je možné přistupovat podle indexu:

var
  s, klic, vysledek: string;
  i: Integer;
begin
  klic := '+/§í8,;´=%87654323#$%^&**();¤\][/><...';  // tohle je místo znaků klic := 'ABCDEF...'
  s := 'TOHLE CHCI ZASIFROVAT';
  vysledek := '';
  for i := 1 to Length(s) do
    vysledek := Vysledek + klic(ord(s[i])-ord('A'));
  ShowMessage(vysledek);
end;

Zpět do poradny Odpovědět na původní otázku Nahoru