нужно написать прогу, которая будет генерировать числа от 1 до 1000 до тех пор, пока не попадется число 256. все генерируемые числа должны выводится на экран.
накатал вот это:
program random_number;
var a:integer;
begin
randomize;
a:=random(1000);
write(a);
readln;
end.
что там нужно добавить? пытался вставить условие, но не смог, т.к. хз что после else написать нужно.
6 марта 2010 в 19:02
#12, я писал тот код, думая, что не надо выводить число 256.
А за инфу спасибо.
6 марта 2010 в 12:01
#4, а не лучше ли использовать repeat until?
var a: integer;
begin
randomize;
repeat
a:=random(1000)+1;
writeln(a);
until a=256;
end.
кстати random(1001) будет выдавать числа от 0 до 1000
#5, нужен вывод случайных чисел до тех пор, пока не попадётся 265
5 марта 2010 в 16:01
#8while true – уахаха ))) слом мозга
#9 крут)
5 марта 2010 в 16:01
#10 я не вникал в код #8, но ясно видно, что там есть break.. пусть даже это не образец хорошего кода
5 марта 2010 в 13:04
var a, i, m : integer;
begin
a:=0; m:=1;
while a<>2 do
begin
Read(i);
m:=m*i;
if i<0 then inc(a);
end;
Writeln(m); {это если надо учитывать второе отрицательное число, а если нет, то Writeln(m div i)}
end.
5 марта 2010 в 13:03
#7
Попробуй так:
program new1;
var
b: boolean;
p,n: Integer;
begin
b:=false;
p:=1;
writeln('Vvodite chisla');
while true do
begin
readln(n);
p:=p*n;
if n<0 then
if not b then
b:=true
else
break;
end;
writeln('Proizvedenie= ',p);
readln;
end.
Код верен, если нужно учитывать второе отрицательное число
5 марта 2010 в 13:00
Помогите пожалуйста
Задача: Последовательно вводятся числа, найти их произведение. Ввод остановить после ввода второго отрицательного значения.
Моё решение:
Program aaa;
Var
s,s2,i,n:Integer;
a:array [1..1000] of Integer;
Begin
s2:=1;
s:=0;
i:=1;
n:=0;
Writeln('Vvtdite 4isla');
While s<2 do
Begin
Read(a[i]);
i:=i+1;
If abs(a[i]) <> a[i] then s:=s+1;
n:=n+1
End;
For i:=1 to n do
s2:=s2*a[i];
Writeln(s2);
End.
Не пашет!!!!
4 марта 2010 в 13:01
Ошибся немного в коде, уже исправил.
#5
А черт его знает.
4 марта 2010 в 13:00
#4
=) а надо разве не это? не вывод 256 ? нужный результат достигается в любом случае… и рипит с антилом и вайл без ничего
4 марта 2010 в 12:04
Спасибо)) получилось.
4 марта 2010 в 12:04
#2
Лучше использовать цикл с предусловием, то бишь while цикл. Твой вариант решения сперва выведет число 256, а затем выйдет из цикла.
procedure myrandom;
var a:integer;
a:=random(1001);
while a<>256 do
begin
Writeln(a);
a:=random(1001);
end;
end;
Процедуру "randomize;" вызывать после begin'a(зачем нам при каждом вызове нашей процедуры вызывать рандомайз?).
4 марта 2010 в 12:02
1. а кто сказал что элсе обязательная штука
2. а цикла хде?
3. еррор 404 наверняка все знает и просто смеется над готовыми оказать посильную помощь
повторять
a:=рандом
врайт а
пока a=256