Листинг программы
#include <stdio.h>
#include <conio.h>
#define L 70
#define M 7
#define N 9
void inmas(float *, int);
float sum(float *,int,int);
void outmas(float *, int, int);
int main (void)
{float a[L],b[M][N];
printf("\nInput massiv a[%d]\n",L);
inmas(&a[0],L);
printf("Input matritca b[%d][%d]\n",M,N);
inmas(&b[0][0],M*N);
outmas(a,1,L);
outmas(&b[0][0],M,N);
printf("z=%f",(sum(&a[0],L,1)+sum(&b[0][0],M*N,-1))/(sum(&a[0],L,1)-sum(&b[0][0],M*N,-1)));
getch();
return 0;}
void inmas(float *a, int n)
{int i=0;
for(;i<n;i++)
scanf("%f",a++);}
float sum(float *a, int n, int p)
{int i,k=0;
for(i=0;i<n;i++)
if(a[i]*p>0)
k+=a[i];
return k;}
void outmas(float *a, int m, int n)
{int i,j;
for(i=0;i<m;i++)
{for(j=0;j<n;j++)
printf("%f\t",*a++);
printf("\n");}
printf("\n");}
Тестирование
Для удобства тестирования L=3, M=3, N=2
a[L] b[M][N]
Результат
Должно быть Получено
1 6 3 8 9
4 6
1 0
Z=1 Z=1
5 -3 6 1 -8
4 -2
-7 0
Z=-0.214286 Z=-0.214286
9 2 7 3 -1
5 -3
-2 1
Z=0.500000 Z=0.500000
Вывод: программа работает правильно.
6