Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания (вариант b).doc
Скачиваний:
14
Добавлен:
15.11.2018
Размер:
729.6 Кб
Скачать
    1. Создание собственных процедур для обработки строк

4.5.1. Выполнить задание двумя способами: с использованием стандартных процедур для C-строк; без использования стандартных процедур для строк. Сравнить результаты.

  1. Написать программу, реализующую процедуру удаления k символов с позиции номер n из строки S.

  2. Написать программу, реализующую процедуру вставки подстроки SS в строку S с позиции номер n.

  3. Написать программу, реализующую процедуру замены подстроки S1 на подстроку S2 в строке S.

  4. Написать программу, которая преобразует строку символов в число (целое) или сообщает об ошибке (atoi, strtol).

  5. Написать программу, которая преобразует строку символов в число (вещественное) или сообщает об ошибке (atof, strtod ).

  6. Написать программу, которая преобразует целое число в строку символов в заданной системе счисления (itoa).

  7. Написать программу, реализующую процедуру разбора строки на лексемы (strtok).

  8. Написать программу, реализующую процедуры поиска символов в строке (strchr, strrchr, strspn, strpbrk).

  9. Написать программу, реализующую процедуру определения номера позиции, с которой подстрока SS входит в строку S (strstr).

  10. Написать программу, реализующую процедуру конкатенации k строк (strcat, strncat).

  11. Написать программу, которая осуществляет сравнение двух строк (strcmp, strncpy).

  12. Написать программу, которая осуществляет копирование двух строк (strcpy, strncpy).

  1. Функции

    1. 5.1. Передача параметров по значению и по ссылке

5.1.1. Выполнить задания 2.1, 2.3, оформив его через функции. Передачу параметров организовать тремя способами: по значению, через указатель, через ссылочный параметр.

5.1.2. Написать функции для заполнения матрицы случайными числами, ввода с клавиатуры, вывода на экран. Выполнить задания 3.1, 3.2, оформив задания через функции. Передачу массива в функцию организовать несколькими способами.

5.1.3. Выполнить задания 4.2, 4.3, 4.5, оформив задания через функции. Все необходимые данные для функций должны передаваться в качестве параметров.

    1. 5.2. Перегрузка и шаблон функций

Выполнить задание 3.1, обеспечив перегрузку функций для типов int, float, double. Выполнить задание 3.1, создав шаблон функции. Шаблон должен работать с массивом любого числового типа.

    1. 5.3. Возврат ссылок

      1. 5.3.1. Напишите функцию, возвращающую ссылку.

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

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

  3. Напишите функцию, возвращающую ссылку на максимальное число, встречающееся в заданном массиве произвольного размера (аргумент функции) ровно 2 раза. Если такого числа нет, то возвратить ссылку на любое из максимальных чисел массива. Замените этот элемент значением k.

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

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

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

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

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

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

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

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

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

5.3.2. Создайте шаблон функции для задания 5.3.1. Шаблон должен работать с массивом любого числового типа.