В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
murrtinez
murrtinez
02.03.2021 05:27 •  Информатика

Дан целочисленный массив из 20 элементов. элементы массива могут принимать целые значения от 0 до 1 включительно. опишите на естественном языке или на одном из языков программирования алгоритм,

позволяющий найти и вывести максимальное значение среди трёхзначных элементов массива, не делящихся на 9. если в исходном массиве нет элемента, значение которого является трёхзначным числом и при этом не кратно 9, то выведите сообщение «не найдено».

исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
n = 20

dim a(n) as integer

dim i, j, max as integer

for i = 1 to n

input a(i)

next i
end
в качестве ответа вам необходимо фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например free pascal 2.4) или в виде блок-схемы. в этом случае вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).

Показать ответ
Ответ:
Мрорпа
Мрорпа
26.03.2022 04:41
Для сред программирования DOS (например, Turbo Pascal) удалите фигурные скобки, для сред Windows (например, PascalABC.Net) строки в фигурных скобках удалите полностью.
{uses Crt;}
const
  n=80;
  digits=['0','1','2','3','4','5','6','7','8','9'];
var
  s:string[80];
  i:integer;
begin
  {ClrScr;}
  Writeln('Введите текст (учитываются только 80 первых символов)');
  Readln(s);
  for i:=1 to n do
    if s[i] in digits then Write(s[i]);
  Writeln;
  for i:=1 to n do
    if not(s[i] in digits) then Write(s[i]);
  Writeln;
  {ReadKey}
end.

Тестовое решение:
Введите текст (учитываются только 80 первых символов)
Обь с притоком Иртыш 5410км, Амур с Аргунью 4440км, Лена 4400км, Енисей 4102км
5410444044004102
Обь с притоком Иртыш км, Амур с Аргунью км, Лена км, Енисей км
0,0(0 оценок)
Ответ:
Wishnewski
Wishnewski
21.01.2022 19:32
// F#
[<EntryPoint>]
let main argv =
    let rec ( ** ) x n =
        match n < 1 with
        | true -> 1
        | false -> x * (x ** (n-1))
    let rec sumDigits x =
        match x with
        | x when x < 10 -> (x, 1)
        | x ->
            let res = x / 10 |> sumDigits
            ((res |> fst) + (x % 10), (res |> snd) + 1)
    let isArmstrong x =
        let digitsInfo = sumDigits x
        x = (fst digitsInfo) ** (snd digitsInfo)
    let a = System.Console.ReadLine() |> System.Int32.Parse
    let b = System.Console.ReadLine() |> System.Int32.Parse
    let result = [a..b] |> List.filter (isArmstrong)
    printf "Result: %A" result
    System.Console.ReadKey true |> ignore
    0
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота