que são: Java/JavaFX, C/C++ e C++ builder,
C/C++ domina nas visualizações e procura,
então ainda vale a pena escrever códigos em C/C++.
Aqui posto um exemplo de como obter a diagonal
de uma matriz multiplicada por um número inserido
pela entrada de dados com teclado.
A diagonal é imprimida em destaque,
e o código é indicado aos interessados por linguagem C,
mas que ainda não sabe como fazer isto.
Veja abaixo imagens 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
- MULTIPLICANDO A DIAGONAL PRINCIPAL" );
Moldura ( 2 , 25 , 2 , 79 , 2 , 3 );
int l, c, d;
bool x = false;
int matriz [ tam ] [ tam ], dl = 0, dc = 0;
textcolor ( LIGHTRED );
gotoxy ( 20 , 3 );
printf ( "MATRIZ -
MULTIPLICANDO A 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 );
x = true;
} else textbackground ( WHITE );
gotoxy ( 31 + dc , 9 + dl );
scanf ( "%d" , &matriz [ l ] [ c ] );
textcolor ( LIGHTBLUE );
dc = dc + 10;
}
dl = dl + 5;
}
if ( x == true ) {
textcolor ( LIGHTBLUE );
gotoxy ( 20 , 24 );
printf ( "Multiplicar a
diagonal principal por: " );
textcolor ( LIGHTRED );
scanf ( "%d" , &d );
}
system ("cls");
Moldura ( 2 , 25 , 2 , 79 , 2 , 3 );
textcolor ( LIGHTRED );
gotoxy ( 20 , 3 );
printf ( "MATRIZ -
MULTIPLICANDO A DIAGONAL PRINCIPAL" );
gotoxy ( 23 , 5 );
textcolor ( LIGHTBLUE );
printf ( "Abaixo a
diagonal multiplicada por: ");
textcolor ( LIGHTRED );
gotoxy ( 59 , 5 );
printf ( "%d", d );
Tabela ( );
for ( l = 1; l <= tam ; l++ ) {
dc = 0;
for ( c = 1; c <= tam ; c++ ) {
if ( l == c ) {
matriz [ l ] [ c ] = matriz [ l ] [ c ] * d;
textcolor ( LIGHTRED );
textbackground ( WHITE );
} else textbackground ( WHITE );
gotoxy ( 30 + dc , -6 + dl );
printf ( "%3d", matriz [ l ] [ c ] );
textcolor ( LIGHTBLUE );
dc = dc + 10;
}
dl = dl + 5;
}
Sleep ( 1800 );
textcolor ( LIGHTRED );
gotoxy ( 35 , 24 );
printf ( "MUITO
OBRIGADO" );
getche ( );
}