Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Паскаль. Обработка натурального числа (http://www.tehnari.ru/f41/t53839/)

YULIANA 28.06.2011 10:04

Паскаль. Обработка натурального числа
 
Здравствуйте помогите пожалуйста с задачами, решить через Паскаль,очень надо! 1.Дано натуральное число n. Составить программу, которая подсчитывает сумму цифр данного числа, стоящих на чётных местах.
2.Дано натуральное число n. Составить программу, которая подсчитывает сумму цифр данного числа, стоящих на нечётных местах.
3.Дано натуральное число n.Подсчитать произведение цифр, стоящих на нечётных местах.
4.Дано натуральное число n.Подсчитать произведение цифр, стоящих на чётных местах.
5.Дано натуральное число n.Подсчитать количество чётных цифр в данном числе.
6.Дано натуральное число n.Подсчитать количество нечётных цифр в данном числе.
7.Дано натуральное число n. Заменить все нечётные цифры этого числа нулями.
8.Дано натуральное число n. Поменять местами цифры этого числа, стоящие на чётных и нечётных местах.

Замечание:
YULIANA, у нас не принято цепляться к чужим темам! Создавайте свои. На первый раз я это сделал за Вас.
Модератор

Vladimir_S 28.06.2011 12:08

Пожалуйста:
Код:

VAR
 i,Code:Integer;
 N,N_odd,N_even,Dm:Byte;
 Sum_even,Sum_odd,
 P_even,P_odd:LongInt;
 S:String;
 D,D1:Array[1..255] of Byte;
BEGIN
 Writeln('n (up to 255 figures):');
 Readln(S);
 N:=Length(S);
 For i:=1 to N do
  VAL(S[i],D[i],Code);
 Sum_even:=0;
 Sum_odd:=0;
 P_even:=1;
 P_odd:=1;
 N_even:=0;
 N_odd:=0;
 For i:=1 to N do
  If (i mod 2) = 0 then
  begin
    Sum_even:=Sum_even+D[i];
    P_even:=P_even*D[i];
  end
  else
  begin
    Sum_odd:=Sum_odd+D[i];
    P_odd:=P_odd*D[i];
  end;
 For i:=1 to N do
  If (D[i] mod 2) = 0 then
    N_even:=N_even+1
  else
    N_odd:=N_odd+1;
 Writeln;
 Writeln('Task N1:  Sum of digits on even position is ',Sum_even);
 Writeln;
 Writeln('Task N2:  Sum of digits on odd position is ',Sum_odd);
 Writeln;
 Writeln('Task N3:  Product of digits on odd position is ',P_odd);
 Writeln;
 Writeln('Task N4:  Product of digits on even position is ',P_even);
 Writeln;
 Writeln('Task N5:  Number of even digits is ',N_even);
 Writeln;
 Writeln('Task N6:  Sum of odd digits is ',N_odd);
 Writeln;
 Write('Task N7:  ');
 For i:=1 to N do
  begin
  D1[i]:=D[i];
  If (D[i] mod 2) = 0 then D1[i]:=0;
  Write(D1[i]);
  end;
 Writeln;
 Writeln;
 Write('Task N8:  ');
 For i:=1 to (N div 2) do
  begin
  Dm:=D[2*i-1];
  D[2*i-1]:=D[2*i];
  D[2*i]:=Dm;
  end;
 For i:=1 to N do
  Write(D[i]);
 Readln
END.



Часовой пояс GMT +4, время: 03:45.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.