Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2009, 22:52   #1
Roll1n
Пользователь
 
Регистрация: 04.01.2009
Сообщений: 30
По умолчанию Паскаль

Дан массив целых положительных чилел.
Нужно вычислить сумму произведений цифр каждого элемента массива
(с помощью див и мод)
Вот мой набросок,но что-то в нем не правильно,т.к. при вводе любого массива сумма произведений равняется 1.
Код:
program zxc;
uses CRT;
var
a:array[1..100] of integer;
s,z,p,i,n,d:integer;
begin
  clrscr;
  write('длина массива');
  readln(n);
  write('введите ',n,'  элемента массива >0 ');
  for i:=1 to n do
  read(a[i]);
  writeln('массив a:');
  for i:=1 to n do
  write(a[i]:5);
  p:=1;
  for i:=1 to n do
   begin
     z:=a[i];
     s:=0;
     d:=0;
      while z>=1 do
       begin
	d:=z mod 10;
	z:=z div 10;
	s:=s*d;
       end;
     p:=s+p;
   end;
  writeln;
  writeln('сумма произведений цифр =',p);
end.
Roll1n вне форума Ответить с цитированием
Старый 24.11.2009, 22:55   #2
Chudo4258
Форумчанин
 
Аватар для Chudo4258
 
Регистрация: 19.02.2009
Сообщений: 622
По умолчанию

Код:
program zxc;
uses CRT;
var
a:array[1..100] of integer;
s,z,p,i,n,d:integer;
begin
  clrscr;
  write('длина массива');
  readln(n);
  write('введите ',n,'  элемента массива >0 ');
  for i:=1 to n do
  read(a[i]);
  writeln('массив a:');
  for i:=1 to n do
  write(a[i]:5);
  p:=0;
  for i:=1 to n do
   begin
     z:=a[i];
     s:=1;
      while z<>0 do//хотя этоот способ тоже не получится для чисел оканчивающихся 0 (100), тогда произведение должно быть = 0, а в этом случае будет 1.
       begin
	d:=z mod 10;
	z:=z div 10;
	s:=s*d;
       end;
     p:=s+p;
   end;
  writeln;
  writeln('сумма произведений цифр =',p);
end.
Жми на весы!!!

Последний раз редактировалось Chudo4258; 24.11.2009 в 23:01.
Chudo4258 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль, Борланд Паскаль-в чем разница??? Vremya-Dengy Паскаль, Turbo Pascal, PascalABC.NET 13 31.05.2011 18:23
Паскаль Naruto63 Помощь студентам 4 17.09.2009 22:01
Паскаль Alfis Паскаль, Turbo Pascal, PascalABC.NET 2 07.12.2008 15:28