CodeGraderBench/CodeGraderBench huggingface dataset:
Problem: Write a C++ program to take the dimensions of a matrix (m,n) as input from the user. The program should then take the matrix (let us call it A) itself as input from the user. Following this, the program should compute the product of the transpose of A with A (i.e. ATA of size n x n) and display the result. To accomplish this task, write a function of the form void compute_matrixtranspose_matrix_product (int A[][MAX], int m, int n, int ATA[][MAX]).

Constraints
n is a positive integer, m,n <= 8

Student submission:
#include<iostream>
using namespace std;
#define MAX 100
void compute_matrixtranspose(int A[][MAX],int m,int n,int B[][MAX])
	{
	  for(int i=0;i<n;i++){
				for(int j=0;j<m;j++){B[i][j]=A[j][i];}  }
	  int C[MAX][MAX];
          for(int i=0;i<n;i++){
				for(int j=0;j<n;j++){C[i][j]=0; 
						     for(int k=0;k<m;k++)
                                   {   C[i][j]=C[i][j]+B[i][k]*A[k][j];}}}
	  for(int i=0;i<n;i++)
		{
		  for(int j=0;j<n;j++){cout<<C[i][j]<<" ";} cout<<endl;}
	}
int main(){
    int m,n;
cin>>m>>n;
int A[MAX][MAX];
int B[MAX][MAX];
for(int i=0;i<m;i++){
			for(int j=0;j<n;j++){cin>>A[i][j];}  }
compute_matrixtranspose(A,m,n,B);

}

Grading criterion: Overall calculation is in the function.
Rating A: Function written as per given signature
Rating B: Function written but not as per signature, or some other partially wrong
Rating C: Not done in function
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to take the dimensions of a matrix (m,n) as input from the user. The program should then take the matrix (let us call it A) itself as input from the user. Following this, the program should compute the product of the transpose of A with A (i.e. ATA of size n x n) and display the result. To accomplish this task, write a function of the form void compute_matrixtranspose_matrix_product (int A[][MAX], int m, int n, int ATA[][MAX]).

Constraints
n is a positive integer, m,n <= 8

Student submission:
#include<iostream>
using namespace std;
void compute_matrixtranspose_matrix_product (int A[][8], int m, int n, int ATA[][8]){
	for(int i=0;i<n;i++){
		for(int j=i;j<n;j++){
			ATA[i][j]=0;
			for(int k=0;k<m;k++){
				ATA[i][j] +=A[k][i]*A[k][j];
			}ATA[j][i]=ATA[i][j];
		}
	}
}
int main(){
	int m,n;cin>>m>>n;int A[8][8],ATA[8][8];
	for (int i=0;i<m;i++){
		for (int j=0;j<n;j++){
			cin>>A[i][j];
		}
	}compute_matrixtranspose_matrix_product(A,m,n,ATA);
	for (int i=0;i<n;i++){
		for (int j=0;j<n;j++){
			cout<<ATA[i][j]<<" ";
		}cout<<endl;
	}
}/*
6 2  6 4 8
4 1  2 1 3
8 3
*/

Grading criterion: Overall calculation is in the function.
Rating A: Function written as per given signature
Rating B: Function written but not as per signature, or some other partially wrong
Rating C: Not done in function
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to take the dimensions of a matrix (m,n) as input from the user. The program should then take the matrix (let us call it A) itself as input from the user. Following this, the program should compute the product of the transpose of A with A (i.e. ATA of size n x n) and display the result. To accomplish this task, write a function of the form void compute_matrixtranspose_matrix_product (int A[][MAX], int m, int n, int ATA[][MAX]).

Constraints
n is a positive integer, m,n <= 8

Student submission:
#include<iostream>
using namespace std;
#include<cmath>
#define MAX 100
void compute_matrixtranspose_matrix_product(int A[][MAX], int m, int n, int ATA[][MAX])
{
int i,j,k;
for(i=0 ; i<n;i++){
for(j=0; j<m; j++){
ATA[i][j]=0;
for(k=0; k<n; k++){
ATA[i][j] +=A[k][i]*A[k][j];
}
}
}
}
void get2Darray (int A[][MAX], int m, int n){
int i,j;
for(i=0;i<n;i++){
		for(j=0;j<m;j++){
			cin >> A[i][j];
		}
}
}
void print2Darray (int A[][MAX], int m, int n){
int i,j;
for(i=0;i<m;i++){
		for(j=0;j<m;j++){
			cout << A[i][j] << " ";
		}
		cout << endl;
}
}
int main() {
	int A[MAX][MAX], ATA[MAX][MAX];
	int n, m;
	cin >> n >> m;
	get2Darray(A,m,n);
        compute_matrixtranspose_matrix_product(A,m,n,ATA);
        print2Darray(ATA,m,n);
}

Grading criterion: Overall calculation is in the function.
Rating A: Function written as per given signature
Rating B: Function written but not as per signature, or some other partially wrong
Rating C: Not done in function
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to take the dimensions of a matrix (m,n) as input from the user. The program should then take the matrix (let us call it A) itself as input from the user. Following this, the program should compute the product of the transpose of A with A (i.e. ATA of size n x n) and display the result. To accomplish this task, write a function of the form void compute_matrixtranspose_matrix_product (int A[][MAX], int m, int n, int ATA[][MAX]).

Constraints
n is a positive integer, m,n <= 8

Student submission:
#include<iostream>
using namespace std;
void compute_matrixtranspose_matrix_product(int A[100][100],int m,int n,int ATA[100][100]){
        int AT[100][100];
        for(int i=0;i<n;i++){
           for(int j=0;j<m;j++){
           AT[i][j]=A[j][i];
           }}
        for(int i=0;i<n;i++){
          for(int j=0;j<n;j++){
          ATA[i][j]=0;
           for(int k=0;k<m;k++){
             ATA[i][j]+=AT[i][k]*A[k][j];
          }
        }
       }
}
int main(){
      int m,n;
      cin>>m>>n;
      int A[100][100],ATA[100][100];
      for(int i=0;i<m;i++){
        for(int j=0;j<n;j++){
         cin>>A[i][j];}}
      compute_matrixtranspose_matrix_product(A,m,n,ATA);
     for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
        cout<<ATA[i][j]<<" ";
       }
     cout<<endl;
}
}

Grading criterion: Overall calculation is in the function.
Rating A: Function written as per given signature
Rating B: Function written but not as per signature, or some other partially wrong
Rating C: Not done in function
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to take the dimensions of a matrix (m,n) as input from the user. The program should then take the matrix (let us call it A) itself as input from the user. Following this, the program should compute the product of the transpose of A with A (i.e. ATA of size n x n) and display the result. To accomplish this task, write a function of the form void compute_matrixtranspose_matrix_product (int A[][MAX], int m, int n, int ATA[][MAX]).

Constraints
n is a positive integer, m,n <= 8

Student submission:
#include <iostream>
using namespace std;
#define MAX 100
void get2Darray (int A[][MAX], int m, int n){
int i,j;
for(i=0;i<m;i++){
		for(j=0;j<n;j++){
			cin >> A[i][j];
		}
}
}
void compute_matrixtranspose_matrix_product (int A[][MAX], int m, int n, int ATA[][MAX]){
	int AT[MAX][MAX];
	for(int i=0;i<m;i++){
		for (int j = 0; j < n; j++)
		{
			AT[i][j]=A[j][i];
		}
	}
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			ATA[i][j]=0;
			for (int k = 0; k < m; k++)
			{
				ATA[i][j]=ATA[i][j]+AT[i][k]*A[k][j];
			}
		}
	}
}
void print2Darray (int A[][MAX], int m, int n){
int i,j;
for(i=0;i<m;i++){
		for(j=0;j<n;j++){
			cout << A[i][j] << " ";
		}
		cout << endl;
}
}
int main(){
	int m,n;
	cin>>m>>n;
	int A[MAX][MAX];
	get2Darray(A,m,n);
	int ATA[MAX][MAX];
	compute_matrixtranspose_matrix_product(A,m,n,ATA);
	print2Darray(ATA,n,n);
}

Grading criterion: Overall calculation is in the function.
Rating A: Function written as per given signature
Rating B: Function written but not as per signature, or some other partially wrong
Rating C: Not done in function
Rating D: 0
Assigned grade: B
Problem: Write a C++ program to take the dimensions of a matrix (m,n) as input from the user. The program should then take the matrix (let us call it A) itself as input from the user. Following this, the program should compute the product of the transpose of A with A (i.e. ATA of size n x n) and display the result. To accomplish this task, write a function of the form void compute_matrixtranspose_matrix_product (int A[][MAX], int m, int n, int ATA[][MAX]).

Constraints
n is a positive integer, m,n <= 8

