Matrix6. Даны целые положительные числа M, N, число Q и набор из N чисел. Сформировать матрицу размера MxN, у которой первая строка совпадает с исходным набором чисел, а элементы каждой следующей строки равны соответствующему элементу предыдущей строки, умноженному на Q (в результате каждый столбец матрицы будет содержать элементы геометрической прогрессии).
Код
#include <stdio.h>
#include <stdlib.h>
int main(){
double**line;
int i,j,n=4,q=2;
double N[]={1,2,3,4};
int*m;
line=(double**)calloc(n,sizeof(double*));
m=(int*)malloc(sizeof(int)*n);
for(i=0;i<n;i++){
m[i]=4;
line[i]=(double *)calloc(m[i], sizeof(double));
for(j=0;j<m[i];j++){
if(i==0) line[i][j]=N[j];
else if(i==1) line[i][j]=N[j]*q;
else line[i][j]=N[j]*q;
}
if(i>=1)q=q*2;
}
printf("\n Rezultat obrabotki: \n");
for(i=0;i<n;i++){
printf("\n");
for(j=0;j<m[i];j++) printf("\t %f",line [i][j]);
free(line[i]);
}
free(line);
free(m);
printf("\n \n");
}