Программа табулирования функции - C (СИ)
Формулировка задачи:
Написал программу табулирования функции с помощью цикла for, подскажите пожалуйста как написать программу табулирования этой функции но уже при помощи МАССИВА.
Код программы табулирования функции с помощью цикла for:
#include <stdio.h> #include <math.h> #include <conio.h> int main () { float xn,xk,dx,f,x; int c,i,m,n; clrscr(); { printf("Vvedite granitsi intervala xn, xk \n"); scanf("%f %f",&xn,&xk); printf("Vvedite shag m \n"); scanf(" %d",&m); x=xn; n=1; printf(" Funkciya y=sin(x) \n"); printf("------------------------------------------------\n"); printf("| n | x | f(x) |\n"); while(x<=xk) { f=sin(x); printf("| %5d | %5.2f | %5.2f |\n",n,x,f); x=x+m; n=n+1; } printf("________________________________________________\n"); printf(" \n"); printf("Dlya vixoda nazmite 1\n"); scanf(" "); }}
Решение задачи: «Программа табулирования функции»
textual
Листинг программы
#include <stdio.h> #include <math.h> #include <conio.h> #include <stdlib.h> int main () { float xn,xk,x,m; int n; printf("Vvedite granitsi intervala xn, xk \n"); scanf("%f %f",&xn,&xk); printf("Vvedite shag m \n"); scanf(" %f",&m); x=xn; n=0; printf(" Funkciya y=sin(x) \n"); printf("------------------------------------------------\n"); printf("| n | x | f(x) |\n"); float* f=(float*) malloc (((xk-xn)+1)*sizeof(float*)); for(x=xn;x<xk;x+=m) { f[n]=sin(x); printf("| %d | %5.2f | %5.2f |\n",n+1,x,f[n]); n=n+1; } printf("<br>\n"); printf(" \n"); getch(); free(f); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек:
, , , . - Объявление переменных: float xn, xk, x, m; int n;
- Вывод запроса на ввод границ интервала и шага: printf(
Vvedite granitsi intervala xn, xk \n
); scanf(%f %f
,&xn,&xk); printf(Vvedite shag m \n
); scanf(%f
,&m); - Инициализация переменной x значением xn и переменной n значением 0: x=xn; n=0;
- Вывод названия функции и интервала: printf(
Funkciya y=sin(x) \n
); printf(------------------------------------------------\n
); printf(| n | x | f(x) |\n
); - Выделение памяти под массив f: float f=(float) malloc (((xk-xn)+1)sizeof(float));
- Цикл пошагового приближения значения x от xn до xk с шагом m: for(x=xn;x<xk;x+=m)
- Вычисление значения функции sin(x) и сохранение его в массиве f: f[n]=sin(x);
- Вывод значения x, f(x) и номера строки в таблице: printf(
| %d | %5.2f | %5.2f |\n
,n+1,x,f[n]); - Увеличение значения переменной n на единицу: n=n+1;
- Вывод горизонтальной линии для разделения таблицы: printf(
________________________________________________\n
); - Вывод пустой строки: printf(
\n
); - Завершение работы программы: getch();
- Освобождение памяти, выделенной под массив f: free(f);
- Возврат значения 0, что означает успешный конец работы программы: return 0;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д