[Pascal] Jak wziąć dwa ostatnie znaki ze stringa?

0

Mam takie zadanie do zrobienia którego wczytuje potęge liczby o wykładniku do 10^200, dlatego chcę użyć stringa w tym zadanku. Ale do rozwiązania niezbędne mi są tylko 2 ostatnie (1234567890) znaki tego stringa. Jak wziąć w Pascalu te dwa ostatnie znaki i zapisać je jako zmienną o typie byte?

Z góry dzięki za pomoc.

0

copy, pos, length, konwersja

0

Hmmm, nie wiele się dowiedziałem... Za wysoki poziom...

Mógłby mi ktoś krok po kroku wytłumaczyć skonwertowanie 2 ostatnich znaków ze stringa na integer? Bo nie ma takiej zmiennej, której zakres sięgałby 200 znaków?
Pascala ucze się od września ( w szkole ) a zainteresowałem się nim 2 tygodnie temu, więc jestem jeszcze trochę cienki.

0

"To, co musiałeś odkryć samodzielnie, zostawia w twym umyśle ścieżkę, którą w razie potrzeby możesz pójść jeszcze raz." G. Ch. Lichtenberg

Ja Ci dałem drogowskaz. Twój post gryzie się ze stopką. Ale ok, zrobimy to po mojemu. Opisz pokrótce to co się dowiedziałeś o pos, copy, length. Do konwersji przejdziemy później.

0
StrToInt(RightStr(s, 2))
0

Mógłby mi ktoś krok po kroku wytłumaczyć skonwertowanie 2 ostatnich znaków ze stringa na integer?

IMO łopatologicznie było by to tak:

napis : string;
jeden, dwa : integer;

{tutaj jakieś operacje}

jeden := Ord( napis[ length(napis) -1 ] );
dwa   := Ord( napis[ length(napis) ] );

pozdro

0

Ja Ci dałem drogowskaz. Twój post gryzie się ze stopką. Ale ok, zrobimy to po mojemu. Opisz pokrótce to co się dowiedziałeś o pos, copy, length. Do konwersji przejdziemy później.</quote>

Aha! Nie skojarzyłem jakoś tego pos, copy, a length nie było w pierwotnej formie twojego postu. Staram się sam rozwiązać, ale po prostu nie mam o tym zielonego pojęcia i stopniowo krok po kroku kiedyś dojdę.

DZIĘKI DZIĘKI ! Length i copy wystarczyły :D

read(d);
y:=(length(d));
d:=(copy,y-1,2);

Świetne te forum, użytkownicy też :D

0
kibab napisał(a)

StrToInt(RightStr(s, 2))

Pascal i Object Pascal to nie to samo.

ziomek_ napisał(a)

IMO łopatologicznie było by to tak:
napis : string;
jeden, dwa : integer;

{tutaj jakieś operacje}

jeden := Ord( napis[ length(napis) -1 ] );
dwa := Ord( napis[ length(napis) ] );

Zaiste, do du.. [glowa] rozwiązanie. Zrób operację Ord('1') i powiedz mi czy dostaniesz 1 czy 49?

0

Funkcja jest prosta jak budowa cepa. Trzy parametry: string, zwracana wartość, rezultat operacji. Co Ci nie działa? Gdzie? Jakiś kod? Mile widziane informacje, bo nie umiem stawiać tarota.

0

Przepraszam, za szybko piszę, zbyt niecierpliwy jestem. Wszystko działa dzięki wam, musze się po prostu nauczyć cierpliwości i po kolei wszystko wejdzie do głowy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1