O c é uma linguagem estruturada e cheia de recursos, matrizes por exemplo é uma estrutura de dados acima de duas dimensões, lembro
aos iniciantes que matrizes devem ser declaradas com o mesmo tipo de dado, e quando estão armazenadas na memória, são em formas de uma tabela, sendo assim, criei este programa, que imprime uma tabela
no qual é preenchida com valores inteiros já que a matriz é do tipo
int. No que vamos preenchendo a matriz, o c já vai marcando automaticamente a diagonal principal, com a cor vermelha para seus
valores, e os demais valores de outras posições são marcados em azul.
Porventura este não é um ótimo código indicado a iniciantes desta importante linguagem de programação?
Veja abaixo uma imagem do programa em execução:
Veja abaixo o código do programa:
aos iniciantes que matrizes devem ser declaradas com o mesmo tipo de dado, e quando estão armazenadas na memória, são em formas de uma tabela, sendo assim, criei este programa, que imprime uma tabela
no qual é preenchida com valores inteiros já que a matriz é do tipo
int. No que vamos preenchendo a matriz, o c já vai marcando automaticamente a diagonal principal, com a cor vermelha para seus
valores, e os demais valores de outras posições são marcados em azul.
Porventura este não é um ótimo código indicado a iniciantes desta importante linguagem de programação?
Veja abaixo uma imagem do programa em execução:
Veja abaixo o código do programa:
#include <stdio.h>
#include <conio.h>
#define tam 3
void Moldura ( int a , int c , int b , int d , int e , int f ) {
system ( "Color 10" );
for ( a = e; a < c ; a++ ) {
for ( b = f; b < d ; b++ ) {
gotoxy ( b , a );
textbackground ( WHITE );
printf ( " " );
}
}
}
void Tabela ( ) {
textbackground ( WHITE );
int c, i = 0;
textbackground ( BLACK );
textcolor ( 12 );
//Abaixo as rotinas pras colunas
for ( i = 2; i <= 16 ; i++ ) {
gotoxy ( 56 , i + 5 ); //colunaa da direita
printf ( " " );
}
for ( i = 2; i <= 16 ; i++ ) {
gotoxy ( 46 , i + 5 ); //coluna do meio mais
a direita
printf ( " " );
}
for ( i = 2; i <= 16 ; i++ ) {
gotoxy ( 36 , i + 5 ); //coluna do meio ainda
mais pro meio direita
printf ( " " );
}
for ( i = 2; i <= 16 ; i++ ) {
gotoxy ( 26 , i + 5 ); //coluna da esquerda
printf ( " " );
}
//Abaixo as rotinas pras linhas
gotoxy ( 26 , 7 );
for ( c = 26; c < 56 ; c++ ) {
printf ( " " );
}
gotoxy ( 26 , 12 );
for ( c = 26; c < 56 ; c++ ) {
printf ( " " );
}
gotoxy ( 26 , 17 );
for ( c = 26; c < 56 ; c++ ) {
printf ( " " );
}
gotoxy ( 26 , 22 );
for ( c = 26; c <= 56 ; c++ ) {
printf ( " " );
}
}
int main ( ) {
system ( "title MATRIZ
- MARCANDO E SOMANDO DIAGONAL PRINCIPAL" );
Moldura ( 2 , 28 , 2 , 79 , 2 , 3 );
int l, c;
int matriz [ tam ] [ tam ], dl = 0, dc = 0, adc = 0;
textcolor ( LIGHTRED );
gotoxy ( 20 , 3 );
printf ( "MATRIZ -
MARCANDO E SOMANDO DIAGONAL PRINCIPAL" );
textcolor ( LIGHTBLUE );
gotoxy ( 21 , 5 );
printf ( "Digite " );
textcolor ( LIGHTRED );
printf ( "9" );
textcolor ( LIGHTBLUE );
printf ( " valores para
inserir na matriz" );
Tabela ( );
for ( l = 1; l <= tam ; l++ ) {
dc = 0;
for ( c = 1; c <= tam ; c++ ) {
if ( l == c ) {
textcolor ( LIGHTRED );
textbackground ( WHITE );
} else textbackground ( WHITE );
gotoxy ( 31 + dc , 9 + dl );
scanf ( "%d" , &matriz [ l ] [ c ] );
textcolor ( LIGHTBLUE );
dc = dc + 10;
}
dl = dl + 5;
}
for ( l = 1; l <= tam ; l++ ) {
for ( c = 1; c <= tam ; c++ ) {
if ( l == c )
adc = adc += matriz [ l ] [ c ];
}
}
textcolor ( LIGHTBLUE );
gotoxy ( 23 , 24 );
printf ( "A soma da
diagonal principal é ==> " );
textcolor ( LIGHTRED );
printf ( "%d" , adc );
Sleep ( 1800 );
textcolor ( LIGHTRED );
gotoxy ( 35 , 26 );
printf ( "MUITO
OBRIGADO" );
getche ( );
}