text: #include <stdio.h>
  #include <stdlib.h>
  #include <time.h>
  
  void zamiana(int n,int m,int **tab);
  int** alokuj(int n, int m);
  int main()
  {
      int n,m;
  
      do
      {
          printf("***Rozmiary tablicy musza byc rowne***\n");
          printf("Podaj liczbe wierszy tablicy: ");
          scanf("%i",&n);
  
          printf("Podaj liczbe kolumn tablicy: ");
          scanf("%i",&m);
          printf("\n");
      }while(n==m);
  
  
      int **tab=alokuj(n,m),i,j;
      srand(time(NULL));
  //---------------------------------------------------------------------
      printf("tablice przed zamiana tab[i][j] na tab[j][i]: \n\n");
      for(i=0;i<n;i++)
      {
          for(j=0;j<m;j++)
          {
              tab[i][j]=rand()%11;
              printf("%4i",tab[i][j]);
          }
          printf("\n\n");
      }
      printf("\n\n");
  //---------------------------------------------------------------------
      printf("tablice po zamianie tab[i][j] na tab[j][i]: \n\n");
      zamiana(n,m,tab);
      for(i=0;i<n;i++)
      {
          for(j=0;j<m;j++)
          {
              printf("%4i",tab[i][j]);
          }
          printf("\n\n");
      }
      printf("\n\n");
  //---------------------------------------------------------------------
      return 0;
  }
  void zamiana(int n,int m,int **tab)
  {
      int i,j,pom;
      for(i=0;i<n;i++)
      {
          for(j=i;j<m;j++)
          {
              pom=tab[i][j];
              tab[i][j]=tab[j][i];
              tab[j][i]=pom;
          }
      }
  }
  int** alokuj(int n, int m)
  {
      int **tab=malloc(n*sizeof(int*));
      int i;
      for(i=0;i<n;i++)
      {
          *(tab+i)=malloc(m*sizeof(int));
      }
      return tab;
  }
  