Witam, muszę zrobić dużą macierz - załóżmy 4000x4000 i ją przemnożyć. Zrobiłem na wskaźnikach, bo normalnie wywalało program. I teraz co? Mnoży mi się kilkanaście minut. Jest możliwość przyśpieszenia?
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
int m = 4000;
float **tab = new float * [m];
float **tab2 = new float * [m];
float **tab3 = new float * [m];
for(int i = 0; i < m ; i++)
{
tab[i] = new float[m];
tab2[i] = new float[m];
tab3[i] = new float[m];
}
for(int i = 0; i < m; i++)
{
for(int j = 0; j < m ; j++)
{
tab[i][j] = 1;
tab2[i][j] = 2;
tab3[i][j] = 0;
}
}
for(int i = 0; i < m; i++)
{
for(int j = 0; j < m; j++)
{
int s = 0;
for(int k = 0; k < m; k++)
s += tab[i][k] * tab2[k][j];
tab3[i][j] = s;
}
}
cout << tab3[m][m] << " ";
system("pause");
return 0;
}