История изменений
Исправление RiseOfDeath, (текущая версия) :
Я хотел минимизировать «ограничения» и забыл про эти «очевидные» вещи. Спасибо за уточнение. (К стати, в реальных лабах никогда не встречал конкретизации таких вещей, и там была бы именно формулировка как у меня в варианте 1. Я сужу по своему опыту как студента - обычно студенты или делали «как сами поняли» или уточняли это у преподователя, а там или «сделйате как поняли», или «оба, все три, все четыре, любой из» и т.п. (смотря сколько в своем вопросе студент предложит пониманий этой трактовки), или уже уточнялось)
1. Напишите функцию на языке C, которая получает из текстовой строки целое число, текстовая запись которого представленна в десятичной системе. Перед числом может быть указан знак '-', если оно отрицательное или '+', если оно положительное. При отсутствии такового число считается положительным. Число указывается в простом виде (не экспоненциальная запись). Считать что введенное число будет больше или равно INT_MIN, но меньше или равно INT_MAX. Десятичный разделитель отсутствует. Под строкую подразумеватся массив символов в кодировке ASCII, оканчивающийся нулевым символом '\0'.Свое решение обоснуйте. Пример строки "-1000" «100500» «999» «+12352».
2. В дополнение к п. 1 не используйте функций не из stdlib.h (там лежит atoi, фактически это следует понимать как «не использовать функции из других хедеров»). Обоснуйте своей решение.
3. В дополнение к п. 2 сделайте так чтобы компиляторы не игнорили inline для этой функции.
4. В дополнение к п. 3 сделайте проверку входных данных и возврат ошибок.
P.S.
Сейчас я ничего не забыл?
Исправление RiseOfDeath, :
Я хотел минимизировать «ограничения» и забыл про эти «очевидные» вещи. Спасибо за уточнение. (К стати, в реальных лабах никогда не встречал конкретизации таких вещей, и там была бы именно формулировка как у меня в варианте 1. Я сужу по своему опыту как студента - обычно студенты или делали «как сами поняли» или уточняли это у преподователя, а там или «как поняли» или уже уточнялось)
1. Напишите функцию на языке C, которая получает из текстовой строки целое число, текстовая запись которого представленна в десятичной системе. Перед числом может быть указан знак '-', если оно отрицательное или '+', если оно положительное. При отсутствии такового число считается положительным. Число указывается в простом виде (не экспоненциальная запись). Считать что введенное число будет больше или равно INT_MIN, но меньше или равно INT_MAX. Десятичный разделитель отсутствует. Под строкую подразумеватся массив символов в кодировке ASCII, оканчивающийся нулевым символом '\0'.Свое решение обоснуйте. Пример строки "-1000" «100500» «999» «+12352».
2. В дополнение к п. 1 не используйте функций не из stdlib.h (там лежит atoi, фактически это следует понимать как «не использовать функции из других хедеров»). Обоснуйте своей решение.
3. В дополнение к п. 2 сделайте так чтобы компиляторы не игнорили inline для этой функции.
4. В дополнение к п. 3 сделайте проверку входных данных и возврат ошибок.
P.S.
Сейчас я ничего не забыл?
Исправление RiseOfDeath, :
Я хотел минимизировать «ограничения» и забыл про эти «очевидные» вещи. Спасибо за уточнение. (К стати, в реальных лабах никогда не встречал конкретизации столь «очевидных» вещей, и там была бы именно формулировка как у меня в варианте 1)
1. Напишите функцию на языке C, которая получает из текстовой строки целое число, текстовая запись которого представленна в десятичной системе. Перед числом может быть указан знак '-', если оно отрицательное или '+', если оно положительное. При отсутствии такового число считается положительным. Число указывается в простом виде (не экспоненциальная запись). Считать что введенное число будет больше или равно INT_MIN, но меньше или равно INT_MAX. Десятичный разделитель отсутствует. Под строкую подразумеватся массив символов в кодировке ASCII, оканчивающийся нулевым символом '\0'.Свое решение обоснуйте. Пример строки "-1000" «100500» «999» «+12352».
2. В дополнение к п. 1 не используйте функций не из stdlib.h (там лежит atoi, фактически это следует понимать как «не использовать функции из других хедеров»). Обоснуйте своей решение.
3. В дополнение к п. 2 сделайте так чтобы компиляторы не игнорили inline для этой функции.
4. В дополнение к п. 3 сделайте проверку входных данных и возврат ошибок.
P.S.
Сейчас я ничего не забыл?
Исправление RiseOfDeath, :
Я хотел минимизировать «ограничения» и забыл про эти «очевидные» вещи. Спасибо за уточнение. (К стати, в реальных лабах никогда не встречал конкретизации столь «очевидных» вещей, и там была бы именно формулировка как у меня в варианте 1)
1. Напишите функцию на языке C, которая получает из текстовой строки целое число, текстовая запись которого представленна в десятичной системе. Перед числом может быть указан знак '-', если оно отрицательное или '+', если оно положительное. При отсутствии такового число считается положительным. Число указывается в простом виде (не экспоненциальная запись). Считать что введенное число будет больше или равно INT_MIN, но меньше или равно INT_MAX Под строкую подразумеватся массив символов в кодировке ASCII, оканчивающийся нулевым символом '\0'.Свое решение обоснуйте. Пример строки "-1000" «100500» «999» «+12352».
2. В дополнение к п. 1 не используйте функций не из stdlib.h (там лежит atoi, фактически это следует понимать как «не использовать функции из других хедеров»). Обоснуйте своей решение.
3. В дополнение к п. 2 сделайте так чтобы компиляторы не игнорили inline для этой функции.
4. В дополнение к п. 3 сделайте проверку входных данных и возврат ошибок.
P.S.
Сейчас я ничего не забыл?
Исправление RiseOfDeath, :
Я хотел минимизировать «ограничения» и забыл про эти «очевидные» вещи. Спасибо за уточнение. (К стати, в реальных лабах никогда не встречал конкретизации столь «очевидных» вещей, и там была бы именно формулировка как у меня в варианте 1)
1. Напишите функцию на языке C, которая получает из текстовой строки целое число, текстовая запись которого представленна в десятичной системе. Перед числом может быть указан знак '-', если оно отрицательное или '+', если оно положительное. При отсутствии такового число считается положительным. Число указывается в простом виде (не экспоненциальная запись). Считать что введенное число будет больше INT_MIN, но меньше INT_MAX Под строкую подразумеватся массив символов в кодировке ASCII, оканчивающийся нулевым символом '\0'.Свое решение обоснуйте. Пример строки "-1000" «100500» «999» «+12352».
2. В дополнение к п. 1 не используйте функций не из stdlib.h (там лежит atoi, фактически это следует понимать как «не использовать функции из других хедеров»). Обоснуйте своей решение.
3. В дополнение к п. 2 сделайте так чтобы компиляторы не игнорили inline для этой функции.
4. В дополнение к п. 3 сделайте проверку входных данных и возврат ошибок.
P.S.
Сейчас я ничего не забыл?
Исходная версия RiseOfDeath, :
Я хотел минимизировать «ограничения» и забыл про эти «очевидные» вещи. Спасибо за уточнение. (К стати, в реальных лабах никогда не встречал конкретизации столь «очевидных» вещей, и там была бы именно формулировка как у меня в варианте 1)
1. Напишите функцию на языке C, которая получает из текстовой строки целое число, текстовая запись которого представленна в десятичной системе. Перед числом может быть указан знак '-', если оно отрицательное или '+', если оно положительное. При отсутствии такового число считается положительным. Число указывается в простом виде (не экспоненциальная запись). Считать что введенное число будет больше INT_MIN, но меньше INT_MAX Под строкую подразумеватся массив символов в кодировке ASCII, оканчивающийся нулевым символом '\0'.Свое решение обоснуйте. Пример строки "-1000" «100500» «999» «+12352».
2. В дополнение к п. 1 не используйте функций не из stdlib.h (там лежит atoiю Фактически это следует понимать как «не использовать функции из других хедеров»). Обоснуйте своей решение.
3. В дополнение к п. 2 сделайте так чтобы компиляторы не игнорили inline для этой функции.
4. В дополнение к п. 3 сделайте проверку входных данных и возврат ошибок.