Адриана111111111
03.06.2023 00:23

“. Створіть проект для обчислення середнього арифметичного додат- них чисел серед чисел, перше з яких дорівнює 100, а кожне наступ-
не менше від попереднього на задане додатне число. Збережіть про-
ект у папці з іменем Завдання 6.7.7, створеній у вашій папці.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Зайчутка
23.03.2021 19:11

q1 - указатель. В начале программы указывает на второй элемент последовательности

Программа говорит, что если указатель q1 указывает на единицу, то надо ее исправить на единицу и сместиться вправо... т.е. указатель будет двигаться вправо до тех пор, пока не встретит ноль.

Таким образом в конце выполнения первого правила указатель q1 сместится в конец последовательности (до нуля)

Далее, если указатель q1 показывает на ноль, то меняем ноль на единицу, меняем указатель q1 на q2 и сдвигаемся влево.

После выполнения второго правила получаем последовательность 0111111 и указатель q2 на предпоследнюю единицу.

Третьим правилом q2 - сдвигается влево до достижения нуля

После его выполнения получаем последовательность 0111111 и указатель q2 на первый ноль

Четвертое правило заменяет указатель q2 на q0 и сдвигается вправо

Таким образом получаем в конце программы последовательность 0111111  и  указатель q0 на первую единицу.

Объяснение:

0,0(0 оценок)
Ответ:
Kirill1233341
19.04.2021 01:38
/// Находит минимальный и максимальный элементы, кратные двум
procedure FindElem(a: array [,] of integer; var min, max: integer);
begin
min := integer.MaxValue;
max := integer.MinValue;
for var i := 0 to a.GetLength(0) - 1 do
for var j := 0 to a.GetLength(1) - 1 do
if a[i, j] mod 2 = 0 then
begin
if a[i, j] > max then
max := a[i, j];
if a[i, j] < min then
min := a[i, j];
end;
end;
///Создает массив 10 на 10 целых чисел из рандома от 0 до 10
function MakeArray: array [,] of integer;
begin
SetLength(result, 10, 10);
for var i := 0 to result.GetLength(0) - 1 do
for var j := 0 to result.GetLength(1) - 1 do
result[i,j] := Random(0, 10);
end;
///Распечатывает массив
procedure PrintArray(a: array [,] of integer);
begin
for var i := 0 to a.GetLength(0) - 1 do
begin
for var j := 0 to a.GetLength(1) - 1 do
Print(a[i,j]);
writeln;
end;
end;

begin
var c := MakeArray;
var min, max: integer;
PrintArray(c);
FindElem(c, min, max);
Writeln('min = ', min);
Writeln('max = ', max);
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота