Cоставить компьютерную программу на C++ с указанными входными данными и результатами для такой задачи: Есть колода из 52 карт. Сколькими можно вытащить 5 карт так, чтобы среди них были дамы, но не более 3 (порядок карт не имеет значения)?
1) const n=100; var a:array[1..n] of integer; i,k:integer; begin Randomize; writeln('Массив A:'); for i:=1 to n do begin a[i]:=random(471)-400; write(a[i]:5); end; writeln; write('k = '); readln(k); for i:=1 to n do if a[i]>k then a[i]:=k; writeln('Измененный массив:'); for i:=1 to n do write(a[i]:5); writeln; end.
Пример (для n=10): Массив A: -294 -223 -187 51 -79 -288 -367 38 21 -25 k = Измененный массив: -294 -223 -187 5 -79 -288 -367 5 5 -25
2) const n=50; var a:array[1..n] of integer; i,k:integer; begin Randomize; writeln('Массив A:'); for i:=1 to n do begin a[i]:=random(111)-100; write(a[i]:5); end; writeln; k:=0; for i:=1 to n do if a[i]>0 then k:=k+1; writeln('k = ',k); end.
Пример (для n=10): Массив A: -92 -93 -84 -77 -9 -3 8 -68 -25 -89 k = 1
// PascalABC.NET 3.2, сборка 1437 от 03.05.2017 // Внимание! Если программа не работает, обновите версию!
begin var t:=ReadlnString(':').MatchValue('\(.*\)'); Writeln(t[2:t.Length]) end.
Пример : Напечатаем только то (что в скобках) и не более! что в скобках
Пояснения. 1) Принимаем с клавиатуры текстовую строку, выделяем в ней пару круглых скобок вместе с содержимым и помещаем полученную подстроку в t. В соответствии с условием считаем без проверки, что такая пара скобок есть всегда. 2) Выделяем из содержимого t символы со второго по предпоследний (т.е. скобки не включаем) и выводим результат на экран.
const n=100;
var a:array[1..n] of integer;
i,k:integer;
begin
Randomize;
writeln('Массив A:');
for i:=1 to n do
begin
a[i]:=random(471)-400;
write(a[i]:5);
end;
writeln;
write('k = ');
readln(k);
for i:=1 to n do
if a[i]>k then a[i]:=k;
writeln('Измененный массив:');
for i:=1 to n do write(a[i]:5);
writeln;
end.
Пример (для n=10):
Массив A:
-294 -223 -187 51 -79 -288 -367 38 21 -25
k = Измененный массив:
-294 -223 -187 5 -79 -288 -367 5 5 -25
2)
const n=50;
var a:array[1..n] of integer;
i,k:integer;
begin
Randomize;
writeln('Массив A:');
for i:=1 to n do
begin
a[i]:=random(111)-100;
write(a[i]:5);
end;
writeln;
k:=0;
for i:=1 to n do
if a[i]>0 then k:=k+1;
writeln('k = ',k);
end.
Пример (для n=10):
Массив A:
-92 -93 -84 -77 -9 -3 8 -68 -25 -89
k = 1
// Внимание! Если программа не работает, обновите версию!
begin
var t:=ReadlnString(':').MatchValue('\(.*\)');
Writeln(t[2:t.Length])
end.
Пример
: Напечатаем только то (что в скобках) и не более!
что в скобках
Пояснения.
1) Принимаем с клавиатуры текстовую строку, выделяем в ней пару круглых скобок вместе с содержимым и помещаем полученную подстроку в t. В соответствии с условием считаем без проверки, что такая пара скобок есть всегда.
2) Выделяем из содержимого t символы со второго по предпоследний (т.е. скобки не включаем) и выводим результат на экран.