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?]={'+','/',.........................};
char jmeno_pole[delka_pole] = {'znak1','znak2', ...};
dik toto si na google viem najst aj ja, ale pytal som sa uplne nieco ine.
nechcem, aby na 1. mieste bol znak1, na 2. mieste znak2..atd
chcem, aby na 'A' mieste bol znak1, na 'B' mieste znak2..atd
Pak teda
pole['A'] = znak1;
pole['B'] = znak2;
Místo 'A' můžeš dosadit ordinální hodnotu, což je 65, za 'B' 66 apod. Pokud to tam chceš naskládat nějak automaticky, napiš si cyklus.
hm.. to nie je dost vyhodne :(( kua, mne stale pride, ze pascal je lepsi
ok, diky za cas
Pri prístupe k poľu musíš upraviť index (pole[index_z_pascalu - 'A']).
Zrovna toto by som nepovažoval za argument v prospech Pascalu voči jazyku C.
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:
V podstatě na to nepotřebuješ ani pole, stačí obyčejný řetězec, na který je možné přistupovat podle indexu: