fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. // Параметры функции
  5. #define A 2.5
  6. #define B 0.4
  7.  
  8. // Функция для вычисления значения по условию
  9. double calculate(double t) {
  10. if (t < -0.1) {
  11. // Пример для t < -0.1: f(t) = a * t + b
  12. return A * t + B;
  13. } else if (t <= 0.5) {
  14. // Пример для -0.1 <= t <= 0.5: f(t) = a * t^2 - b
  15. return A * pow(t, 2) - B;
  16. } else {
  17. // Пример для t > 0.5: f(t) = a / t + b
  18. return A / t + B;
  19. }
  20. }
  21.  
  22. int main() {
  23. // Диапазон и количество точек
  24. const double t_start = -1.0;
  25. const double t_end = 1.0;
  26. const int N = 50; // Не менее 50 значений
  27.  
  28. // Шаг между точками
  29. double step = (t_end - t_start) / (N - 1);
  30.  
  31. printf("Вычисление значений функции на интервале [-1, 1]\n");
  32. printf("Параметры: a = %.2f, b = %.2f\n\n", A, B);
  33. printf("%-10s %-15s\n", "t", "f(t)");
  34. printf("-----------------------\n");
  35.  
  36. for (int i = 0; i < N; i++) {
  37. double t = t_start + i * step;
  38. double value = calculate(t);
  39. printf("%-10.4f %-15.6f\n", t, value);
  40. }
  41.  
  42. return 0;
  43. }
Success #stdin #stdout 0.01s 5320KB
stdin
Standard input is empty
stdout
Вычисление значений функции на интервале [-1, 1]
Параметры: a = 2.50, b = 0.40

t          f(t)           
-----------------------
-1.0000    -2.100000      
-0.9592    -1.997959      
-0.9184    -1.895918      
-0.8776    -1.793878      
-0.8367    -1.691837      
-0.7959    -1.589796      
-0.7551    -1.487755      
-0.7143    -1.385714      
-0.6735    -1.283673      
-0.6327    -1.181633      
-0.5918    -1.079592      
-0.5510    -0.977551      
-0.5102    -0.875510      
-0.4694    -0.773469      
-0.4286    -0.671429      
-0.3878    -0.569388      
-0.3469    -0.467347      
-0.3061    -0.365306      
-0.2653    -0.263265      
-0.2245    -0.161224      
-0.1837    -0.059184      
-0.1429    0.042857       
-0.1020    0.144898       
-0.0612    -0.390629      
-0.0204    -0.398959      
0.0204     -0.398959      
0.0612     -0.390629      
0.1020     -0.373969      
0.1429     -0.348980      
0.1837     -0.315660      
0.2245     -0.274011      
0.2653     -0.224032      
0.3061     -0.165723      
0.3469     -0.099084      
0.3878     -0.024115      
0.4286     0.059184       
0.4694     0.150812       
0.5102     5.300000       
0.5510     4.937037       
0.5918     4.624138       
0.6327     4.351613       
0.6735     4.112121       
0.7143     3.900000       
0.7551     3.710811       
0.7959     3.541026       
0.8367     3.387805       
0.8776     3.248837       
0.9184     3.122222       
0.9592     3.006383       
1.0000     2.900000