Student submission:
#include<iostream>
using namespace std;
void compute_matrixtranspose_matrix_product(int A[][8],int m,int n,int ATA[][8]){
int B[8][8];
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
B[j][i]=A[i][j];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
ATA[i][j]=0;
for(int k=0;k<m;k++){
ATA[i][j]=ATA[i][j]+B[i][k]*A[k][j];
}
}

}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<ATA[i][j]<<" ";

}cout<<endl;
}


}



int main(){
int m,n;cin>>m>>n;
int A[m][8];
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
cin>>A[i][j];
}

}
int ATA[8][8];
compute_matrixtranspose_matrix_product(A,m,n,ATA);


}

Grading criterion: Overall calculation is in the function.
Rating A: Function written as per given signature
Rating B: Function written but not as per signature, or some other partially wrong
Rating C: Not done in function
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to take the dimensions of a matrix (m,n) as input from the user. The program should then take the matrix (let us call it A) itself as input from the user. Following this, the program should compute the product of the transpose of A with A (i.e. ATA of size n x n) and display the result. To accomplish this task, write a function of the form void compute_matrixtranspose_matrix_product (int A[][MAX], int m, int n, int ATA[][MAX]).

Constraints
n is a positive integer, m,n <= 8

Student submission:
#include<iostream>
using namespace std;
#define MAX 20
void compute_matrixtranspose_matrix_product (int A[][MAX] , int m, int n, int ATA[][MAX])
{
int i,j,k;
for(i=0; i<n; i++)
{ 
for(j=0; j<n; j++)
{
ATA[i][j]=0;
for(k=0; k<m; k++)
{ATA[i][j]=ATA[i][j]+A[k][i]*A[k][j];}
}
}
}
int main()
{
int m,n;
cin>>m;
cin>>n;
int A[m][20];
int ATA[n][20];
for(int a=0; a<m; a++)
{for(int b=0; b<n; b++)
{cin>>A[a][b];
}
}

compute_matrixtranspose_matrix_product (A, m, n, ATA);
for(int k=0; k<n; k++)
{for (int l=0; l<n; l++)
{cout<<ATA[k][l]<<" ";
}
cout<<endl;
}
}

Grading criterion: Overall calculation is in the function.
Rating A: Function written as per given signature
Rating B: Function written but not as per signature, or some other partially wrong
Rating C: Not done in function
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to take the dimensions of a matrix (m,n) as input from the user. The program should then take the matrix (let us call it A) itself as input from the user. Following this, the program should compute the product of the transpose of A with A (i.e. ATA of size n x n) and display the result. To accomplish this task, write a function of the form void compute_matrixtranspose_matrix_product (int A[][MAX], int m, int n, int ATA[][MAX]).

Constraints
n is a positive integer, m,n <= 8

Student submission:
#include<iostream>
using namespace std;
#define max 10000
void transpose(int a[][max],int b[][max],int n,int m)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
b[i][j]=a[j][i];
}
}

}

void compute_matrixtranspose_matrix_product (int a[][max], int n, int m, int b[][max],int c[][max])
{
for(int i=0;i<m;i++){
for(int j=0;j<m;j++){
c[i][j]=0;
for(int k=0;k<n;k++)
{
c[i][j]+=b[i][k]*a[k][j];
}
}
}

}





int main()
{
int n,m;cin>>n>>m;
int a[n][max];int c[n][max];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++)
{
cin>>a[i][j];
}
}
int at[m][max];
transpose(a,at,n,m);
compute_matrixtranspose_matrix_product(a,n,m,at,c);
for(int i=0;i<m;i++)
{
for(int j=0;j<m;j++)
{
cout<<c[i][j]<<" ";
}
cout<<endl;
}
}

Grading criterion: Overall calculation is in the function.
Rating A: Function written as per given signature
Rating B: Function written but not as per signature, or some other partially wrong
Rating C: Not done in function
Rating D: 0
Assigned grade: B
Problem: Write a C++ program to take the dimensions of a matrix (m,n) as input from the user. The program should then take the matrix (let us call it A) itself as input from the user. Following this, the program should compute the product of the transpose of A with A (i.e. ATA of size n x n) and display the result. To accomplish this task, write a function of the form void compute_matrixtranspose_matrix_product (int A[][MAX], int m, int n, int ATA[][MAX]).

Constraints
n is a positive integer, m,n <= 8

Student submission:
#include <iostream>
using namespace std;








