Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program LAB12;
- {$APPTYPE CONSOLE}
- uses
- Windows,
- SysUtils;
- var
- Number, i, PlusOrMinus, Sum, EvenOrOdd : Integer;
- IsCorrect : Boolean;
- begin
- SetConsoleCP(1251);
- SetConsoleOutPutCP(1251);
- Writeln('Çäðàâñòâóéòå, äàííàÿ ïðîãðàììà ñ÷èòàåò çíàêîïåðåìåííóþ ñóììó öèôð çàäàííîãî âàìè ÷èñëà');
- IsCorrect := False;
- repeat
- Writeln('Ââåäèòå ÷èñëî (äàííîå ÷èñëî äîëæíî áûòü íàòóðàëüíûì è äîëæíî áûòü íå áîëüøå 2147483647): ');
- try
- Readln(Number);
- IsCorrect := True;
- except
- on E: EInOutError do
- Writeln('Âû ââåëè íåâîçìîæíîå ÷èñëî! Ïîæàëóéñòà ââåäèòå ââåðíîå ÍÀÒÓÐÀËÜÍÎÅ ÷èñëî');
- end;
- until IsCorrect;
- EvenOrOdd := length(IntToStr(Number)) mod 2;
- Sum := 0;
- if EvenOrOdd = 0 then
- begin
- PlusOrMinus := -1;
- for i := 1 to Length(IntToStr(Number)) do
- begin
- Sum := Sum + PlusOrMinus * ((Number mod 10));
- Number := Number div 10;
- PlusOrMinus := PlusOrMinus * (-1)
- end;
- end
- else
- begin
- PlusOrMinus := 1;
- for i := 1 to Length(IntToStr(Number)) do
- begin
- Sum := Sum + PlusOrMinus * ((Number mod 10));
- Number := Number div 10;
- PlusOrMinus := PlusOrMinus * (-1)
- end;
- end;
- Writeln('Çíàêîïåðåìåííàÿ ñóììà öèôð çàäàííîãî âàìè ÷èñëà ðàâíÿåòñÿ ', IntToStr(Sum));
- Readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement