Zmienne nazwałem tak na potrzeby forum, żeby łatwo się czytało o co mi chodzi.
Żeby nam było łatwiej zrozumieć co się w kodzie dzieje, pasowało by pokazać deklarację tych macierzy.
Tej komendy która napisałem w poprzednim poście kompilator mi nie puszcza.
To nie jest opis problemu. Pokaż ten kod w całości i podaj treść błędu – wtedy będzie można coś więcej napisać. A najlepiej to podaj cały testowy program, tak aby można go było przetestować u siebie (i poprawić).
rozumiem ze najpierw muszę zamienić cyfry wg ansi i dopiero z nich czyli podanego przez Ciebie przedziału zrobić char?
Jeżeli w tablicy intów masz liczby od 0
do 9
to aby z nich zrobić znaki cyfr, należy do tych liczb dodać 48
, tak aby uzyskać kody znaków z zakresu od 48
do 57
, a następnie użyć funkcji Chr
do konwersji na znaki. Tak uzyskane znaki typu Char
możesz wpisać do odpowiedniej komórki w tablicy znaków lub w odpowiednie komórki stringa.
Niżej masz testowy program demonstrujący konwersję liczb na cyfry (znaki), zamianę ósemek na spacje i wyświetlenie w konsoli końcowej zawartości tablicy znaków:
Kopiuj
var
IntArray: array [0 .. 9] of Integer = (4, 8, 1, 0, 2, 7, 6, 3, 5, 9);
ChrArray: array [0 .. 9] of Char;
var
Index: Integer;
begin
// przepisanie liczb z tablicy intów do tablicy charów (z konwersją)
for Index := 0 to 9 do
ChrArray[Index] := Chr(IntArray[Index] + 48);
// zamiana znaków '8' na ' '
for Index := 0 to 9 do
if ChrArray[Index] = '8' then
ChrArray[Index] := ' ';
// wyświetlenie finalnej zawartości tablicy charów
for Index := 0 to 9 do
Write(ChrArray[Index]);
ReadLn();
end.
W konsoli wyświetlone zostanie to:
Jak widać zamiast 8
jest spacja, czyli dokładnie to czego oczekujesz.