/* Problema. Calcolare una rotazione di n gradi di una matrice 2x2 in input Input: una matrice A 2x2 e un angolo ang in gradi Output: la matrice B = A * rot(ang) */ //Programma: #include #define PI 3.14159265358979 int main() { const int N = 2; double A[N][N], B[N][N], R[N][N]; int ang,i,j,k; double rad; cout << "dammi la matrice 2x2" << endl; for (i = 0; i < N; ++i) for (j = 0; j < N; ++j) { cout << "Elemento " << i << " " << j << ": "; cin >> A[i][j]; } cout << "dammi l'angolo in gradi: "; cin >> ang; rad=ang/180.0*PI; R[0][0]=cos(rad); R[0][1]=-sin(rad); R[1][0]=sin(rad); R[1][1]=cos(rad); cout << "La matrice ruotata e':" << endl; for (i = 0; i < N; ++i) {for (j = 0; j < N; ++j) {B[i][j]=0; for (k = 0; k < N; ++k) B[i][j]=B[i][j]+A[i][k]*R[k][j]; cout << B[i][j] << " "; } cout << endl; } return 0; }