A função int gera_caractere ( ); é a responsável
de gerar todos os caracteres que são
inseridos na matriz de char M [ ] [ ];
A matriz de char N [ ] [ ]; recebe uma cópia fiel de M [ ] [ ];
Porém ela recebe em suas colunas as linhas de M [ ] [ ];
e nas suas linhas as colunas de M [ ] [ ];
Isto nada mais é, que uma transposição de matriz,
onde é denominado de matriz transposta.
Veja abaixo uma imagem do programa em execução:
Veja abaixo o código do programa:
de gerar todos os caracteres que são
inseridos na matriz de char M [ ] [ ];
A matriz de char N [ ] [ ]; recebe uma cópia fiel de M [ ] [ ];
Porém ela recebe em suas colunas as linhas de M [ ] [ ];
e nas suas linhas as colunas de M [ ] [ ];
Isto nada mais é, que uma transposição de matriz,
onde é denominado de matriz transposta.
Veja abaixo uma imagem do programa em execução:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define tam 20
void got_color ( int tam_lin_ini, int tam_lin_fim, int tam_ini_col,
int tam_fim_col, int a, int b ) {
int i, c;
if ( a >= 1 && a <= 16 ) {
textcolor ( a );
}
if ( b >= 1 && b <= 16 ) {
textbackground ( b );
}
for ( i = tam_lin_ini; i < tam_lin_fim; i++ ) {
for ( c = tam_ini_col; c < tam_fim_col; c++ ) {
gotoxy ( c, i );
printf ( " " );
}
}
}
int gera_caractere ( ) {
return ( rand ( ) % 26 ) + 65;
getche ( );
return ( 0 );
}
int main ( ) {
system ( "title MATRIZ
TRANSPOSTA DE CARACTERES" );
system ( "Color
80" );
got_color ( 2, 34, 3, 109, 2, 0 );
int i, j, r = 0, y = 0;
char M [ tam ] [ tam ], N [ tam ] [ tam ];
for ( i = 0; i < tam; i++ ) {
for ( j = 0; j < tam; j++ ) {
M [ i ] [ j ] = gera_caractere ( );
}
}
textcolor ( LIGHTRED );
gotoxy ( 44, 3 );
printf ( "MATRIZ
TRANSPOSTA DE CARACTERES" );
textcolor ( WHITE );
for ( i = 0; i < tam; i++ ) {
gotoxy ( 12, i + 7 );
for ( j = 0; j < tam; j++ ) {
printf ( "%2c", M [ i ] [ j ] );
}
}
getche ( );
for ( r = 0; r < tam; r++ ) {
for ( y = 0; y < tam; y++ ) {
N [ r ] [ y ] = M [ y ] [ r ];
}
}
textcolor ( LIGHTBLUE );
for ( r = 0; r < tam; r++ ) {
gotoxy ( 62, r + 7 );
for ( y = 0; y < tam; y++ ) {
printf ( "%2c", N [ r ] [ y ] );
}
}
textcolor ( LIGHTBLUE );
gotoxy ( 22, 30 );
printf ( "Por: " );
textcolor ( LIGHTMAGENTA );
printf ( "Samuel
Lima" );
textcolor ( BLACK );
gotoxy ( 22, 31 );
printf ( "sa_sp10@hotmail.com" );
Sleep ( 1800 );
textcolor ( LIGHTRED );
gotoxy ( 50, 32 );
printf ( "MUITO
OBRIGADO" );
getche ( );
exit ( 0 );
}