2016-07-17 3 views
-4

때문에, 행 2, A가 [0] [0] =이어서 0스와핑 행

방법 I 매트릭스 "A"의 1 행을 바꿀 수 가우스 제거 방법에서 매트릭스의 제 1 값을 가정 올바른 결과를 얻었습니까?

+0

왜 바꾸지 않으시겠습니까? –

답변

-1

동일한 유형의 임시 값을 유지하십시오. 값에 의한 스왑 값 예 : 단지 행을 교환 : 아래와 같이 simpel 2 차원 배열하는 방식을 구축 가정

temp=a[i][j]; 
a[i][j]=a[i+1][j]; 
a[i+1][j]=temp; 
-1

.

#include <stdio.h> 
#include <stdlib.h> 

#define S_MATRIX_DIM 5 

int main() 
{ 

    int **A; 
    int *tmp; 
    int i, j, entry; 

    entry = 0; 
    A = malloc(S_MATRIX_DIM * sizeof(int *)); 
    for (i = 0; i < S_MATRIX_DIM; i++) { 
    A[i] = malloc(S_MATRIX_DIM * sizeof(int)); 
    for (j = 0; j < S_MATRIX_DIM; j++) { 
     A[i][j] = entry++; 
    } 
    } 

    puts("Matrix A ="); 
    for (i = 0; i < S_MATRIX_DIM; i++) { 
    for (j = 0; j < S_MATRIX_DIM; j++) { 
     printf("%d,", A[i][j]); 
    } 
    putchar('\n'); 
    } 

    tmp = A[0]; 
    A[0] = A[1]; 
    A[1] = tmp; 

    puts("Matrix A, row exchanged ="); 
    for (i = 0; i < S_MATRIX_DIM; i++) { 
    for (j = 0; j < S_MATRIX_DIM; j++) { 
     printf("%d,", A[i][j]); 
    } 
    putchar('\n'); 
    } 

    for (i = 0; i < S_MATRIX_DIM; i++) { 
    free(A[i]); 
    } 
    free(A); 

    exit(EXIT_SUCCESS); 
}