2. float function(float x):
Float function(float x)
{
return sqrt(1.0-(x-1.0)*(x-1.0)); //
}
3. x_nach x_kon ,
4. n ( ), n<10:
n=1 - ,
n=2 - ,
n=3 - ,
n=4 - ,
n=5 - ,
5. :
integral=integral_Newton_Kotes(n, x_nach, x_kon);
6. ( ) .
:
0,0 2,0 (
π/ 2=1,570796 ) n=19.
:
#include <stdio.h>
#include <math.h>
#include <conio.h>
Float integral_Newton_Kotes(int n, float x_nach, float x_kon);
int main(int argc, char **argv)
{
int n; //
//( ):
// 1 - ,
// 2 - ,
// 3 - ,
int i; //
float x_nach, x_kon; //
//
float integral; //
printf("\n nishniy predel integr. x_nach= ");
scanf("%f", &x_nach);
printf("\n verhniy predel integr. x_kon= ");
scanf("%f", &x_kon);
Do
{
printf("\nuchastkov integr. n= ");
scanf("%d", &n);
if (n==0)
Break;
integral=integral_Newton_Kotes(n, x_nach, x_kon);
printf("uchastkov %d znachenie integrala = %1.5f\n", n, integral);
}
While (1);
Return 0;
}
:
Float function(float x)
{
return sqrt(1.0-(x-1.0)*(x-1.0));
}
:
:
1. :
void topolog(int n, int v1, int v2, float s[n][n], int puti_i_kontury, int *contur, int *path, int t[puti_i_kontury][n+1], float dlina[puti_i_kontury]);
2. n ,
3. v1, v2 ,
4. s[n][n] :
k m , s[k][m] = 0, ,
5. :
int t[puti_i_kontury][n+1] - : path , ,
float dlina[puti_i_kontury] - ,
6. s[n][n] ,
7. :
topolog(n, v1, v2, s, puti_i_kontury, &contur, &path, t, dlina);
8. :
|
|
path -,
contur ,
t[puti_i_kontury][n+1] - - ,
dlina[puti_i_kontury] - .
: :
1 6.
n=6, v1=1, v2=6 ( ):
0 1 0 1 0 0
0 0 1 0 1 0
s[6][6]= 0 0 0 0 0 1
0 0 1 0 1 0
1 0 0 0 0 1
0 0 0 0 0 0
:
#include <stdio.h>
#include <math.h>
#include <conio.h>
void topolog(int n, int v1, int v2, float s[n][n], int puti_i_kontury, int *contur, int *path, int t[puti_i_kontury][n+1], float dlina[puti_i_kontury]);
int main(int argc, char **argv)
{
int n; //
int v1; // -
int v2; // -
int puti_i_kontury; //
char path_input[30]="E:/User/topolog_inp_6.txt";
// ,
char path_output[30]="E:/User/topolog_out_6.txt";
//
int contur; //
int path; // "-"
int i, j, i1, j1; //
Char c0;
printf("\nKol-vo vershin n= ");
scanf("%d", &n);
float s[n][n]; // :
// k m
// d,
// s[k][m]=d, s[k][m]=0.0
printf("\nNomer vhoda v1= ");
scanf("%d", &v1);
printf("\nNomer vyhoda v2= ");
scanf("%d", &v2);
printf("\nMax. kol-vo putej i konturov (predpoloshit.) puti_i_kontury= ");
scanf("%d", &puti_i_kontury);
int t[puti_i_kontury][n+1]; // :
// path
// ,
//
// - -,
// contur
// ,
// .
float dlina[puti_i_kontury]; //
//
FILE *f_input;
f_input=fopen(path_input, "r"); //
if (f_input==0)
{
printf("Error input!");
Return 1;
}
for (i=0; i<n; i++)
for (j=0; j<n; j++)
fscanf(f_input, "%f", &s[i][j]);
Fclose(f_input);
topolog(n, v1, v2, s, puti_i_kontury, &contur, &path, t, dlina);
FILE *f_output;
f_output=fopen(path_output, "w"); //
if (f_output==0)
{
printf("Error output!");
Return 1;
}
if (path>0)
{
printf("\n");
printf("V grafe:\n");
printf("\nvsego putey - %3d\n", path);
printf("\nPuti ot %2d do %2d:\n",v1,v2);
printf("Puty vershiny dlina\n");
fprintf(f_output, "\n");
fprintf(f_output, "V grafe:\n");
fprintf(f_output, "\nvsego putey - %3d\n", path);
|
|
fprintf(f_output, "\nPuti ot %2d do %2d:\n",v1,v2);
fprintf(f_output, "Puty vershiny dlina\n");
for (i=1; i<=path; i++)
{
printf("%3d ", i);
fprintf(f_output, "%3d ", i);
for (j=1; j<=n; j++)
{
i1=t[i-1][j-1];
j1=t[i-1][j];
if (i1!=0)
{
printf("%4d", i1);
fprintf(f_output, "%4d", i1);
}
}
printf(" %0.2f\n", dlina[i-1]);
fprintf(f_output, " %0.2f\n", dlina[i-1]);
}
}
if (contur>0)
{
printf("\n");
printf("\nvsego konturov - %3d\n", contur);
printf("Kontur vershiny dlina\n");
fprintf(f_output, "\n");
fprintf(f_output, "\nvsego konturov - %3d\n", contur);
fprintf(f_output, "Kontur vershiny dlina\n");
for (i=1; i<=contur; i++)
{
i1=i+path;
printf("%3d ", i);
fprintf(f_output, "%3d ", i);
for (j=1; j<=n+1; j++)
{
j1=t[i1-1][j-1];
if (j1!=0)
{
printf("%4d", j1);
fprintf(f_output, "%4d", j1);
}
}
printf(" %0.2f\n", dlina[i1-1]);
fprintf(f_output, " %0.2f\n", dlina[i1-1]);
}
}
Fclose(f_output);
c0=getch();
Return 0;
}
: