Написать не рекурсивную функцию, используя стек - C (СИ)
Формулировка задачи:
Написать не рекурсивную функцию, которая используя стек, вычисляет значение F(m,n) для любой пары положительных чисел n и m за соотношением:
Не могу совсем разобраться с задачей, не соображаю даже с чего мне начать. Уравнение через if'ы смогу решить но что такое стеки и как их сюда прикрутить не знаю.
Решение задачи: «Написать не рекурсивную функцию, используя стек»
textual
Листинг программы
int cr(char * mass[]){ int x =-1; char ch[1]; while(1){ printf("Введите x >0 или x = 0 \n") fread(ch ,1,1,stdint); x = ch[0] - '0'; if(x >= 0) break; // обратите внимание, здесь не анализируются служебные символы, такие как \n и прочие } return x; }
Объяснение кода листинга программы
- Объявлена функция cr с типом возвращаемого значения int и параметром char *mass[]
- Внутри функции объявлены две переменные: x со значением -1 и ch типа char с размером 1 байт.
- Запущен цикл while(1), который будет выполняться до тех пор, пока пользователь не введет значение x > 0 или x = 0.
- Внутри цикла выводится сообщение с просьбой ввести x.
- Затем с помощью функции fread считывается один символ из стандартного ввода в переменную ch.
- Присваивается значение x равное первому символу в массиве ch, приведенному к типу int и считанному без регистра.
- Если значение x больше или равно нулю, то цикл прерывается.
- Функция возвращает значение x.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д