Табулирование функции, поиск ошибки - C (СИ)

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

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

Приветствую! Яростно нуждаюсь в вашей помощи. Имеется функция вида y=(x^3 +2x -14)/(7x) Собственно сам код
/*Заданы начальное значение аргумента A, верхний предел функции YM, шаг H. 
Значения функции вычисляются в точках
A, 
A + H, 
A + 2*H, 
A + 3*H, 
… 
пока значение функции не превысит верхний предел YM, но не больше чем в 25 точках. */
#include <stdio.h>
int ym, i, a, h;
void  vvod(int *a, int *h, int *ym)
{
 //Deklaracija peremennih, a tak ze zapros dannih u polzovatelja //
printf("Privetstvuju! Zadajte nachalnoe znachenie argumenta (x), \n x= ");
scanf("%d", a);
printf("Zadajte verhnij predel funkcii(YM), \n YM= ");
scanf("%d", ym);                          
printf("Zadajte shag argumenta(H), \n H= ");
scanf("%d", h);
}
void vich(int *x, float *y, int a, int h, int ym) //vichislenie funkcii, sozdanie massiva
{
int i;
i=0;
x[i]=a;
       
     do 
        {         
                 y[i]=(x[i]*x[i]*x[i] + 2*x[i] - 14)/(7*x[i]);
                        i++;
                        x[i]=a+i*h;
                      }
     while (y[i]<ym);      
}

void vivod(int *x, float *y, int ym) // cikl vivoda informacii
{
     int i;
     printf("X:    Y\n");
     while(y[i]<ym)
     {
                  printf("%d | %f\n", x[i], y[i]);
                  }
     }

int main(void) //glavnaja programma
{
    int i, a, *x,  h, ym;
    float *y;
    vvod (&a, &ym, &h);
    vich (a, y, x, h, ym);
    vivod (x, y, ym);
    system("pause");
    printf("nazmite enter");
    getchar();
return 0;
}
Учитываем, что пользователь вводит целые значения x, y, ym. Алгоритм вроде бы правильный, но если всё совсем плохо, то предложите более подходящий вариант этого задания. Ещё вопрос, как удачно вписать туда ограничение на кол-во точек(пока значение функции не превысит верхний предел YM, но не больше чем в 25 точках.) Благодарю за внимание.

Решение задачи: «Табулирование функции, поиск ошибки»

textual
Листинг программы
void vi4islenie(int a, int b, int c, int h, float x[20], float y[20]) {
// ...

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


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

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

9   голосов , оценка 4.111 из 5