Accessing array row and row-by-column switching

1

Good afternoon friends, I'm trying to make a swap in an array, swap values from the first row with the values from the last column. I know that a line of an array in C is a vector. I thought of doing so but as always my logic is wrong.

#define TAMANHO 4

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

void receberMatriz(int matrizPRI[TAMANHO][TAMANHO]);
void ordenarMatriz(int matrizPRI[TAMANHO][TAMANHO]);


    int main(void)
    {
        setlocale(LC_ALL, "");
        int matrizPRI[TAMANHO][TAMANHO];



        receberMatriz(matrizPRI);
        ordenarMatriz(matrizPRI);

        return 0;

    }






void receberMatriz(int matrizPRI[TAMANHO][TAMANHO])
{
    int lin, col;

    for(lin = 0; lin < TAMANHO; lin++)
    {
        for(col = 0; col < TAMANHO; col++)
        {
            printf("Matriz Principal [%i][%i]: ", lin, col);
            scanf("%i", &matrizPRI[lin][col]);
        }
    }
}

void ordenarMatriz(int matrizPRI[TAMANHO][TAMANHO])
{
    int lin, col;
    int AUX1[TAMANHO], AUX2[TAMANHO];

    for(lin = 0; lin < TAMANHO; lin++)
    {
        for(col = 0; col == TAMANHO; col++)
        {
            if(matrizPRI[lin] == 1)
            {
                AUX1[col] = matrizPRI[col];
                AUX1[col]+1;
            }
            else if(matrizPRI[col] == 4)
            {
                AUX2[col] = matrizPRI[col];
                AUX2[col]+1;
            }
        }
    }

    for(lin = 0; lin < TAMANHO; lin++)            
    {
        for(col = 0; col < TAMANHO; col++)
        {
            if(matrizPRI[lin] == 1)
            {
                matrizPRI[lin] = AUX2[col];
            }
            else if(matrizPRI[col == 4])
            {
                matrizPRI[col] == AUX1[lin];
            }
        }
    }

    for(lin = 0; lin < TAMANHO; lin++)
    {
        for(col = 0; col < TAMANHO; col++)
        {
            printf("[%i] "), matrizPRI[lin][col];
        }

        printf("\n");

    }
}

How can I change a row in an array with a column? The exchange would be made from a single row and a single column, so I do not think I would use bubble sort. Someone gives a light to clear this mind ...

    
asked by anonymous 23.12.2017 / 18:17

1 answer

0

As I understand the problem, the answer is very simple and does not need the buble sort algorithm.

#define TAMANHO 4
#include <stdio.h>

int main(){

int matriz[TAMANHO][TAMANHO];

int i, j, aux;

//recebe os valores dos elementos da matriz
for(i = 0; i < TAMANHO; i++){
    for(j = 0; j < TAMANHO; j++){
        scanf("%d", &matriz[i][j]);
    }
}

//faz a troca
for(i = 0; i < TAMANHO; i++){
    aux = matriz[0][i];
    matriz[0][i] = matriz[TAMANHO - i -1][TAMANHO - 1];
    matriz[TAMANHO - i -1][TAMANHO - 1] = aux;

}

//exibe a matriz após a troca
for(i = 0; i < TAMANHO; i++){
    for(j = 0; j < TAMANHO; j++){

        printf("%d", matriz[i][j]);
        printf(" ");
    }
    printf("\n");
}
}
    
23.12.2017 / 20:53