C ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como testar se uma matriz é uma matriz identidade usando CQuantidade de visualizações: 2200 vezes |
|
Seja M uma matriz quadrada de ordem n. A matriz M é chamada de Matriz Identidade de ordem n (indicada por In) quando os elementos da diagonal principal são todos iguais a 1 e os elementos restantes são iguais a zero. Para melhor entendimento, veja a imagem de uma matriz identidade de ordem 3, ou seja, três linhas e três colunas: ![]() Veja um código C completo no qual nós declaramos uma matriz quadrada de ordem 3, pedimos para o usuário informar os valores de seus elementos e no final informamos se a matriz é uma matriz identidade ou não:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main(int argc, char *argv[]){
setlocale(LC_ALL,""); // para acentos do português
int n = 3; // ordem da matriz quadrada
int matriz[n][n]; // matriz quadrada
int i, j, linha, coluna;
int identidade = 1;
// vamos pedir para o usuário informar os elementos da matriz
for (i = 0; i < n; i++){
for (j = 0; j < n; j++) {
printf("Elemento na linha %d e coluna %d: ", (i + 1), (j + 1));
scanf("%d", &matriz[i][j]);
}
}
// agora verificamos se a matriz é uma matriz identidade
for(linha = 0; linha < n; linha++){
for(coluna = 0; coluna < n; coluna++){
if(matriz[linha][coluna] != 1 && matriz[coluna][linha] != 0){
identidade = 0;
break;
}
}
}
// agora mostramos a matriz lida
printf("\n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
printf("%d ", matriz[i][j]);
}
printf("\n");
}
if (identidade){
printf("\nA matriz informada é uma matriz identidade.");
}
else{
printf("\nA matriz informada não é uma matriz identidade.");
}
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: Elemento na linha 1 e coluna 1: 1 Elemento na linha 1 e coluna 2: 0 Elemento na linha 1 e coluna 3: 0 Elemento na linha 2 e coluna 1: 0 Elemento na linha 2 e coluna 2: 1 Elemento na linha 2 e coluna 3: 0 Elemento na linha 3 e coluna 1: 0 Elemento na linha 3 e coluna 2: 0 Elemento na linha 3 e coluna 3: 1 1 0 0 0 1 0 0 0 1 A matriz informada é uma matriz identidade. |
VB.NET ::: Dicas & Truques ::: Strings e Caracteres |
Como inverter o conteúdo de uma string em VB.NET usando os métodos ToCharArray() e Reverse()Quantidade de visualizações: 8094 vezes |
|
Nesta dica mostrarei como podemos tirar proveito do método ToCharArray() da classe String e do método Reverse() da classe Array do VB.NET para inverter a ordem dos caracteres de uma palavra, frase ou texto. Note que criamos uma função personalizada InverterString() que recebe uma string, a inverte e devolve uma nova string com a ordem dos caracteres invertida. Veja o código completo para o exemplo:
Imports System
Module Program
Sub Main(args As String())
' vamos declarar uma string
Dim frase As String = "Gosto de VB.NET"
' mostramos a frase original
Console.WriteLine("Frase original: " & frase)
' inverte o conteúdo da string
frase = InverterString(frase)
' mostramos a frase invertida
Console.WriteLine("A frase invertidade é: " & frase)
Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...")
' pausa o programa
Console.ReadKey()
End Sub
' Função que recebe uma string e a devolve invertida
Function InverterString(ByVal str As String) As String
Dim invertida As String
Dim arrChar() As Char = str.ToCharArray()
Array.Reverse(arrChar)
invertida = arrChar
Return invertida
End Function
End Module
Ao executar este código VB.NET nós teremos o seguinte resultado: Frase original: Gosto de VB.NET A frase invertidade é: TEN.BV ed otsoG |
C# ::: Dicas & Truques ::: Gráficos |
Como desenhar gráficos em C# usando GDI+ - Computação gráfica em C# - Passos iniciasQuantidade de visualizações: 17926 vezes |
|
Qualquer um que queira iniciar os estudos e desenhos de gráficos em C# usando Windows Forms deve obrigatoriamente entender um pouco de GDI e GDI+. GDI é o acrônimo de Graphics Device Interface e GDI+ é o seu sucessor em versões mais recentes do Microsoft Windows. Com a indepedência do GDI+ podemos desenhar em um formulário, na tela ou impressora sem qualquer modificação no código. O próprio GDI+ se encarrega dos detalhes da implementação de cada um destes diferentes dispositivos. O GDI+ é uma interface de programação de aplicações (API) que forma o sub-sistema do sistema operacional Microsoft Windows XP. Esta API é a responsável pela exibição de informações na tela e impressoras. O GDI+ é uma DLL Win32 chamada de gdiplus.dll que é distribuída com o Windows XP e versões mais recentes do Windows. Esta DLL está também disponível para uso em versões do Windows anteriores ao XP. A plataforma .NET encapsula as funcionalidades do GDI+ nos seguintes namespaces: System.Drawing, System.Drawing.Drawing2D, System.Drawing.Imaging, System.Drawing.Text e System.Drawing.Printing. Antes de iniciar seus desenhos em C# e Windows Forms, é importante entender o sistema de coordenadas do GDI+. Este sistema usa a medida de pixels ("picture elements"), que é a menor unidade de resolução no display de um monitor. Assim, o canto superior esquerdo de um controle GUI (um formulário, um painel, botão, etc) tem as coordenadas (0, 0), ou seja, x = 0 e y = 0. Lembre-se de que x é o eixo horizontal e y é o eixo vertical. A classe Graphics, do pacote System.Drawing, é quem fornece boa parte dos métodos que usamos para desenhar em C# e Windows Forms. Veja sua posição na hierarquia de classes da plataforma .NET:
System.Object
System.MarshalByRefObject
System.Drawing.Graphics
Um objeto desta classe pode ser obtido com uma chamada ao método CreateGraphics() a partir de um objeto que herda de System.Windows.Forms.Control ou gerenciando o evento Paint do controle e acessando a propriedade Graphics da classe System.Windows.Forms.PaintEventArgs. Veja um trecho de código no qual desenhamos uma linha horizontal no formulário a partir do clique de um botão:
private void button1_Click(object sender, EventArgs e){
// vamos obter o Graphics do formulário
Graphics g = this.CreateGraphics();
// vamos desenhar uma linha horizontal de 300 pixels na
// cor preta e espessura de 1 pixel
g.DrawLine(new Pen(Color.Black, 1), new Point(20, 80),
new Point(320, 80));
// vamos liberar o objeto Graphics
g.Dispose();
}
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercícios Resolvidos de Java - Escreva um programa Java que informa o número de dias em um determinado mês e ano. Seu código deverá solicitar ao usuário o número correspondenteQuantidade de visualizações: 1390 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que informa a quantidade de dias em um determinado mês e ano. Seu código deverá solicitar ao usuário o número correspondente ao mês, na faixa de 1 a 12, e o ano. Verifique também se o ano é bissexto ou não. Sua saída deverá ser parecida com: Informe o mês (1 - 12): 4 Informe o ano: 2022 Abril de 2022 possui 30 dias. Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// vamos usar a classe Scanner para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// para guardar a quantidade de dias no mês
int quantDiasNoMes = 0;
// para o nome do mês
String nomeMes = "";
// vamos ler o número do mês
System.out.print("Informe o mês (1 - 12): ");
int mes = Integer.parseInt(entrada.nextLine());
// vamos ler o ano
System.out.print("Informe o ano: ");
int ano = Integer.parseInt(entrada.nextLine());
// agora usamos um switch para tratar o mês informado
switch (mes){
case 1:
nomeMes = "Janeiro";
quantDiasNoMes = 31;
break;
case 2:
nomeMes = "Fevereiro";
// é ano bissexto?
if ((ano % 400 == 0) || ((ano % 4 == 0) && (ano % 100 != 0))) {
quantDiasNoMes = 29;
}
else {
quantDiasNoMes = 28;
}
break;
case 3:
nomeMes = "Março";
quantDiasNoMes = 31;
break;
case 4:
nomeMes = "Abril";
quantDiasNoMes = 30;
break;
case 5:
nomeMes = "Maio";
quantDiasNoMes = 31;
break;
case 6:
nomeMes = "Junho";
quantDiasNoMes = 30;
break;
case 7:
nomeMes = "Julho";
quantDiasNoMes = 31;
break;
case 8:
nomeMes = "Agosto";
quantDiasNoMes = 31;
break;
case 9:
nomeMes = "Setembro";
quantDiasNoMes = 30;
break;
case 10:
nomeMes = "Outubro";
quantDiasNoMes = 31;
break;
case 11:
nomeMes = "Novembro";
quantDiasNoMes = 30;
break;
case 12:
nomeMes = "Desembro";
quantDiasNoMes = 31;
break;
}
// mostra o resultado
System.out.println(nomeMes + " de " + ano + " possui " + quantDiasNoMes + " dias.");
System.out.println("\n");
}
}
|
Nossas 20 dicas & truques de programação mais populares |
|
Java - Como transformar um StringBuffer em uma String usando o método toString() da classe StringBuffer Java - Programação Orientada a Objetos em Java - Como usar o modificador static em suas aplicações Java JavaScript - Como testar se todos os elementos de um array satisfazem uma condição em JavaScript usando a função every() |
Você também poderá gostar das dicas e truques de programação abaixo |
|
GNU Octave - Como calcular o coeficiente angular de uma reta em GNU Octave dados dois pontos no plano cartesiano JavaScript - Como remover elementos duplicados de um array em JavaScript usando as funções filter() e indexOf() do objeto Array JavaScript - Como testar se um ponto está dentro de um círculo em JavaScript - Desenvolvimento de Games com JavaScript |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







