Не все ветви кода возвращают значения - C#
Формулировка задачи:
ребят помогите, после завтра сдавать лабу, вот задание
Постройте таблицу значений функции y=f(x) для х[a, b] с шагом h.
Замечание
При решении задачи разработайте две версии метода f так, чтобы их сигнатуры соответствовали следующим описаниям:
static double f (double x)
static void f (double x, out double y)
вот код написал, пишет что не все ветви кода возвращают значения,что за фигня, может код не так написал
class Program { static void Main(string[] args) { int a = 0; int b = 0; int h = 0; double y = 0; Console.WriteLine("Введите нижний диапазон: "); Read(ref a); Console.WriteLine("Введите верхний диапазон: "); Read(ref b); Console.WriteLine("Введите шаг: "); Read(ref h); Console.WriteLine(); if ((b > a) && (h < (b - a)) && (h > 0)) { Console.WriteLine(" 1 способ | 2 способ\n{0,11}", "|"); for (double x = a; x <= b; x += h) { f(x); Console.Write("{0,9} |", f(x)); f(x, out y); Console.WriteLine(" {0}", y); } } else { Console.WriteLine("Проверьте значения"); } Console.ReadKey(); } static void Read(ref int n) { bool f = false; while (!f) { f = int.TryParse(Console.ReadLine(), out n); if (f == false) { Console.WriteLine("Неверные данные. Попробуйте снова!"); } } } static double f (double x) { if (x < 1) { Math.Pow(x * x - 1, 2); } else if (x > 1) { Math.Pow(1/ 1+x , 2); } else if (x == 1) return 0; } static void f(double x, out double y) { y = 0; if (x < 1) { y = Math.Pow(x * x - 1, 2); } else if ( x > 1) { y = Math.Pow(1 / 1 + x, 2); } else if (x==1) { y=0; } } } }
Решение задачи: «Не все ветви кода возвращают значения»
textual
Листинг программы
static double f(double x) { if (x < 1) return Math.Pow(x * x - 1, 2); else if (x > 1) return 1 / Math.Pow(1 + x, 2); else return 0; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д