• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Определить корни уравнения, используя метод секущих

  • Автор темы Автор темы Fras
  • Дата начала Дата начала

Fras

Ученик
Регистрация
6 Ноя 2011
Сообщения
1
Реакции
0
Баллы
0
Определить корни уравнения, используя метод секущих

#include <conio.h>
#include <stdio.h>
#include <math.h>
//---------------------------------------
int vvod(int A[], float B[])
{
int q;
float x;
FILE *fw;
fw=fopen("out.txt","w");
q:printf("Vvedite koefficienti yravneniya a0,a1,a2,nachalnoe pribligenie x0 i tochnost reschenia E:\n");
fprintf(fw,"koefficienti yravneniya a0,a1,a2,nachalnoe pribligenie x0 i tochnost reschenia E:\n");
scanf("%d", &A[1]);printf(" A[1]=%d\n",A[1]);fprintf(fw," A[1]=%d ",A[1]);fprintf(fw,"\n");
scanf("%d", &A[2]);printf(" A[2]=%d\n",A[2]);fprintf(fw," A[2]=%d ",A[2]);fprintf(fw,"\n");
scanf("%d", &A[3]);printf(" A[3]=%d\n",A[3]);fprintf(fw," A[3]=%d ",A[3]);fprintf(fw,"\n");
scanf("%f", &B[4]);printf(" B[4]=%f\n",B[4]);fprintf(fw," B[4]=%f ",B[4]);fprintf(fw,"\n");
scanf("%f", &B[1]);printf(" B[1]=%f\n",B[1]);fprintf(fw," B[1]=%f ",B[1]);fprintf(fw,"\n");
printf("Vvedite interval:\n");
fprintf(fw,"Interval a,b:\n",B[2],B[3]);
scanf("%f", &B[2]);
printf(" B[2]=%f\n",B[2]);
fprintf(fw," B[2]=%f ",B[2]);
fprintf(fw,"\n");
scanf("%f", &B[3]);
printf(" B[3]=%f\n",B[3]);
fprintf(fw," B[3]=%f ",B[3]);
fprintf(fw,"\n");
if(B[4]<b[2]||b[4]>B[3]){
printf("\n B[4] ne ydovletvoryaet intervaly, povtorite vvod\n");
goto q;
}
printf("\nZadannoe yravnenie:\n");
fprintf(fw,"Zadannoe yravnenie:\n");
printf(" y=%d+%d*x*x*x+%d*tgx\n",A[1],A[2],x,x,x,A[3],x);
fprintf(fw," y=a0+a1*x*x*x+a2*tgx\n");

printf("\nProizvodnja y:\n");
fprintf(fw,"Proizvodnja y:\n");
printf(" Y=%d/x+%d*2*x+%d*3*x*x\n",A[2],x,A[3],x,A[4],x,x);
fprintf(fw," Y=a1/x+a2*2*x+a3*3*x*x\n");

fclose(fw);
}
//------------------------------------------------
сам метод
//-----------------------------------------------
int main(int){
int A[3];
float B[4];
vvod(A,B);
reshenie(A,B);
printf("\nProgramm complite");
getch();
}
это ввод для метода Ньютона, что нужно переделать что бы он подходил для метода Секущих?
и собственно как написать сам метод? полностью задание звучит так:
Определить корни уравнения, используя метод секущих. Коэффициенты уравнения, точность решения и начальное приближение задаются с терминала. Предусмотреть возможность нахождения всех корней уравнения при одном запуске программы.
Результаты решения вывести в файл вместе с заданными значениями и видом решаемого уравнения.
F(x)=a(0)+a(1)*x*x*x+a(2)*tgx
 
Назад
Сверху