Программа табулирования функции - 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;
}

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

  1. Подключение необходимых библиотек: , , , .
  2. Объявление переменных: float xn, xk, x, m; int n;
  3. Вывод запроса на ввод границ интервала и шага: printf(Vvedite granitsi intervala xn, xk \n); scanf(%f %f,&xn,&xk); printf(Vvedite shag m \n); scanf(%f,&m);
  4. Инициализация переменной x значением xn и переменной n значением 0: x=xn; n=0;
  5. Вывод названия функции и интервала: printf(Funkciya y=sin(x) \n); printf(------------------------------------------------\n); printf(| n | x | f(x) |\n);
  6. Выделение памяти под массив f: float f=(float) malloc (((xk-xn)+1)sizeof(float));
  7. Цикл пошагового приближения значения x от xn до xk с шагом m: for(x=xn;x<xk;x+=m)
  8. Вычисление значения функции sin(x) и сохранение его в массиве f: f[n]=sin(x);
  9. Вывод значения x, f(x) и номера строки в таблице: printf(| %d | %5.2f | %5.2f |\n,n+1,x,f[n]);
  10. Увеличение значения переменной n на единицу: n=n+1;
  11. Вывод горизонтальной линии для разделения таблицы: printf(________________________________________________\n);
  12. Вывод пустой строки: printf(\n);
  13. Завершение работы программы: getch();
  14. Освобождение памяти, выделенной под массив f: free(f);
  15. Возврат значения 0, что означает успешный конец работы программы: return 0;

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


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

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

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