Advertisement
codegod313

Transponation(recursus)

Nov 13th, 2019
280
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.81 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <cstdlib>
  3. #include <iostream>
  4.  
  5.  
  6. using namespace std;
  7.  
  8. void printm(int **a, int n) {
  9.     for (int i = 0; i < n; i++) {
  10.         for (int j = 0; j < n; j++) {
  11.             cout << a[i][j] << " ";
  12.         }
  13.         cout << endl;
  14.     }
  15.     cout << endl;
  16. }
  17.  
  18. void transponir_j(int i,int j, int n, int **a) {
  19.     if (j < n) {
  20.         swap(a[i][j], a[j][i]);
  21.         transponir_j(i, j + 1, n, a);
  22.     }
  23. }
  24.  
  25.  
  26. void transponir_i(int i,int n,int **a) {
  27.     if (i < n) {
  28.         transponir_j(i, i + 1, n, a);
  29.         transponir_i(i + 1, n, a);
  30.     }
  31.          
  32. }
  33.  
  34. int main()
  35. {
  36.     int n, m;
  37.     cin >> n;
  38.     m = n;
  39.     int **a = (int **)malloc(n * sizeof(int *));
  40.     for (int i = 0; i < n; i++) {
  41.         a[i] = (int *)malloc(m * sizeof(int));
  42.         for (int j = 0; j < m; j++) {
  43.             a[i][j] = rand() % 10;
  44.         }
  45.     }
  46.     printm(a, n);
  47.     transponir_i(0, n, a);
  48.     printm(a, n);
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement