Есть ответ 👍

Дан целочисленный массив из n элементов. Элементы массива могут принимать целые значения от 1 до 10000 включительно. Напишите программу, позволяющую найти и вывести минимальный элементов массива, шестнадцатеричная запись которого содержит ровно две цифры, причём первая (старшая) цифра больше второй (младшей). Если таких чисел нет, нужно вывести ответ 0.

297
374
Посмотреть ответы 2

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


Так как целевой ЯП не указан, приведу пример на Haskell.

Точка входа - функция main.

Main.hsmodule Main whereimport ArrsMinmain :: IO ()main = dialogArrsMin.hsmodule ArrsMin whereimport System.IO(hFlush, stdout)import Data.Char(isDigit)import Data.Maybe(isJust)import Control.Applicativeimport Numeric(showHex)import MyParserLibparserInt :: Parser IntparserInt = Parser (\s -> let res = unParser (some digitParser) s in case res of        [] -> []        ((i, rest) : _) -> [(read i :: Int, rest)]    ) where        digitParser = predP isDigitparserIntSequence :: Parser [Int]parserIntSequence = Parser (\s -> let res = unParser (some elementParser) s in case res of        [] -> []        ((i, rest) : _) -> [(i, rest)]    ) where        elementParser = (<*) parserInt $ many $ charP ' 'intToHex :: Int -> StringintToHex = flip showHex ""isItCorrect :: String -> BoolisItCorrect s | (length s == 2) && (head s > s !! 1) = True              | otherwise                            = FalsetakeOnlyCorrect :: Maybe [Int] -> Maybe [Int]takeOnlyCorrect = fmap $ filter (isItCorrect . intToHex)minimum' :: (Ord a) => Maybe [a] -> Maybe aminimum' Nothing = Nothingminimum' (Just []) = Nothingminimum' (Just a) = Just (minimum a)unJust :: Maybe a -> IO aunJust (Just a) = return aunJust Nothing = fail "You can't unjust Nothing"dialog :: IO ()dialog = do    putStr "Put your int sequence: "    hFlush stdout    stupidUserInput <- getLine    let sequen = parseString stupidUserInput parserIntSequence    let answer = minimum' $ takeOnlyCorrect sequen    if isJust answer        then do            number <- unJust answer            print number        else            putStrLn "0"MyParserLibmodule MyParserLib whereimport Data.Listimport Control.Applicativetype DataText = Stringtype RestText = Stringtype PResults parsedType = [(parsedType, RestText)]newtype Parser parsedType = Parser {unParser :: DataText -> PResults parsedType}instance Functor Parser where  fmap f (Parser p1) = Parser p2    where      p2 s = convert (p1 s)      convert  = map (\(val, s) -> (f val, s))instance Applicative Parser where    pure x = Parser (\str -> [(x, str)])    pf <*> px = Parser (\str -> [(f x, sx) | (f, sf) <- unParser pf str,                                             (x, sx) <- unParser px sf])instance Alternative Parser where    empty = Parser (const [])    px <|> py = Parser (\s -> unParser px s ++ unParser py s)parseString :: String -> Parser a -> Maybe aparseString str (Parser p) = case p str of    [(val, "")] -> Just val    _           -> NothingpredP :: (Char -> Bool) -> Parser CharpredP p = Parser f    where        f "" = []        f (c:cs) | p c = [(c, cs)]                 | otherwise = []charP :: Char -> Parser CharcharP ch = predP (\c -> c == ch)stringP :: String -> Parser StringstringP str = Parser    f    where        f str' | str == str' = [("", str)]               | otherwise = [] skip :: (Char -> Bool) -> Parser ()skip p = Parser (\str -> [((), dropWhile p str)])prefixP :: String -> Parser StringprefixP token = Parser f    where        f str | token `isPrefixOf` str = [(drop (length token) str, token)]              | otherwise = []skipString :: String -> Parser ()skipString token = () <$ prefixP token
Дан целочисленный массив из n элементов. Элементы массива могут принимать целые значения от 1 до 100
Дан целочисленный массив из n элементов. Элементы массива могут принимать целые значения от 1 до 100
Дан целочисленный массив из n элементов. Элементы массива могут принимать целые значения от 1 до 100

program gwr;

var

 i,n : integer;

 begin

   i := 1;

 writeln('Введите N');

 read(n);

 repeat

   writeln(i);

   i := i  +1;  

 until i > n  

 end.

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS