Задачи на указатели и динамическую память - 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);/*освобождаем память выделенную под массив точек*/ }
Объяснение кода листинга программы
- Ввод значений переменных a, b и n с помощью функции scanf.
- Вычисление шага разбиения интервала h.
- Увеличение значения переменной n на 1.
- Выделение памяти под массив точек points с помощью функции malloc.
- Инициализация начального значения переменной X по левой границе отрезка a.
- Цикл расчета функции F(x) во всех точках разбиения отрезка [a:b].
- Вычисление x-координаты очередной i-й точки.
- Вычисление F(x) для каждой точки.
- Печать списка точек на экран.
- Освобождение памяти, выделенной под массив точек.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д