утилита функционирует далеко не точно. функция возводит исключительно в 2 степень. вНежели затруднение? кто именно способен протянуть руку помощи?
Код:
Код
#include <stdafx.h>
#include <stdio.h>
#include <iostream>
using namespace std;
void f(int** x, int n,int** y, int** z)
{
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
{
z[i][j]=0;
for (int k = 0; k < n; k++)
z[i] [j]+= x[i] [k]* y[k][j];
}
}
int main()
{
setlocale(0,"");
int n=3;
int i,j,k;
int **a = new int* [n];
for (i = 0; i < n; i++)
{
a [i]= new int [n];
}
cout <<"Заведите матрицу:"<< endl;
for (i = 0; i< n; i++)
for (j = 0; j < n; j++)
cin>>a[i][j];
int **b = new int* [n];
for (i = 0; i < n; i++)
{
b [i]= new int [n];
}
for (i = 0; i< n; i++)
for (j = 0; j < n; j++)
b[i][j]=a[i][j];
int **c = new int* [n];
for (i = 0; i < n; i++)
{
c [i]= new int [n];
}
int l=2;
cout<<"Заведите позитивную уровень матрицы значительнее 1:"<<endl;
int t;
cin>>t;
while(l<t)
{
for (i=0;i<n;i++)
for (j=0;j<n;j++)
{
c[i][j]=a[i][j];
}
f(a, n, b, c);
l++;
}
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
cout<<c[i][j]<<" ";
cout<<endl;
}
system ("pause");
return 0;
}