Ксения61831378
06.05.2023 21:32

От прямоугольника отрезали квадрат наибольшей возможной площади. от того, что осталось (это тоже был прямоугольник) опять отрезали квадрат наибольшей возможной площади, потом опять - и так n раз. в итоге получился прямоугольник размером а на в. разработайте программу, выводящую на экран все возможные размеры исходного прямоугольника. нужно сделать с рекурсии на бейсике

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Znanija1821
27.05.2020 05:35

1)

const N = 10;

var A: array [1..N, 1..N] of integer;

i, j, maxMain, maxSecond: integer;

begin

       writeln('A: ');

       for i:= 1 to N do

       begin

               for j:= 1 to N do

               begin

                       A[i, j]:= random(-30, 30);

                       write(A[i, j]:4);

               end;

               writeln();

       end;

   

       for i:=1 to N do

       begin

               for j:= 1 to N do

               begin

                       if (i = j) and (maxMain < A[i, j]) then

                               maxMain := A[i, j];

                       if (i + j = N + 1) and (maxSecond < A[i, j]) then

                               maxSecond := A[i, j];

               end;

       end;

       writeln('Макс. на глав. диагонали: ' + maxMain);

       writeln('Макс. на побочной. диагонали: ' + maxSecond);

end.

2)

const N = 10;

var A: array [1..N] of real;

B, C: array of real;

i: integer;

begin

       write('A: ');

       for i:= 1 to N do

       begin

               A[i]:=random(-10, 10);

               write(A[i] + ' ');

       end;

       writeln();

   

       for i:=1 to N do

       begin

               if (a[i] > 0) then

               begin

                       SetLength(B, Length(B) + 1);

                       B[High(B)]:=a[i];

               end;

               if (a[i] < 0) then

               begin

                       SetLength(C, Length(C) + 1);

                       C[High(C)]:=a[i];

               end;

       end;

   

       write('B: ');

       for i:= 0 to Length(B) - 1 do

               write(B[i] + ' ');

       writeln();

   

       write('C: ');

       for i:= 0 to Length(C) - 1 do

               write(C[i] + ' ');

       writeln();

end.

0,0(0 оценок)
Ответ:
coolvikusa46
11.01.2021 00:33

Код Pascal

const

 nmax = 100;

var

 a: array[1..nmax] of integer;

 i: byte;

 n, m, s: integer;

begin

 Writeln('Введите длину массива: ');

 Read(n);

 Writeln('Введите значения элементов массива');

 for i := 1 to n do

 begin

   write('a[', i, ']=');

   read(a[i]);

   if a[i] = 4 then s += a[i];

 end;

 if s > 0 then Writeln('Сумма элементов: ', s)

 else Writeln('Нет числа 4');

end.

Тестовое Решение

Введите длину массива:  

4

Введите значения элементов массива

a[1]=5

a[2]=3

a[3]=4

a[4]=4

Сумма элементов: 8

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота