Написать функцию булевского типа, переставляющую местами столбец и строку матрицы - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста написать функцию : Написать функцию булевского типа, переставляющую местами столбец и строку матрицы. Значение функции «true», если результат отличается от аргумента. Заранее спасибо.

Решение задачи: «Написать функцию булевского типа, переставляющую местами столбец и строку матрицы»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
#define N 10
 
void swap(int& n1, int& n2);
 
void swap(int& n1, int& n2);
bool swapm(int** X, int n, int k);
 
int main()
{
    int** X = new int*[N];
    for (int i = 0; i < N; i++)
    {
        X[i] = new int[N];
        for (int j = 0; j < N; j++)
        {
            X[i][j] = rand() % 9 + 1;
            printf("%d ",X[i][j]);
        }
 
        printf("\n");
    }
 
    int s = -1;
    printf("\nindex = "); scanf("%d",&s);
 
    printf("swapm returned %s\n\n", swapm(X,N,s) ? "true" : "false");
 
    for (int t1 = 0; t1 < N; t1++)
    {
        for (int t2 = 0; t2 < N; t2++)
            printf("%d ",X[t1][t2]);
        printf("\n");
    }
 
    _getch();
 
    return 0;
}
 
bool swapm(int** X, int n, int k)
{
    bool b = false;
    for (int i = 0; i < n; i++)
    {
        b = (X[i][k] != X[k][i]) ? 1 : 0;
        swap(X[i][k],X[k][i]);
    }
 
    return b;
}
 
void swap(int& n1, int& n2)
 { int _tn = n1; n1 = n2; n2 = _tn; }

Объяснение кода листинга программы

  1. #include
  2. #include
  3. #include
  4. #define N 10
  5. void swap(int& n1, int& n2);
  6. void swap(int& n1, int& n2);
  7. bool swapm(int X, int n, int k);**
  8. int main()
  9. {
  10. int X = new int *[N];**
  11. for (int i = 0; i < N; i++)
  12. {
  13. X [i] = new int [N];**
  14. for (int j = 0; j < N; j++)
  15. {
  16. X [i][j] = rand() % 9 + 1;
  17. printf(%d,X[i][j]);
  18. }
  19. printf(\n);
  20. }
  21. int s = -1;
  22. printf(\nindex =); scanf(%d,&s);
  23. printf(swapm returned %s\n\n, swapm(X,N,s) ? true : false);
  24. for (int t1 = 0; t1 < N; t1++)
  25. {
  26. for (int t2 = 0; t2 < N; t2++)
  27. printf(%d,X[t1][t2]);
  28. printf(\n);
  29. }
  30. _getch();
  31. return 0;
  32. }
  33. bool swapm(int X, int n, int k)**
  34. {
  35. bool b = false;
  36. for (int i = 0; i < n; i++)
  37. {
  38. b = (X[i][k] != X[k][i]) ? 1 : 0;
  39. swap(X[i][k],X[k][i]);
  40. }
  41. return b;
  42. }
  43. void swap(int& n1, int& n2)
  44. {
  45. int _tn = n1; n1 = n2; n2 = _tn;
  46. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.733 из 5
Похожие ответы