{int n,m; float **a; a=new float *[n];
Создали массив указателей в количестве n штук на float, каждый элемент массива, является адресом, в котором хранится указатель на float. Осталось определить значение этого указателя. Для этого организуем цикл от 0 до n-1, в котором каждый указатель будет адресовать участок памяти, в котором хранится m элементов.
for(i=0;i<n;i++) a[i]=new float(m);
ai,j – a[i][j]
По окончании работы необходимо освободить память
for(i=0;i<n;i++) delete a[i]; delete [];
41. Вычислить количество положительных элементов квадратной матрицы, расположенных по ее периметру и на диагоналях.
#include "stdafx.h"
#include <iostream.h>
#include <malloc.h>
int main(int argc, char* argv[])
{ float *a; int i,j,n,k=0;
cout<<"n="; cin>>n;
cout<<"Vvod matrici"<<endl;
a=(float *)calloc(n*n,sizeof(float));
for(i=0;i<n;i++)
for(j=0;j<n;j++)
cin>>*(a+i*n+j);
cout<<"Matrica« <<endl;
for(i=0;i<n;i++)
{ for(j=0;j<n;j++) cout<<*(a+i*n+j)<<"t“; cout<<endl; }
for(i=0;i<n;i++)
{ if (*(a+i*n+i)>0) k++;
if( *(a+i*n+n-i-1)>0) k++; }
cout<<"k="<<k<<endl;
for(i=1;i<n-1;i++)
{ if (*(a+0*n+i)>0 ) k++;
if (*(a+i*n+0)>0) k++;
if (*(a+(n-1)*n+i)>0) k++;
if (*(a+i*n+n-1)>0) k++; }
cout<<"k="<<k<<endl;
if (n%2!=0 && *(a+(n-1)/2*n+(n-