Thanks for your help, sorry to have bothjered you. Just one last question.

Is this along the right lines?

Code:

void scaling (double line[][3])
{
//double a=0;
double s;
double new_line2[2][3];
printf("\nHow much would you like to scale the line by?\nEnter a value between 0 and 1:");
scanf("%lf", &s);
int scaling_matrix[3][3] = { {s, 0, 0}, {0, s, 0}, {0, 0, s} };
//scaling_matrix[0][0]=s;
//scaling_matrix[1][0]=0;
//scaling_matrix[2][0]=0;
//scaling_matrix[0][1]=0;
//scaling_matrix[1][1]=s;
//scaling_matrix[2][1]=0;
//scaling_matrix[0][2]=0;
//scaling_matrix[1][2]=0;
//scaling_matrix[2][2]=s;
scaling_multiplication(line, scaling_matrix, new_line2);
printf("\nThe new start coordinates are: (%lf,%lf,%lf)", new_line2[0][0], new_line2[0][1], new_line2[0][2]);
printf("\nThe new end coordinates are: (%lf,%lf,%lf)", new_line2[1][0], new_line2[1][1], new_line2[1][2]);
}
void scaling_multiplication (double a[][3], double b[][3], double F[][3])
{
//F[0][0]=D[0][0]*E[0][0];
//F[0][1]=D[1][0]*E[0][1];
//F[0][2]=D[2][0]*E[0][2];
//F[1][0]=D[0][1]*E[1][0];
//F[1][1]=D[1][1]*E[1][1];
//F[1][2]=D[2][3]*E[1][2];
int i, j, k;
for(i=0; i<3; i++)
{
for(j=0; j<3; j++)
{
for(k=0; k<3; k++)
{
F[i][j] = a[i][k] + b[k][j];
}
}
}
}