Void main()

{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-