Написать функцию булевского типа, переставляющую местами столбец и строку матрицы - 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; }
Объяснение кода листинга программы
- #include
- #include
- #include
- #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;
- }