// ex_ch10_10.c
#include <stdio.h>
#define ROWS 3
#define COLS 5

void show_arr(const double ar[][COLS], int n);
void double_arr(const double src[], double dest[], int n);

int main(void)
{
	const double source[ROWS][COLS] = {
		{1.1, 2.2, 3.3, 4.4, 5.5},
		{2.1, 3.2, 4.3, 5.4, 6.5},
		{3.1, 4.2, 5.3, 6.4, 7.5},
	};
	double target[ROWS][COLS];
	int i;

	printf("Original array:\n");
	show_arr(source, ROWS);

	// double each subarray
	for (i = 0; i < ROWS; i++)
		double_arr(source[i], target[i], COLS);

	printf("Doubled array:\n");
	show_arr(target, ROWS);
	
	return 0;
}

void double_arr(const double src[], double dest[], int n)
{
	int i;

	for (i = 0; i < n; i++)
		dest[i] = src[i] * 2;
}

void show_arr(const double ar[][COLS], int n)
{
	int i, j;
	
	for (i = 0; i < n; i++)
	{
		for (j = 0; j < COLS; j++)
			printf("%.1f  ", ar[i][j]);
		putchar('\n');
	}
}
