Приложение К
Исходный код программы 6. 1) Mai.cpp #include "my.h" void main() { clrscr (); int *B; int N; B=input(&N); output (B,N); long s1=0,s2=0; s1=sum23(B,N); s2=sumBol(B,N); invert(B,N); output(B,N); output (s1,s2); free(B); } int* input(int *pN) { printf ("\nVvedite kolichestvo elementov massiva\n"); scanf ("%d",pN); int *A; A=(int*)malloc((*pN)*sizeof(int)); printf ("\nVvedite elementy massiva\n"); for (int i=0;i<*pN;i++) scanf("%d",&(A[i])); return A; } void output (int A[],int N) { printf("\n"); for (int i=0;i<N;i++) printf (" %d",A[i]); if (!getch()) getch(); } void output(long s1,long s2) { printf ("\ns1= %d", s1); printf ("\ns2=%d",s2); if (!getch()) getch(); } 2) Calc.cpp #include "my.h" long sum23 (int A[],int N) { long s=0; for (int i=0;i<N;i++) { if ((A[i]%2==0)||(A[i]%3==0)) s+=A[i]; } return s; } long sumBol (int A[],int N) { long sum=0; for (int i=0;i<N-1;i++) { if (A[i]>A[i+1]) sum+=A[i]; } return sum; } void invert (int A[],int N) { int iMax=0,max=A[0]; int buf; for (int i=0;i<N;i++) { if (max<A[i]) { max=A[i]; iMax=i; } } i=0; if (iMax!=N-1) { iMax++; for (iMax;i<(N-iMax)/2+1;iMax++) { buf=A[N-1-i]; A[N-1-i]=A[iMax]; A[iMax]=buf; i++; } } } 3) Test.cpp #include "my.h" void test () { int A[6]={5,6,4,3,2,1}; long s; s=sum23(A,6); if (s!=15) { printf("error function sum23"); exit(1); } s=0; s=sumBol(A,6); if (s!=15) { printf("error function sumBol"); exit(1); } invert (A,6); int j=0; for (int i=2;i<6;i++) { if (A[i]!=j) { printf("error function sumBol"); exit(1); } } }
|