/*
PRCDR.C
Приложение к лабораторной работе №4 Виталия Новичкова.
*/

/*
Определение функции prcdr() - функции формирования массива b
Первые два параметра - это параметры-массивы для передачи в функцию
массива с исходными данными и сформированного массива параметры A и B
определяют границы интервала нужных значений элементов
*/

void prcdr(float a[m][n], float b[3][m], int A, int B)
{
int i, j, // переменные - параметры циклов
k; // переменная для подсчёта количества нужных элементов
float product; // Переменная для подсчёта произведений
float summ;    // Переменная для подсчёта суммы

for(i=0; i<m; i++)  // Для каждой строки массива
	{
	product=1;   // Начальные установки для произведения,
	summ=0;      // суммы,
	k=0;         // и для количества нужных переменных
	for(j=0; j<n; j++) { /* перебираем элементы столбцов
				в поисках элементов.*/
	if((A<=a[i][j])&&(B>a[i][j])) /* Если значение перменной элемента
				попало в интервал */
		{
		product=product*a[i][j]; // формируем произведение
		summ=summ+a[i][j];       // формируем сумму
		k++;                     // увеличиваем количество
		}
		}
	if (k==0) // Если в данной строке нет нужных элементов,
		{
		b[0][i]=0;
		b[1][i]=k; // Элементы массива обнуляются
		b[2][i]=0;
		}
	else
		{
		b[0][i]=product;
		b[1][i]=k;
		b[2][i]=summ; // или им присваиваются значения.
		}
	}
}

