Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Текст программы






#include< stdio.h>

#include< math.h>

#define N 200

#include< stdlib.h>

char*fgets(char*s, int n, FILE*stream);

float time(int n, float *t);

void vhod(float *t, float *mas, int n);

void vihod(float *t, float *mas, float *nmas, int n);

void print(float *t, float *mas, float *nmas, int n);

float zad(float *x, int n);

void toch(int n, float *t, float *a);

void toch2(int n, float *t, float *b, float *a);

int main()

{ int n=15; int i, f1, f2;

float t[200], x[200], y[200], p1, p2, d;

char str[80];

FILE *fp;

fp=fopen(" zas.txt", " r");

if(fp==NULL)

{

printf(" \n file ne otkryt\n");

exit(1);

}

while (fgets (str, 81, fp)! =NULL)

{

puts(str);

}

fclose(fp);

f2=0;

do

{

printf(" \nVVedite nomer deystvia \n");

printf(" 1-podschet and vivod massivov \n");

printf(" 2-vipolnenie zadachi\n");

printf(" 3-podschet s tochnost'yu\n");

printf(" 4-sapis' v file\n");

scanf(" %d", & f1);

switch(f1)

{

case 1: {time(n, t);

vhod(t, x, n);

vihod(t, x, y, n);

print(t, x, y, n); }; break;

case 2: {printf(" \nTIME(Uvh)=%f", zad(x, n));

printf(" \nTIME(Uvih)=%f", zad(y, n));

printf(" \n"); }; break;

case 3: {printf(" \ntoch VHODa\n");

toch(n, t, x);

printf(" \n");

printf(" \ntoch VIHODa\n");

toch2(n, t, x, y); }; break;

case 4: FILE *fp2;

fp2=fopen(" dan.txt", " w");

if(fp2==NULL)

{

printf(" \n file ne otkryt\n");

exit(1);

}

for(int i=0; i< 70; i++)

{

fprintf(fp2, " \n %.2.5f", t[i]);

}

fprintf(fp2, " %c", 13);

for(int i=0; i< 70; i++)

{

fprintf(fp2, " \n %.2.5f", x[i]);

}

fprintf(fp2, " %c", 13);

fprintf(fp2, " %c", 13);

for(int i=0; i< 70; i++)

{

fprintf(fp2, " \n %.2.5f", y[i]);

}

fclose(fp2);; break;

case 5:; break;

}

printf(" \nhotite prodoljit'??? (0-yes; 1-no)\n");

scanf(" %d", & f2);

}

while (f2==0);

}

float time(int n, float *t)

{ int i;

float dt, mast, tn=0, tk=40;

dt=(tk-tn)/(n-1);

mast=tn;

for (i=0; i< n; i++)

{

*(t+i)=mast;

mast+=dt;

}

return *t;

}

void vhod(float *t, float *mas, int n)

{int i;

float a, b, U, tn, tk, t1;

a=0.25; b=0.75; U=75; t1=20; tn=0; tk=40;

for(i=0; i< n; i++)

{ if (*(t+i)< t1) *(mas+i)=U*(1-exp(-a*(*(t+i))));

else *(mas+i)=U*(1-exp(-a*t1))*exp(-b*(*(t+i)-t1));

}

}

void vihod(float *t, float *mas, float *nmas, int n)

{int i;

for (i=0; i< n; i++)

{

if (*(mas+i)> 20) *(nmas+i)=40;

else *(nmas+i)=0.1*(*(mas+i))*(*(mas+i));

}

}

void print(float *t, float *mas, float *nmas, int n)

{ int i;

printf(" time \t\t vhod \t\t vihod ");

for(i=0; i< n; i++)

{

printf(" \n%5.5f \t %5.5f \t %5.5f ", t[i], mas[i], nmas[i]);

}

printf(" \n");

}

float zad(float *mas, int n)

{ int i;

float vmax, k; vmax=0;

for (i=0; i< n; i++)

{

if (vmax< mas[i]) vmax=mas[i];

}

k=0;

float dt, tn=0, tk=40;

dt=(tk-tn)/(n-1);

for(i=0; i< n; i++)

{

if (mas[i]> 0.7*vmax) k+=dt;

}

return k;

}

void toch(int n, float *t, float *a)

{ n=15; float p1, p2, d;

p1=zad(a, n);

for(n=30; n< 200; n=n*2)

{

time(n, t); vhod(t, a, n);

p2=zad(a, n);

d=fabs((p1-p2)/p2);

p1=p2;

if (d< 0.01) {printf(" p2=%.2.5f d=%.2.5f n=%d", p2, d, n); }

}

}

 

void toch2(int n, float *t, float *b, float *a)

{

n=15; float p1, p2, d;

p1=zad(a, n);

for(n=30; n< 200; n=n*2)

{

time(n, t); vhod(t, b, n); vihod(t, b, a, n);

p2=zad(a, n);

d=fabs((p1-p2)/p2);

p1=p2;

if (d< 0.01) {printf(" p2=%.2.5f d=%.2.5f n=%d", p2, d, n); }

}

}

 

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.