Задачи на указатели и динамическую память - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите пож-ста с задачей Вычислить значения y некоторой функции F(x) в n точках,результаты вычислений y вместе со значениями соответствующих x поместить в список. Вывести на экран элементы списка, содержащие значения x в интервале от a до b и соответствующие им значения y.

Решение задачи: «Задачи на указатели и динамическую память»

textual
Листинг программы
void main(void)
{
float a,b,h;
P points*;
int i,n;
 
printf("input a:");scanf("",&a); /*ввод значения левой границы отрезка  изменения переменной X*/
printf("input b:");scanf("",&b); /*ввод значения правой границы отрезка изменения переменной X*/
printf("input n:");scanf("",&n); /* число интервалов разбиения отрезка [a:b]*/
 
h=(b-a)/n;   /*считаем шаг разбиения интервала*/
n++;           /*число точек на одну больше интервалов разбиения */
 
points=(P*)malloc(n*sizeof(P));/*выделяем память под массив точек*/
x=a;                                  /*инициализируем начальное значение переменной X по левой границе отрезка*/
for(i=0;i<n;i++)    /*  Цикл расчета функции F(x) во всех точках разбиения отрезка [a:b]*/
{
  points[i].x=a+i*h;  /*вычисление x-координаты очередной i-й точки*/
  points[i].y=F(points[i].x);/*вычисление F(x)*/
}
 
/*печать списка точек*/
for(i=0;i<n;i++)
{
  printf("x=%f y=%f\n",points[i].x,points[i].y);/*выводим на экран значение аргумента x и функции F(x)*/
}
 
free(points);/*освобождаем память выделенную под массив точек*/
}

Объяснение кода листинга программы

  1. Ввод значений переменных a, b и n с помощью функции scanf.
  2. Вычисление шага разбиения интервала h.
  3. Увеличение значения переменной n на 1.
  4. Выделение памяти под массив точек points с помощью функции malloc.
  5. Инициализация начального значения переменной X по левой границе отрезка a.
  6. Цикл расчета функции F(x) во всех точках разбиения отрезка [a:b].
  7. Вычисление x-координаты очередной i-й точки.
  8. Вычисление F(x) для каждой точки.
  9. Печать списка точек на экран.
  10. Освобождение памяти, выделенной под массив точек.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5
Похожие ответы