Блинная сортировка (не могу найти ошибку в коде) - C (СИ)
Формулировка задачи:
#include <stdio.h>
void flip(int *data, int m, int n)
{
int swap, i;
for (i = m; i < --n; i++)
{
swap = data[i];
data[i] = data[n];
data[n] = swap;
}
}
int main()
{
int i, j, a, maxNumPos, moves = 0, length, data[100];
scanf_s("%d", &length);
if (length < 2)
return 0;
for (j = 0; j < length; j++)
{
scanf_s("%d", &data[j]);
}
for (i = length; i > 1; i--)
{
maxNumPos = 0;
for (a = 0; a < i; a++)
{
if (data[a] > data[maxNumPos])
maxNumPos = a;
}
if (maxNumPos == (i - 1))
continue;
if (maxNumPos >= 0)
{
flip(data, maxNumPos, i);
moves++;
}
}
for (j = 0; j < length; j++)
{
printf("%d ", &data[j]);
}
return moves;
}Решение задачи: «Блинная сортировка (не могу найти ошибку в коде)»
textual
Листинг программы
printf("%d ", data[j]);