М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
skeych
skeych
13.04.2020 00:44 •  Информатика

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

👇
Ответ:
Igrilla19990
Igrilla19990
13.04.2020

Так как целевой ЯП не указан, приведу пример на 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
4,4(81 оценок)
Открыть все ответы
Ответ:
yasenchuk02ozo83d
yasenchuk02ozo83d
13.04.2020

Первая задачка.
Набрать кувшин 8 л.
Отлить 3 л во второй.
Вылить из него.
Из оставшихся 5 л в большом опять налить в маленький.
Вылить из него.
Остатки 2 л из большого налить в маленький.
Получится пустой большой и маленьки с 2 л.
Набрать снова полный большой.
Долить в маленький недостающий 1 л до трех.
В большом останется 7 л.

Вторая задачка решается аналогично.
Ставятся песочные часы и на 3 мин и на 8 мин
одновременно. Через 3 мин. маленькие часы
переворачиваются, большие продолжают работать,
таме ще 5 мин. Еще через 3 мин маленькие
переворачиваются, большие продолжают работать,
там еще 2 мин. Через 2 мин большие опустошились
и переорачиваются, а в маленьких еще 1 мин.
Через 1 мин маленькие опустошаются, а в 
больших еще 7 мин. В это время включается варево.
Когда большие часы опустошились мин,
варево выключается.
Элекиср бессмертия готов.

4,8(77 оценок)
Ответ:
adfvdrt
adfvdrt
13.04.2020
Отсортируйте массив по не возрастанию (вместе с индексами) и подсчитайте сумму  s = s+b[i]*(i+1) - индексы от нуля.
Это и будет наименьшее время.

#include <iostream>
#include <cstdlib>
using namespace std;

int main() {
   int n,i,s;
   bool priz=true;
   cin>>n;
   int b[n],c[n];
   for (int i=0; i<n; i++)
   { 
       cin>>b[i];
       c[i]=i+1;
   }  
// сортировка масcива по не возрастанию
   while (priz)
   {
     priz=false;
     for (int i=0; i<n-1; i++)
     {
       if (b[i]<b[i+1])
       {
         swap(b[i],b[i+1]);
         swap(c[i],c[i+1]);              
         priz=true;
       }
     } 
   }
   s=0;
   for (int i=0; i<n; i++)  s+=b[i]*(i+1);
   cout<<s<<endl;
   for (int i=0; i<n; i++)  cout<<c[i]<<" ";
   cout<<endl;
   system("pause");
   return(0);
}

Ввод - вывод:

6
10 21 13 36 41 9
332
5 4 2 3 1 6
4,6(92 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