writeln('Попробуйте угадать число от -50 до 50 за 10 попыток');
writeln;
k:=1;
repeat
write('Попытка ',k,'. Введи число: ');
readln(a);
if a>b then writeln('Загаданное число меньше!')
else if a<b then writeln('Загаданное число больше!')
else if a=b then
begin
writeln;
writeln('Вам удалось!');
k:=13;
end;
k:=k+1
until k>10;
if k=11 then
begin
writeln;
writeln('Попробуйте еще раз.')
end
end.
Объяснение:
Загадываем число (random)
Цикл с пост условием, k - счётчик попыток.
Условный оператор для корректировки угадывания.
Если все попытки исчерпаны, вывод предложения попробовать ещё раз.
Naumenkova-Ivanov
17.10.2021
Var v:array [0..100000] of integer; a:array [0..100,0..100000] of integer; m,p,k,w:integer; procedure step(z,ma:integer);beginif z>0 then if a[z,ma]<>a[z-1,ma] then if a[z-1,ma]<a[z-1,ma-v[z]]+v[z] then begin step(z-1,ma-v[z]); write(v[z],' '); end else step(z-1,ma) else step(z-1,ma); end;
beginread(k);for p:=1 to k do begin read(v[p]); end;read(w);for p:=1 to k do begin for m:=1 to w do begin if m-v[p]>=0 then a[p,m]:=(max(a[p-1,m-v[p]]+v[p],a[p-1,m])) else a[p,m]:=a[p-1,m]; end; end;if a[k,w]=w then step(k,w) else writeln('No solution');end.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Чему равны элементы массива после выполнения фрагмента программы
program ugadai;
var a,b,k:integer;
begin
b:=random(101)-50;
writeln('Попробуйте угадать число от -50 до 50 за 10 попыток');
writeln;
k:=1;
repeat
write('Попытка ',k,'. Введи число: ');
readln(a);
if a>b then writeln('Загаданное число меньше!')
else if a<b then writeln('Загаданное число больше!')
else if a=b then
begin
writeln;
writeln('Вам удалось!');
k:=13;
end;
k:=k+1
until k>10;
if k=11 then
begin
writeln;
writeln('Попробуйте еще раз.')
end
end.
Объяснение:
Загадываем число (random)
Цикл с пост условием, k - счётчик попыток.
Условный оператор для корректировки угадывания.
Если все попытки исчерпаны, вывод предложения попробовать ещё раз.