10.22 Строки

TODO Не дошли до malloc(), требуется пересмотр объёма + inplace документация

Форма для сдачи

:)) Что мы знаем про строки из лекций?

Ввод и вывод строк

Строковые функции

вот все… ой, нет, вот ещё

Во всех строковых функциях Си нужно всегда следить:

Д/З

В заданиях разрешается (и рекомендуется!) пользоваться стандартными функциями и l-функциями для строк

  1. EJudge: CharCount 'Количество символов'

    Ввести строку размера не больше 1000, подсчитать в ней количество: цифр, строчных букв латиницы, прописных букв латиницы. Вывести результаты подсчета через пробел.

    Input:

    Did you know that for the price of a 280-Z you can buy two Z-80's?
    Output:

    5 40 3
  2. EJudge: WorwFilter 'Особые слова'

    Ввести строку размера не больше 1000, состоящую из слов, разделённых одним или несколькими пробелами. Вывести через пробел слова, которые начинаются и оканчиваются одним и тем же символом (если в слове один символ, оно на него и начинается и заканчивается). Массив для хранения строки (если он нужен), объявить глобально.

    Input:

    did you    know that
    Output:

    did that
  3. EJudge: CommonPrefix 'Общий префикс'

    Ввести построчно несколько строк, вывести длину их общего префикса (попарного сравнения строк-соседей достаточно). Признак конца ввода: EOF. В префикс могут входить любые символы (включая пробелы), кроме перевода строки «\n».

    Input:

    Feral dog
    Ferrum dwa o tri
    Ferrari turbo 128
    Output:

    3
  4. EJudge: DrawSquares 'Квадратор'

    Квадратор

    • ввести положительные w и h — ширина и высота «экрана»
    • в цикле вводить 0 или более 4-элементных последовательностей вида (c,X,Y,s), где X и Y — координаты левого верхнего угла квадрата, s — длина его стороны (не меньше 1), а c — символ которым он заполняется на экране. Признак конца ввода: EOF. Для ввода символа-заполнителя используйте в scanf спецификатор "%c".
    • вывести прямоугольник из w×h точек, на котором соответствующими символами «нарисованы» квадраты соответствующих размеров в соответствующих местах.

    Координаты левого верхнего угла поля — 0,0; координаты растут вправо вниз. Проверять, что квадраты не выходят за границы поля, не надо. Более поздние по порядку ввода квадраты рисуются поверх более ранних. Не занятые квадратами позиции содержат точки "."

    Input:

    20 23
    @ 1 1 5
    ! 2 3 1
    # 4 5 11
    / 8 11 9
    Output:

    ....................
    .@@@@@..............
    .@@@@@..............
    .@!@@@..............
    .@@@@@..............
    .@@@###########.....
    ....###########.....
    ....###########.....
    ....###########.....
    ....###########.....
    ....###########.....
    ....####/////////...
    ....####/////////...
    ....####/////////...
    ....####/////////...
    ....####/////////...
    ......../////////...
    ......../////////...
    ......../////////...
    ......../////////...
    ....................
    ....................
    ....................

LecturesCMC/AL/Prac/15_Strings (последним исправлял пользователь FrBrGeorge 2026-10-23 21:05:32)