#pragma once #include // Шаблон функции обмена значениями двух переменных по указателю // Шаблоны описываются в заголовочных файлах! // Параметры: // a, b - указатели на переменные. // Результат: // параметры a и b меняются значениям. template void swap_ptr(T *a, T *b) { assert(a != nullptr); assert(b != nullptr); T tmp = *a; *a = *b; *b = tmp; } // Максимальная длина статической строки const size_t Max_Len = 256; // Функция сравнения строк (пользовательская) // Входные параметры: // str1 - начало первой строки; // str2 - начало второй строки. // Результат: // 0 - строки равны; // >0 - первый различный символ строки 1 > строки 2; // <0 - первый различный символ строки 1 < строки 2. int stringCompare(const char *str1, const char *str2);//string compare //подсчет слов size_t wordCount(const char* str); //Задание 1. Дана строка.Подсчитать количество содержащихся в ней цифр. //int countDigits(char * str); //Задание 2. Найти индекс первого вхождения заданного символа //int firstIndex(char *s, char ch); //Задание 3. Дана строка. //Найти ее последний символ (вернуть указатель). //Верните «нулевой указатель» (число 0 или nullptr), если строка пустая. //char * findLastChar(char * str); //Задание 4. Поменяйте порядок символов в строке на противоположный. //Для этого определите указатель на последний символ //(используйте решение предыдущего задания), //и, перемещая два указателя от начала и конца строки к середине, //меняйте местами соответствующие символы с помощью шаблонной ф-и swap_ptr (см. выше) //void reverseString(char * str);