#include #include #include const int SIZE = 1024; void matmul(float** A, float** B, float** C, int n) { for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { float sum = 0; for (int k = 0; k < n; k++) { sum += A[i][k] * B[k][j]; } C[i][j] = sum; } } } int main() { float** A = new float* [SIZE]; for (int i = 0; i < SIZE; i++) { A[i] = new float[SIZE]; } float** B = new float* [SIZE]; for (int i = 0; i < SIZE; i++) { B[i] = new float[SIZE]; } float** C = new float* [SIZE]; for (int i = 0; i < SIZE; i++) { C[i] = new float[SIZE]; } for (int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { A[i][j] = (float)(rand() % 100); B[i][j] = (float)(rand() % 100); } } clock_t start_time, end_time; start_time = clock(); matmul(A, B, C, SIZE); end_time = clock(); double elapsed_time = ((double)(end_time - start_time)) / CLOCKS_PER_SEC; std::cout << "基础矩阵乘法的运行时间:" << elapsed_time << " 秒" << std::endl; for (int i = 0; i < SIZE; i++) { delete[] A[i]; delete[] B[i]; delete[] C[i]; } delete[] A; delete[] B; delete[] C; return 0; }