int main(){
int n1,n2;
int MAX;
cin>>n1>>n2;
int A[n1][n2];
int ATA[n2][n1];

for (int i=0;i<n1;i++){

for (int j=0;j<n2;j++){
cin>>A[i][j];
}
}
for (int i=0;i<n1;i++)
{
for (int j=0;j<n2;j++)
{
 ATA[j][i]=A[i][j];
}
}


for (int i=0;i<n2;i++){

for (int j=0;j<n1;j++){
cout<<ATA[i][j]<<" ";
}
cout<<endl;

}
}

Grading criterion: Overall calculation is in the function.
Rating A: Function written as per given signature
Rating B: Function written but not as per signature, or some other partially wrong
Rating C: Not done in function
Rating D: 0
Assigned grade: C
Problem: Write a C++ program to take the dimensions of a matrix (m,n) as input from the user. The program should then take the matrix (let us call it A) itself as input from the user. Following this, the program should compute the product of the transpose of A with A (i.e. ATA of size n x n) and display the result. To accomplish this task, write a function of the form void compute_matrixtranspose_matrix_product (int A[][MAX], int m, int n, int ATA[][MAX]).

Constraints
n is a positive integer, m,n <= 8

Student submission:
#include<iostream>
using namespace std;
#define MAX 100
void compute_matrixtranspose_matrix_product (int A[][MAX], int m, int n, int ATA[][MAX]){
  if(m<=8&&n<=8&&m>0&&n>0)
  {
  int AT[MAX][MAX];
  
  for(int i=0;i<n;i++)
{ 
    for(int j=0;j<m;j++)
    {
       AT[i][j]=A[j][i];
    }
    
}
  for(int i=0;i<n;i++)
    {
      for(int j=0;j<m;j++)
      {
        cout<<AT[i][j]<<' ';
     
      }
      cout<<"\n";
      }  
  
  
  
  
  for(int i=0;i<m;i++)
  {
    for(int j=0;j<m;j++)
    {
    ATA[i][j]=0;
      for(int k=0;k<n;k++)
      {
    
      ATA[i][j]=ATA[i][j]+A[i][k]*AT[k][j];
      }
    }
  }
     for(int i=0;i<m;i++)
    {
      for(int j=0;j<m;j++)
      {
        cout<<ATA[i][j]<<' ';
     
      }
      cout<<"\n";
   }
   
      
  }  
  else{
    return ;
  }
}
int main(){
int m,n;

cin>>m>>n;
int A[MAX][MAX],ATA[MAX][MAX];
for(int i=0;i<m;i++)
    {
      for(int j=0;j<n;j++)
      {
        cin>>A[i][j];
     
      }
    }
compute_matrixtranspose_matrix_product (A,m,n,ATA);
}

Grading criterion: Overall calculation is in the function.
Rating A: Function written as per given signature
Rating B: Function written but not as per signature, or some other partially wrong
Rating C: Not done in function
Rating D: 0
Assigned grade: B
Problem: Write a C++ program to take the dimensions of a matrix (m,n) as input from the user. The program should then take the matrix (let us call it A) itself as input from the user. Following this, the program should compute the product of the transpose of A with A (i.e. ATA of size n x n) and display the result. To accomplish this task, write a function of the form void compute_matrixtranspose_matrix_product (int A[][MAX], int m, int n, int ATA[][MAX]).

Constraints
n is a positive integer, m,n <= 8

Student submission:
#include<iostream>
using namespace std;

#define MAX 100

void getMatrix (int A[][MAX],int m,int n){
for (int i=0;i<m;i++){
    for (int j=0;j<n;j++){
        cin>>A[i][j];
    }
}
}

void compute_matrixtranspose_matrix_product (int A[][MAX],int m,int n,int ATA[][MAX]){

    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            ATA[i][j]=0;
            for(int k=0;k<m;k++){
                ATA[i][j]+= A[k][i]*A[k][j];
            }
        }
    }
}



int main(){

int m,n;
cin>>m>>n;

int A[m][MAX];

getMatrix (A,m,n);

int ATA[n][MAX];


compute_matrixtranspose_matrix_product (A, m,n,ATA);

for(int i=0;i<n;i++){
    for (int j=0;j<n;j++){
        cout<<ATA[i][j]<<" ";
    }
    cout<<endl;
}

return 0;
}

