Witam serdecznie
Chcialem prosic o pomoc w uzupelnieniu programu. Ma on sprawdzac poprawnosc podanego nr PESEL, a potem jesli jest ok uzytkownik podaje liczbe ile ma wyciac z lancucha numeru PESEL i podzielic go... np. 83092116750, uzytkownik podal 5 wiec na ekranie :
83092
11675
0
Czesc zadania tzn. sprawdzenie poprawnosci wpisanego numeru PESEL zrobilem, od dwoch dni siedze nad sposobem wypisania drugiej czesci i poddalem sie, nie mam bladego pojecia jak to ort!, z gory dzieki za pomoc.
P.S.
oto ten program.
program PESIO;
// Program sprawdza poprawnosc wprowadzonego numeru PESEL
{$APPTYPE CONSOLE}
uses
SysUtils;
var // zmienne globalne
ZmPesel: string;
ZmIle, ZmZwrot, ZmWynikDod: integer;
function FnPrzeliczanie(a: string):integer; //--------- I --- funkcja sprawdzajaca poprawnosc numer PESEL
var
ZmNrP, i, ZmRezultat: integer;
const
StWaga : array[1..10] of integer=(1, 3, 7, 9, 1, 3, 7, 9, 1, 3);
BEGIN
ZmWynikDod := 0;
for i:=1 to 11 do
Begin
ZmNrP := StrToInt(ZmPesel[i]);
ZmRezultat:= ZmNrP * StWaga[i];
ZmWynikDod:= ZmWynikDod + ZmRezultat;
End;
If ZmZwrot <> StrToInt(ZmPesel[11]) Then
writeln('Blad nr 2 - podales niepoprawny numer PESEL')
else
writeln('ok');
result:= ZmWynikDod;
End;
var
i, a, b:integer;
j: string;
BEGIN
writeln('Podaj numer PESEL: ');
read(ZmPesel);
if not (length(ZmPesel)=11) Then // I warunek
writeln('Blad nr 1 - niepoprawna dlugosc numeru PESEL')
else
ZmZwrot:= FnPrzeliczanie(ZmPesel); //wywołanie funkcji
writeln('Podaj ile znakow wyciac z lancucha numeru PESEL');
read(ZmIle);
a:=1;
b:=11;
j:=' ';
Begin
for i:=StrToInt(ZmPesel[i])+ZmIle to 11 do
Begin
j:=j+ZmPesel[i];
write(j);
end;
End;
readln;
END.