Я написал код для симметрии матрицы относительно побочной диагонали, на он ругается на
void swap(int *a, int *b)
{
int temp = a;
*a = b;
*b = temp;
}
А именно на
*a = b;
Вот сам код:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
void swap(int *a, int *b)
{
int temp = a;
*a = b;
*b = temp;
}
int main()
{
setlocale(LC_ALL, "RUS");
int **p, n, i, j;
printf_s("введите n\n");
scanf_s("%d", &n);
p = (int*)malloc(n*n * sizeof(int));
srand(time(0));
printf("\nОбычная:\n");
for (i = 0; i < n; i++)
{
for(j=0;j<n;j++)
{
*(p+i*n+j) = rand() % 99;
printf("%3d ", *(p + i * n + j));
}
printf("\n");
}
printf("\n\nИзмененная:\n");
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
if ((i + j) < (n - 1))
{
swap(&p[i][j], &p[n - j - 1][n - i - 1]);
}
printf("%3d ", *(p + i * n + j));
}
printf("\n");
}
_getch();
free(p);
return 0;
}
Рабочий вариант вашего метода swap:
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
Однако, как заметили в комментариях выше у вас есть другие проблемы с приведенной программой.
Перед свапом на проверять что свапаете (мало-ли что программисты понаписали). Метод на Xor не просит tmp переменную
void XORswap(int* a, int* b)
{
if (a == b)
{
return;
}
*a ^= *b;
*b ^= *a;
*a ^= *b;
}
На крайняк (сарказм), не надо рожать костыль а дергать std
в
<algorithm>
есть
std::swap
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Вообще не понимаю как работает "word[i] != word[len-i-1]"Пожалуйста, опишите как можно подробнее и "для чайников")
Есть очень интересная задачаНужно заполнить двумерный массив MxN случайными числами в диапазоне [-5; 10] с помощью ГСЧ, а потом посчитать среднее...
Как программно создать в ячейках таблицы QTableView сетку QGridLayout, в которой размещены лейблы QLable?
Когда много раз ищешь все ссылки на функцию, переменную, да на всё, что угодно, поиск идёт бесконечно, и при этом при попытке выйти из студии...