Grading criterion: Overall calculation is in the function.
Rating A: Function written as per given signature
Rating B: Function written but not as per signature, or some other partially wrong
Rating C: Not done in function
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to take the dimensions of a matrix (m,n) as input from the user. The program should then take the matrix (let us call it A) itself as input from the user. Following this, the program should compute the product of the transpose of A with A (i.e. ATA of size n x n) and display the result. To accomplish this task, write a function of the form void compute_matrixtranspose_matrix_product (int A[][MAX], int m, int n, int ATA[][MAX]).

Constraints
n is a positive integer, m,n <= 8

Student submission:
#include<iostream>
using namespace std;
#define max 8
void input(int A[max][max],int m,int n)
{
for (int i=0;i<m;i++)
{
 for (int j=0;j<n;j++) cin>>A[i][j];
}
}
void output(int A[max][max],int m,int n)
{
for (int i=0;i<m;i++)
{
 for (int j=0;j<n;j++) cout<<A[i][j]<<" ";
 cout<<endl;
}
}
void compute_matrixtranspose_matrix_product(int A[max][max],int m,int n,int ATA[max][max])
{
int AT[max][max];
for (int i=0;i<m;i++)
{
 for (int j=0;j<n;j++)
 {
  AT[j][i]=A[i][j];
 }
}
for(int i=0;i<n;i++)
{
 for(int j=0;j<n;j++)
{
  ATA[i][j]=0;
  for(int k=0;k<m;k++)
 {
  ATA[i][j]+=AT[i][k]*A[k][j];
 }
}
}
output(ATA,n,n);
}
int main(){
int A[max][max],ATA[max][max];
int m,n;
cin>>m;
cin>>n;
input(A,m,n);
compute_matrixtranspose_matrix_product(A,m,n,ATA);
}

Grading criterion: Overall calculation is in the function.
Rating A: Function written as per given signature
Rating B: Function written but not as per signature, or some other partially wrong
Rating C: Not done in function
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to take the dimensions of a matrix (m,n) as input from the user. The program should then take the matrix (let us call it A) itself as input from the user. Following this, the program should compute the product of the transpose of A with A (i.e. ATA of size n x n) and display the result. To accomplish this task, write a function of the form void compute_matrixtranspose_matrix_product (int A[][MAX], int m, int n, int ATA[][MAX]).

Constraints
n is a positive integer, m,n <= 8

Student submission:
#include<iostream>
using namespace std;
void compute_matrixtranspose_matrix_product (int A[][8], int m, int n, int ATA[][8]){
int AT[8][8];
for(int i=0;i<n;i++){for(int j=0;j<n;j++){ATA[i][j]=0;}}
for(int i=0;i<m;i++){for(int j=0;j<n;j++){AT[j][i]=A[i][j];}}
for(int i=0;i<n;i++){for(int j=0;j<n;j++){
for(int k=0;k<m;k++){
ATA[i][j]+=AT[i][k]*A[k][j];}}}}
int main(){
int A[8][8];
int ATA[8][8];
int m,n;
cin>>m>>n;
for(int i=0;i<m;i++){for(int j=0;j<n;j++){cin>>A[i][j];}}
compute_matrixtranspose_matrix_product (A,m,n,ATA);
for(int i=0;i<n;i++){for(int j=0;j<n;j++){cout<<ATA[i][j]<<" ";}cout<<endl;}}

Grading criterion: Overall calculation is in the function.
Rating A: Function written as per given signature
Rating B: Function written but not as per signature, or some other partially wrong
Rating C: Not done in function
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to take the dimensions of a matrix (m,n) as input from the user. The program should then take the matrix (let us call it A) itself as input from the user. Following this, the program should compute the product of the transpose of A with A (i.e. ATA of size n x n) and display the result. To accomplish this task, write a function of the form void compute_matrixtranspose_matrix_product (int A[][MAX], int m, int n, int ATA[][MAX]).

Constraints
n is a positive integer, m,n <= 8

Student submission:
#include<iostream>
using namespace std;
const int MAX=10;
void transposenproduct(int a[][MAX],int ata[][MAX],int m,int n){
	int **at=new int* [MAX];
	for (int i=0;i<MAX;i++){
		at[i]=new int [MAX];
	}
	for (int i=0;i<m;i++){
		for (int j=0;j<n;j++){
			at[j][i]=a[i][j];
		}
	}
	for (int i=0;i<n;i++){
		for (int j=0;j<n;j++){
			ata[i][j]=0;
			for (int k=0;k<m;k++){
				ata[i][j]=ata[i][j]+at[i][k]*a[k][j];
			}
		}
	}
	return;
}
int main (){
	int m,n;
	cin>>m>>n;
	int a[MAX][MAX];
	int ata[MAX][MAX];
	for (int i=0;i<m;i++){
		for (int j=0;j<n;j++){
			cin>>a[i][j];
		}
	}
	transposenproduct(a,ata,m,n);
	for (int i=0;i<n;i++){
		for (int j=0;j<n;j++){
			cout<<ata[i][j]<<" ";
		}
		cout<<endl;
	}
}

