Показать сообщение отдельно
Старый 28.06.2011, 12:08   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Пожалуйста:
Код:
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.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070