Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Найти количество слов в строке

Напишите функцию countWords, вычисляющую количество слов в строке. Слова отделяются друг от друга пробелами. Строка может начинаться и заканчиваться пробелами, а также любые два соседних слова могут быть отделены более чем одним пробелом.

Пример:

       countWords(“  a  ”)        1
       countWords(“ a  bb “)        2

Преобразовать все буквы строки в заглавные

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

Пример:

       upperCase(“hello world”)        HELLO WORLD

Преобразовать все буквы строки в строчные

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

Пример:

       lowerCase(“heLLo WoRLd”)        hello world

Инвертировать регистр букв в строке

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

Пример:

       invertCase(“heLLo WoRLd”)        HEllO wOrlD

НЕ нашли? Не то? Что вы ищете?
Преобразовать первую букву каждого слова в заглавную

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

Пример:

       capitalCase(“heLLo WoRLd”)        Hello World

Сравнить две строки без учета регистра

Напишите функцию, сравнивающую две строки без учета регистра. Функция должна принимать два аргумента (сравниваемые строки) и возвращать -1, если первая строка лексикографически больше второй, 0 если строки равны и 1, если вторая строка лексикографически больше первой.

Примечание:  одна строка считается лексикографически больше другой, если первые символов у обеих строк совпадают (безотносительно регистра), а символ одной строки больше аналогичного символа второй строки, либо же -й символ второй строки отсутствует. Такой порядок сортировки обычно используется в различных словарях.

Пример:

       cmpNoCase(“a”, “A”)        0
       cmpNoCase(“a”, “Ab”)        1
       cmpNoCase(“bB”, “Ba”)        -1

Форматный вывод целого числа

Реализуйте часть работы функции sprintf. Напишите функцию, осуществляющую подстановку целого числа в форматную строку. Форматная строка представляет собой обычную строку, в которой содержится подстановочный шаблон. Подстановочный шаблон позволяет указать, в каком месте строки следует подставить переданное в функцию число.

Подстановочный шаблон выглядит следующим образом: %[[+][0]n]d, где:

       %        Символ начала шаблона                                обязательный
       +        Выравнивание по левому краю поля                необязательный
       0        Заполнение нулями                                необязательный
       n        Размер поля (число)                                необязательный
       d        Символ конца шаблона

Если в шаблоне указан размер поля, вывод числа осуществляется в группу из указанного количества символов. Если в поле больше символов, чем требуется для записи числа, остальные символы заполняются пробелами слева от числа до нужной длины поля. Символы 0 и + позволяют изменить символ заполнения и расположение числа в поле соответственно.

Пример:

       printf( “!%d!”  , 13 );        !13!
       printf( “!%4d!”  , 13 );        !  13!
       printf( “!%04d!” , 13 );        !0013!
       printf( “!%+4d!” , 13 );        !13  !
       printf( “!%+04d!”, 13 );        !1300!


Форматный вывод вещественного числа

Реализуйте часть работы функции sprintf. Напишите функцию, осуществляющую подстановку вещественного числа в форматную строку. Форматная строка представляет собой обычную строку, в которой содержится подстановочный шаблон. Подстановочный шаблон позволяет указать, в каком месте строки следует подставить переданное в функцию число.

Подстановочный шаблон выглядит следующим образом: %[n[.x]]d, где:

       %        Символ начала шаблона                                обязательный
n        Размер поля (число)                                необязательный
x        Количество символов после точки                необязательный
f        Символ конца шаблона                                обязательный

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

Пример:

       printf( “!%4df!” , 3.1415926 );                !3.14!
       printf( “!%4.0f!”, 3.1415926 );                !  3!
       printf( “!%4.1f!”, 3.1415926 );                ! 3.1!
       printf( “!%f!”  , 3.1415926 );                !3.1415926!


Разбор вещественного числа

Напишите функцию, которая преобразовывает строку с вещественным представлением числа в переменную вещественного типа. Если в процессе разбора строки произошла ошибка. Функция должна сообщить об этом.

Примечание: В строке может быть неполная форма вещественного числа — например.5 или 12.

Разбор инженерной записи вещественного числа

Напишите функцию, которая преобразовывает строку с инженерной записью вещественного числа в переменную вещественного типа. Если в процессе разбора строки произошла ошибка. Функция должна сообщить об этом.

Примечание: инженерная запись вещественного числа позволяет задавать вещественные числа через степени десятки, например запись 1.3e5 соответствует числу


Вывести в табличной форме данные из файла в формате CSV

Формат CSV (comma-separated values) представляет собой текстовый способ хранения таблиц, в котором каждая строка файла соответствует строке таблицы, а данные ячеек в строке отделяются друг от друга запятыми.

Разработайте программу, которая по заданному файлу в формате СSV будет выводить на экран его табличное представление, разделяя столбцы символом |.

Пример:

Входной файл (input. csv):

Вывод программы

Scarlett, Johansson
Milla, Jovovich
Jessica, Alba
Charlize, Theron

|Scarlett|Johansson|

|Milla  |Jovovich |
|Jessica |Alba  |
|Charlize|Theron  |

Заменить в строке все вхождения % на свое имя

Напишите функцию, которая будет заменять все вхождения символа % в строку на ваше имя. Если символ % идет дважды, он должен быть заменен на один символ % без подстановки имени.

Пример:

Входная строка

Результат работы функции

Hello, %, milk is 4%% fat!

Hello, Alexey, milk is 4% fat!

Найти самое последнее вхождение символа из набора в строку

Напишите функцию, которая будет возвращать положение самого последнего вхождения символа из указанного набора в заданной строке. Если ни один символ не был найден, функция должна вернуть -1, в противном случае — смещение от начала строки до найденного символа. Набор искомых символов также удобно задавать в виде строки.

Пример:

findr ( “good!”, “ao” )        2
findr ( “good!”, “!@#” )        3
findr ( “good!”, “qr” )        -1

Удалить из строки все вхождения любого символа из списка

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

Пример:

remove ( “good day!”, “ao” )        “gd dy!”
remove ( “good day!”, “!@#” )        “good day”
remove ( “good day!”, “qr” )        “good day!”


Удалить из строки все лишние пробелы

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

Зашифровать строку RLE

Напишите функцию, кодирующую строку при помощи алгоритма RLE (run length encoding). В алгоритме RLE повторяющиеся символы заменяются на один символ и указание количества повторов.

Пример:

Входная строка

Результат работы функции

Hello

Hel2o

aaaaabbb

a5b3

house

House


Расшифровать строку RLE

Напишите функцию, декодирующую строку, сжатую при помощи алгоритма RLE (run length encoding). В алгоритме RLE повторяющиеся символы заменяются на один символ и указание количества повторов.

Пример:

Входная строка

Результат работы функции

Hel2o

Hello

a5b3

aaaaabbb

House

House


Слить две строки в одну

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

Перевернуть строчку

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