Int main()
{
SetConsoleOutputCP(1251);
const int n=2,m=2;
float a[n][m],b[n][m],c[n][m];
cout<<"Введите элементы 1-го массива:"<<endl;
vvod(&a[0][0],n,m);
cout<<"Введите элементы 2-го массива:"<<endl;
vvod(&b[0][0],n,m);
vyvod(&a[0][0],n,m);
vyvod(&b[0][0],n,m);
tran(&b[0][0],n,m);
rez(&a[0][0],&b[0][0],&c[0][0],n,m,m);
cout<<"a+b:"<<endl;
vyvod(&c[0][0],n,m);
return 0;
}
void vvod (float*a,int n,int m)
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
cin>>a[i*m+j];
}
void vyvod( float*a,int n,int m)
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
cout<<a[i*m+j]<<"\t"<<endl;
cout<<endl;
}
void tran(float*b,int n,int m)
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
b[i*m+j]=b[j*m+i];
}
void rez(float*a,float*b,float*c,int n,int m,int l)
{
int i,j,k;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
c[i*l+j]=0;
for(k=0;k<m;k++)
c[i*l+j]+=a[i*m+k]*b[k*l+j];
}
}
#include<stdio.h>
#include<windows.h>
#include<math.h>
#include<stdlib.h>
float f(float);
void otrz();
void hord();
void newt();
void(*pf[])()={otrz,hord,newt};
int menu();
Int main()
{
SetConsoleOutputCP(1251);
while(1)
(*pf[menu()])();
return 0;
}
int menu()
{
char p;
do
{
system("pause");
system("cls");
printf("Каким методом решать уравнение?\n");
printf("1.Метод деления отрезка пополам (бисекций)\n2.Метод хорд\n3.Ньютона (метод касательных)\n");
scanf("%c",&p);
}
while(strchr("123",p)==NULL);
return p-49;
}
float f(float x)
{
return exp(0.724*x+0.3)-2.831;
}
void otrz()
{
float a=0,b=0,x,eps=0.001;
do
b++;
while(f(a)*f(b)>=0);
while(fabs(a-b)>eps)
{
x=(a+b)/2;
printf("x=%f\n",x);
if(f(a)*f(x)<0)
b=x;
else a=x;
}
x=(a+b)/2;
printf("Корень уравнения=%f\n",x);
}
void hord()
{
float a=0,b=0,h=1,x,eps=0.001;
do
b=b+h;
while(f(a)*f(b)>=0);
x=a;
while(fabs(f(x))>eps)
{
x=x-f(x)/(f(b)-f(x))*(b-x);
printf("x=%f\n",x);
}
printf("Корень уравнения=%f\n",x);
}
void newt()
{
float x=0,x0,eps=0.001;
printf("х начальное=%.f\n",x);
do
{
x0=x;
x=x0-f(x0)/(f(x0+0.001)-f(x0)/0.001);
printf("x=%f\n",x);
}
while(fabs(x0-x)>eps);
printf("Корень уравнения=%f\n",x);
}
#include<iostream.h>
#include<windows.h>
#include<math.h>
double integral(double,double,double(*pf)(double));
double f1(double);
double f2(double);
double f3(double);
Int main()
{
SetConsoleOutputCP(1251);
const double pi=3.14;
cout<<"Результат вычисления:"<<integral(0,1.7,f1)+integral(0,2,f2)+integral(0,3/(2*pi),f3);
cout<<endl;
return 0;
}
double f1(double x)
{
return x*atan(x);
}
double f2(double x)
{
return 1./(1+sqrt(x));
}
double f3(double x)
{
return 1./(5-3*cos(x));
}
double integral(double a,double b,double(*pf)(double))
{
double I1,I2=0,e=0.00001,h;
int i,n=2;
do
{
I1=I2;
h=(b-a)/n;
for(I2=0,i=1;i<=n;i++)
I2+=((*pf)(a+(i-1)*h)+(*pf)(a+i*h))*h/2;
n*=2;
}
while (fabs(I2-I1)>e);
return I2;
}
#include<stdio.h>
#include<windows.h>
#include<string.h>