Grading criterion: Overall calculation is in the function.
Rating A: Function written as per given signature
Rating B: Function written but not as per signature, or some other partially wrong
Rating C: Not done in function
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to take the dimensions of a matrix (m,n) as input from the user. The program should then take the matrix (let us call it A) itself as input from the user. Following this, the program should compute the product of the transpose of A with A (i.e. ATA of size n x n) and display the result. To accomplish this task, write a function of the form void compute_matrixtranspose_matrix_product (int A[][MAX], int m, int n, int ATA[][MAX]).

Constraints
n is a positive integer, m,n <= 8

Student submission:
#include<iostream>
using namespace std;

// a is the matrix given by user 
// t is the transpose matrx of a
// p is the product matrix of a nd t

void inputmatrix(int a[][8],int m,int n){
    for(int i=0;i<m;i++){
        for(int j=0;j<n;j++){
              cin>>a[i][j];
             }
     }
}

void transpose(int a[][8],int t[][8],int m,int n){
     for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
              t[i][j]=a[j][i];
             }
     }
}

void compute_matrixtranspose_matrix_product(int a[][8], int t[][8], int p[][8], int m, int n){

int i,j,k;
for(i=0;i<m;i++) {
for(j=0;j<m;j++){
			p[i][j] = 0;
	for(k=0;k<n;k++){
			p[i][j] += a[i][k]*t[k][j]; 
			}
} 
}
}

void print(int p[][8],int m,int n){
       for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
              cout<<p[i][j]<<" ";
             }
     }
}

int main(){
  int a[8][8];
  int t[8][8];
  int p[8][8];
  int m,n;
  cin>>m>>n;
  inputmatrix(a,m,n);
  transpose(a,t,m,n);
  compute_matrixtranspose_matrix_product(a,t,p,m,n);
  print(p,m,n);
  
  
}

Grading criterion: Overall calculation is in the function.
Rating A: Function written as per given signature
Rating B: Function written but not as per signature, or some other partially wrong
Rating C: Not done in function
Rating D: 0
Assigned grade: B
Problem: Write a C++ program to take the dimensions of a matrix (m,n) as input from the user. The program should then take the matrix (let us call it A) itself as input from the user. Following this, the program should compute the product of the transpose of A with A (i.e. ATA of size n x n) and display the result. To accomplish this task, write a function of the form void compute_matrixtranspose_matrix_product (int A[][MAX], int m, int n, int ATA[][MAX]).

Constraints
n is a positive integer, m,n <= 8

Student submission:
#include<simplecpp>
void compute_matrixtranspose_matrix_product(int A[][MAX],int m,int n,int ATA[][MAX]);
{
	//i am not being able to compute this as i dont know the formula of finding A transpose
	int AT[][];
	for(i=0;i<m;i++){
		for(j=0;j<n;j++){
			AT[j][i]=A[i][j];}
	}
	
	for(i=0;i<m;i++){
		for(j=0;j<n;j++){
			ATA[i][j]=AT[j][i]*A[i][j];}
	}
	for(i=0;i<m;i++){
		for(j=0;j<n;j++){
			cout>>ATA[i][j];}
		cout>>endl;
	}
}
main_program{
	int n,m,i,j;
	cin>>m;
	cin>>n;
	int A[m][n];
	for(i=0;i<m;i++){
		for(j=0;j<n;j++){
			cin>>A[i][j];
		}
	}
	for(i=0;i<m;i++){
		for(j=0;j<n;j++){
			cout<<A[i][j];
		}
		cout<<endl;
	}
	int ATA[n][m];
	compute_matrixtranspose_matrix_product(A[][n],m,n,ATA[][m]);
}

Grading criterion: Overall calculation is in the function.
Rating A: Function written as per given signature
Rating B: Function written but not as per signature, or some other partially wrong
Rating C: Not done in function
Rating D: 0
Assigned grade: B