Вопрос задан 10.02.2021 в 07:56. Предмет Информатика. Спрашивает Жумабаева Алтынай.

Помогитееееееееееееее!!!!!!!! плиз 50 баллов!! Дан целочисленный массив из 40 элементов. Элементы

массива могут принимать целые значения от 1 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество элементов массива, восьмеричная запись которого содержит ровно две цифры, причём первая (старшая) цифра меньше второй (младшей). const N = 40; var a: array [1..N] of integer; i, j, k: integer; begin for i := 1 to N do readln(a[i]); ... end.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Васильева Дарья.

Всё просто

Алгоритм:

for j := 1 to N do

if (8 <= a[j]) and (a[j] <= 63) and (a[j] div 8 < a[j] mod 8) then k:=k + 1

 

for j := 1 to N  - перебор всех элементов массива

(8 <= a[j]) and (a[j] <= 63) - восьмеричная запись чисел от 8₁₀ до 63₁₀  содержит ровно две цифры 

(a[j] div 8 < a[j] mod 8) - первая (старшая) цифра меньше второй (младшей) при восьмеричная запись чисел от 8₁₀ до 63₁₀

k:=k + 1 - счётчик количества элементов массива соответствующих условиям

 

Программа целиком:

const N=40;

var a: array [1..N] of integer;

i, j, k: longint;

begin

for i:=1 to N do

readln(a[i]);

for j := 1 to N do

if (8 <= a[j]) and (a[j] <= 63) and (a[j] div 8 < a[j] mod 8) then k:=k + 1;

writeln('Количество элементов массива, восьмеричная запись которого содержит ровно две цифры, причем первая (старшая) цифра меньше второй (младшей), равно: ',k);

end.

 

 

 

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Привет! Я могу помочь тебе с задачей нахождения количества элементов массива, восьмеричная запись которых содержит ровно две цифры, при условии, что первая цифра (старшая) меньше второй (младшей). Вот алгоритм на языке программирования Pascal:

pascal
const N = 40; var a: array [1..N] of integer; i, count: integer; function IsTwoDigitOctalNumber(num: integer): boolean; var octalDigits: string; begin octalDigits := Oct(num); // Преобразуем число в восьмеричную запись Result := (Length(octalDigits) = 3) and (octalDigits[2] < octalDigits[3]); // Проверяем, что восьмеричная запись содержит 3 символа и первый символ меньше второго end; begin count := 0; // Инициализируем счетчик for i := 1 to N do begin readln(a[i]); // Считываем элементы массива if IsTwoDigitOctalNumber(a[i]) then count := count + 1; // Увеличиваем счетчик, если условие выполняется end; writeln('Количество элементов с двумя цифрами в восьмеричной записи:', count); end.

Этот алгоритм объявляет функцию IsTwoDigitOctalNumber, которая принимает число и проверяет, является ли его восьмеричная запись двузначным числом, где первая цифра меньше второй. Затем основной код читает 40 элементов массива, вызывает функцию IsTwoDigitOctalNumber для каждого элемента и увеличивает счетчик count, если условие выполняется. Наконец, выводится количество элементов, удовлетворяющих условию.

Надеюсь, это поможет! Если у тебя возникнут дополнительные вопросы, не стесняйся задавать.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос