Getmantsev417
?>

Придумайте и опишите свой вариант командной игры по теме: «Роль алгоритмов в повседневной жизни». В описании необходимо указать: название игры, необходимое оборудование, подробное описание правил игры. *

Информатика

Ответы

zerckaln
Const PTR = 10;
type razbivka = array[0..PTR] of byte;
var n, i, z, k: byte;
x: razbivka;
procedure p(var x: razbivka; var z: byte);
var i, j, s: byte;
begin
i := z - 1;
s := x[z];
while (i > 1) and ( x[i - 1] <= x[i] ) do
begin
s := s + x[i];
dec(i);
end;
inc( x[i] );
z := i + s - 1;
for j := i + 1 to z do
x[j] := 1;
end;
begin
write('Введите число: ');
readln(n);
write(n,' = ');
z := n;
for i := 1 to z do
x[i] := 1;
for i := 1 to n do begin
if i > 1 then write(' + ');
write( x[i], '' );
end;
writeln;
repeat
p( x, z );
inc(k);
write( n,' = ' );
for i := 1 to z do begin
if i > 1 then write(' + ');
write( x[i], '' );
end;
writeln;
until z = 1;
end.

p.s: нашел в интернете для вас вариант с рекурсией. Сами можете убедиться, что с ней только хуже (по быстродействию уж точно)

const  m = 100;
var  a: array[1..m] of integer;
k, n: integer;
procedure p(j,n: integer);
var  i: integer;
begin if ( n = 0 ) and ( k > 1 ) then
begin  for i := 1 to k do
write( a[i] : 4 );
writeln;
end else for i := j to n do
begin
Inc(k);
a[k] := i;
p( j, n - i );
Dec(k);
end;
end;
begin
write('Введите число: ');
readln(n);
k := 0;
p(1,n);
end.

значения PTR и m можно поставить и больше, но тогда я не ручаюсь)
Yanusik24

using namespace std;

#include <algorithm>

#include <iostream>

#include <vector>

#include <ctime>

int main() {

vector<int> arr;

srand(time(0));

int N = 10;

int min = 9999999, minIndex;

int average = 0;

for(int i = 1; i<=N; ++i) {

 arr.push_back(rand());

 cout << arr[i-1] << " ";

 if(arr[i-1]<min) {

  min = arr[i-1];

  minIndex = i-1;

 }

 average+=arr[i-1];

}

cout << endl << "Min: " << min << endl << "Average: " << average/N << endl;

swap(arr[minIndex], arr[arr.size()-1]);

for(int i = 1; i<=N; ++i) {

 cout << arr[i-1] << " ";

}

cout << endl << " > average: ";

for(int i = 1; i<=N; ++i) {

 if(arr[i-1]>average/N) {

  cout << arr[i-1] << " ";

 }

}

}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Придумайте и опишите свой вариант командной игры по теме: «Роль алгоритмов в повседневной жизни». В описании необходимо указать: название игры, необходимое оборудование, подробное описание правил игры. *
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

ИП-Сысоев1628
Lugovoi
Александровна
Маринина_Елена
Марина1101
Бражинскене_Алексей
rusplatok
Гарик383
Ионов202
Lapushkina
mlf26
mariashapar
Бегун-Марина
федороа
yanermarina87