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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2012, 22:37   #1
kostyon
Новичок
Джуниор
 
Регистрация: 11.12.2012
Сообщений: 3
По умолчанию не могу написать цикл

написал програму для вичисления суммы 5 рандомных чисел, но как ее сделать в цыкле.Для рандома цыкл я еще могу написать, но для суммы никак не получаеться
Код:
program p;
var
a,b,c,d,e,z,x,v,n,m,i,s:integer;
begin
randomize;
for i:= 1 to 1 do
begin
a:=random(100);
writeln(a);
end;
for i:= 1 to 1 do
begin
b:=random(100);
writeln(b);
end;
for i:= 1 to 1 do
begin
c:=random(100);
writeln(c);
end;
for i:= 1 to 1 do
begin
d:=random(100);
writeln(d);
end;
for i:= 1 to 1 do
begin
e:=random(100);
writeln(e);
end;
z:=a;
z:=0;
while ( a<>0 ) do 
begin
z := z + (a mod 10);
a := a div 10;
end;
x:=b;
x:=0;
while ( b<>0 ) do 
begin
x := x + (b mod 10);
b := b div 10;
end;
v:=c;
v:=0;
while ( c<>0 ) do 
begin
v := v + (c mod 10);
c := c div 10;
end;
n:=d;
n:=0;
while ( d<>0 ) do 
begin
n := n + (d mod 10);
d := d div 10;
end;
m:=e;
m:=0;
while ( e<>0 ) do 
begin
m := m + (e mod 10);
e := e div 10;
end;
s:=z+x+v+n+m;
writeln('syma zyfr=',s);
end.

Последний раз редактировалось Stilet; 11.12.2012 в 22:48.
kostyon вне форума Ответить с цитированием
Старый 11.12.2012, 22:53   #2
kostyon
Новичок
Джуниор
 
Регистрация: 11.12.2012
Сообщений: 3
По умолчанию

вот переделал под цикл, но оно считает не суму всех цифр, а по отдельности
Код HTML:
program p;
var
a,i,s:integer;
begin
randomize;
for i:= 1 to 5 do
begin
a:=random(100);
writeln(a);
s:=0;
while ( a<>0 ) do 
begin
s := s + (a mod 10);
a := a div 10;
end;
writeln('syma zyfr=',s);
end;
end.
kostyon вне форума Ответить с цитированием
Старый 11.12.2012, 23:02   #3
sauvage
Пользователь
 
Регистрация: 08.08.2011
Сообщений: 18
По умолчанию

я бы сделал немного по другому:


Код:

program test;
var 
a : array [1..5] of integer;
i, s : integer;
begin
randomize;
s := 0;
for i := 1 to 5 do
begin
  a[i] := random(100);
  s := s +  a[i];
end;
end.

Последний раз редактировалось sauvage; 11.12.2012 в 23:07.
sauvage вне форума Ответить с цитированием
Старый 11.12.2012, 23:19   #4
kostyon
Новичок
Джуниор
 
Регистрация: 11.12.2012
Сообщений: 3
По умолчанию

я уже так сделал
Код:
program p;
var
i,a,s,b:integer;
begin
randomize;
for i:= 1 to 5 do
begin
a:=random(100);
writeln(a);
s:=0;
while ( a<>0 ) do 
begin
b := b + (a mod 10);
a := a div 10;
end;
end;
s:=a+b;
writeln('syma zyfr=',s);
end.
большое спасибо!
kostyon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу написать написать прогу в Borland C++ Olga_92 Помощь студентам 6 12.11.2012 23:16
Не могу сделать цикл Verax1 Помощь студентам 1 19.04.2012 23:13
не могу разобраться как правильно оформить цикл NICmito Общие вопросы C/C++ 6 17.12.2009 18:01
Не могу организовать цикл удаления файлов dolphin705 Общие вопросы Delphi 5 08.05.2009 13:39
Не могу написать цикл ((( DM_bite Общие вопросы Delphi 10 30.07.2008 21:57