Задание 1. Дополните свою библиотеку функций реали-
зациями нижеследующих функций:
■ int mystrcmp (const char * str1, const char * str2); — функция сравнивает две строки, и , если строки равны возвращает 0, если первая строка больше второй, то
возвращает 1, иначе –1.
■ int StringToNumber(char * str); — функция конвертирует строку в число и возвращает это число.
■ char * NumberToString (int number); — функция конвертирует число в строку и возвращает указатель на эту строку.
■ char * Uppercase (char * str1); — функция преобразует строку в верхний регистр.
■ char * Lowercase (char * str1); — функция преобразует строку в нижний регистр.
■ char * mystrrev (char * str); — функция реверсирует строку и возвращает указатель на новую строку.
Просьба, НЕЙРОСЕТЬ не использовать.
C/C++
Помогите мне сделать по С++ задание
Написал две первые функции.
#include
using namespace std;
int mystrcmp(const char* str1, const char* str2)
{
//функция сравнения двух си строк по лексикографическому признаку
while (*str1 == *str2 && *str1)
{
++str1; ++str2; //пропускаем равную часть строк
}
return (*str1 - *str2) % 2; //сравниваем несовпадающий символ и приводим разницу к диапазону [-1,1]
}
int StringToNumber(const char* str)
{
//в этой функции я не реализовал правильную обработку переполнения
//только ограничил длину символов 10-ми.
//число 9'999'999'999 хоть и имеет 10 знаков но больше INT_MAX
//так же заданный формат функции не позволяет вернуть сам факт нахождения числа
//если чисел в строке нет - вернет 0
int leng = 10, ch, prev_ch = '+', znak = 1, is_num = 0;
int number = 0;
while (ch=*str++)
{
if (ch >= '0' && ch
ава топ<3
#include
#include
#include
int mystrcmp(const char* str1, const char* str2) {
int result = std::strcmp(str1, str2);
if (result == 0) {
return 0;
} else if (result > 0) {
return 1;
} else {
return -1;
}
}
int StringToNumber(char* str) {
return std::atoi(str);
}
char* NumberToString(int number) {
return strdup(std::to_string(number).c_str());
}
char* Uppercase(char* str) {
std::transform(str, str + std::strlen(str), str, ::toupper);
return str;
}
char* Lowercase(char* str) {
std::transform(str, str + std::strlen(str), str, ::tolower);
return str;
}
char* mystrrev(char* str) {
std::reverse(str, str + std::strlen(str));
return str;
}
источник (ну там код был)
Pavel Pavlov
У меня теперь 3 ошибки в визуал студио
Pavel Pavlov
Как тогда исправить, чтобы работало?
Похожие вопросы
- Помогите пожалуйста сделать задачу по программированию C++
- Помогите умоляю сделать алгоритм в кумире
- Помогите сделать задания в С++
- Помогите с заданием по программированию язык C(не С++)
- Помогите понять задание С++
- Программа не выполняет условия задания, исходный массив меняет сам себя, помогите найти ошибку
- Помогите решить задание на c++
- Помогите решить задачу на С++ (мне не совсем ясен смысл задания)
- Помогите с заданием по программированию, С++, напишите код для 1 курса
- Помогите с заданием на С++
А помочь с кодом никак?