Приложение В. Исходный код программы 4.
Исходный код программы 4. 1)Main.cpp #include "my.h" void main () { test(); clrscr(); int *A; int n; float gm,ar; A=input(&n); gm=geom(A,n); ar=arif (A,n); output(A,n); outputp (gm,ar); perestanov (A,n); output (A,n); if (!getch()) getch(); free (A); } int* input (int *pn) { printf ("\nvvedite kol-vo elementov massiva\n"); scanf ("%d",pn); int *A; A=(int*)malloc((*pn)*sizeof(int)); printf ("vvedite element massiva na otrezke [-32768;32767]\n"); int res=0; for (int i=0;i<*pn;i++) { res=scanf("%d",&(A[i])); if (res!=1) { output(1); } if ((A[i]>32767)||(A[i]<-32768)) output (3); } //realloc(A,sizeof(int)); return (int*)A; } void output (int A[],int pn) { printf("elementy massiva\n"); for (int i=0; i<pn;i++) printf("%d\n",A[i]); //printf("geom=%d\n",gm);
} void outputp (float gm,float ar) { printf("geom=%.2f\n",gm); printf("geom=%.2f\n",ar); } void output (int flag) { printf ("error #%d",flag); if (!getch()) getch(); exit (1); } 2)Calc.cpp #include "my.h" //float geom (int A[],int n); float geom (int A[],int n) { if ((n<1)||(n>32767)) { output(2); } float s=0; for (int i=0;i<n;i++) s+=A[i]; s/=2; return s; } //float arif (int A[],int n); float arif (int A[],int n) { if ((n<1)||(n>32767)) { output(2); } float s=0; for (int i=0;i<n;i++) s+=A[i]; s/=n; return s; } void perestanov (int A[],int n) { if ((n<1)||(n>32767)) { output(2); } int buf; buf=n%2; if (buf=1) n--; for (int i=0;i<n;i+=2) { buf=A[i]; A[i]=A[i+1]; A[i+1]=buf; } } 3) Test.cpp #include "my.h" void test () { int A[3]={1,2,3}; float result; result=geom(A,3); result=fabs(result-3.00000); //printf ("\n%f\n",result); if (result>(0.000001)) output (4); result=0; result=arif(A,3); //printf ("%f\n",result); if (fabs(result-2.0)>(0.000001)) output (5); perestanov(A,3); if ((A[0]!=2)&&(A[1]!=1)&&(A[2]!=3)) output(6); printf ("Programma uspeshno zavershila samotestirovanie"); }
|