karnakova-a
?>

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

Информатика

Ответы

Gaziev1636

Так как целевой ЯП не указан, приведу пример на 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
Александр1991

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

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

di-bobkov1985
Отсортируйте массив по не возрастанию (вместе с индексами) и подсчитайте сумму  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

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

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

Популярные вопросы в разделе

keti0290103
АнжелаВасильевич
Smirnovav1982422
Babushkina27
diana-kampoteks
Aivazyan
Korobeinikov-Yulich23
metegina4
okunevo2010
el-dent12
PetrovnaTsukanov
sorokinae
svetasvetlana429
Михайлович1309
korolev-comitet8825