2014-10-07 2 views
-2

Я написал этот код, чтобы повернуть квадратную матрицу на 90 градусов. но он начал показывать мне ошибку времени выполнения. У меня нет абсолютно никакой подсказки, почему я получаю это уведомление. Кто-то, пожалуйста, исправьте код для меня. Это показывает мне segmentation fault.i не имеет понятия, что это значит.Вращение 2D-массива в C на 90

#include <stdio.h> 

int main() 
{ 
    int N, i = 0, j = 0; 
    scanf("%d", &N); 
    int A[N][N], B[N][N], temp; 
    for (i = 0; i < N; i++) 
    { 
    for (j = 0; j < N; j++) 
    { 
     scanf("%d", (A[i][j])); 
    } 
    } 
    for (i = 0; i < N; i++) 
    { 
    for (j = 0; j < N; j++) 
    { 
     B[i][j] = A[j][i]; 
    } 
    } 
    for (i = 0; i < N; i++) 
    { 
    for (j = 0; j < N; j++) 
    { 
     temp = B[i][j]; 
     B[i][j] = B[N - i - 1][j]; 
     B[N - i - 1][j] = temp; 
    } 
    } 
    for (i = 0; i < N; i++) 
    { 
    for (j = 0; j < N; j++) 
    { 
     printf("%d", B[i][j]); 
    } 
    } 
    return 0; 
} 
+0

ни у нас. используйте отладчик. –

+0

Правильно отформатируйте свой код. –

ответ

2

замените этот scanf("%d",(A[i][j])); с этим scanf("%d",&A[i][j]);

+0

На самом деле gcc дает полезное предупреждение: формат «% d» ожидает аргумент типа «int *», но аргумент 2 имеет тип «int» [-Wformat =] scanf («% d», (A [i] [ J])); ^ –

Смежные вопросы