domingo, 2 de dezembro de 2012

Ordenando Matriz Bidimensional

Ordenar uma Matriz bidimensional por colunas é tarefa fácil usando o método aplicado neste programa,
A matriz é do tipo float e a ordenação é pelo método da bolha,
sabemos que tem outros métodos mais este é um dos mais fácil de imprementar. O código é muito fácil de entender,
como todos os outros que já postei, porque são indicados a iniciantes em linguagem c.

Veja abaixo algumas imagens do programa em execução:







 #include <stdio.h>
#include<conio2.h>
float mat_riz [8] [3] = {{10.2, 14.8, 11.4},
        {9.5, 15.3, 8.9},
        {8.6, 14.3, 21.6},
        {9.7, 16.5, 19.2},
        {6.1, 17.4, 27.5},
        {7.7, 16.1, 3.4},
        {8.3, 17.1, 7.8},
        {7.3, 15.9, 33.8}};
void Matriz_Bidimensional(){
    int i, ord; float aux;
    int main();
    ord = 0;
    textcolor(LIGHTRED);gotoxy(29,3);printf("ORDENANDO MATRIZ BIDIMENSIONAL");
    textcolor(LIGHTCYAN);gotoxy(33,5);printf("sa_sp10@hotmail.com");
    textcolor(LIGHTBLUE);gotoxy(27,7);printf("ESTA E A MATRIZ [ 0 ] NAO ORDENADA");
    gotoxy(23,9);textcolor(YELLOW);
    for(i = 0; i < 8; i++)
        printf(" %.1f ",  mat_riz [i] [0]);
    getche();
    textcolor(LIGHTBLUE);gotoxy(27,11);printf("ESTA E A MATRIZ [ 1 ] NAO ORDENADA");
    gotoxy(20,13);textcolor(YELLOW);
    for(i = 0; i < 8; i++)
        printf(" %.1f ",  mat_riz [i] [1]);
    getche();
    textcolor(LIGHTBLUE);gotoxy(27,15);printf("ESTA E A MATRIZ [ 2 ] NAO ORDENADA");
    gotoxy(20,17);textcolor(YELLOW);
    for(i = 0; i < 8; i++)
        printf(" %.1f ",  mat_riz [i] [2]);
    getche();
    while(ord == 0){
        ord = 1;
        for(i = 0; i < 7 ; i++){
            if( mat_riz  [i] [0]  > mat_riz [(i + 1)] [0]){
                aux = mat_riz [i] [0];
                mat_riz [i] [0] = mat_riz [(i + 1)] [0];
                mat_riz [(i + 1 )] [0] = aux;
                ord = 0;
            }
        }
        for(i = 0; i < 7 ; i++){
            if( mat_riz  [i] [1]  > mat_riz [(i + 1)] [1]){
                aux = mat_riz [i] [1];
                mat_riz [i] [1] = mat_riz [(i + 1)] [1];
                mat_riz [(i + 1 )] [1] = aux;
                ord = 0;
            }
        }
        for(i = 0; i < 7 ; i++){
            if( mat_riz  [i] [2]  > mat_riz [(i + 1)] [2]){
                aux = mat_riz [i] [2];
                mat_riz [i] [2] = mat_riz [(i + 1)] [2];
                mat_riz [(i + 1 )] [2] = aux;
                ord = 0;
            }
        }
    }
    system("cls");
    textcolor(LIGHTRED);gotoxy(27,3);printf("ORDENANDO MATRIZ BIDIMENSIONAL");
    textcolor(LIGHTBLUE);gotoxy(33,5);printf("sa_sp10@hotmail.com");
    textcolor(LIGHTGREEN);gotoxy(27,7);printf("ESTA E A MATRIZ [ 0 ] ORDENADA");
    gotoxy(22,9);textcolor(YELLOW);
    for(i = 0; i < 8; i++)
        printf(" %.1f ",  mat_riz [i] [0]);
    getche();
    textcolor(LIGHTGREEN);gotoxy(27,11);printf("ESTA E A MATRIZ [ 1 ] ORDENADA");
    gotoxy(18,13);textcolor(YELLOW);
    for(i = 0; i < 8; i++)
        printf(" %.1f ",  mat_riz [i] [1]);
    getche();
    textcolor(LIGHTGREEN);gotoxy(27,15);printf("ESTA E A MATRIZ [ 2 ] ORDENADA");
    gotoxy(18,17);textcolor(YELLOW);
    for(i = 0; i < 8; i++)
        printf(" %.1f ", mat_riz [i] [2]);
    textcolor(LIGHTRED);gotoxy(35,21);printf("\aO ROCCO AGRADECE");
    getche();
}
int main(){
    system ("title ORDENANDO MATRIZ BIDIMENSIONAL");
    Matriz_Bidimensional();
}





Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.