Você está aqui: C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Como testar se uma matriz é uma Matriz Triangular Superior em C++ - Desafio de Programação Resolvido em C++

Quantidade de visualizações: 332 vezes
Pergunta/Tarefa:

Uma Matriz Triangular Superior é a matriz na qual todos os termos que estão abaixo da diagonal principal são iguais a zero e os termos que estão acima da diagonal principal são números reais. Veja um exemplo de Matriz Triangular Superior na imagem abaixo:



Escreva um programa C++ que pede para o usuário informar o número de linhas e colunas de uma matriz quadrada. Em seguida solicite os valores para cada um dos elementos da matriz. Para finalizar informe ao usuário se a matriz informada é uma matriz triangular superior.

Sua saída deverá ser parecida com:

Número de linhas e colunas da matriz: 3

Valor para a linha 0 e coluna 0: 8
Valor para a linha 0 e coluna 1: 2
Valor para a linha 0 e coluna 2: 3
Valor para a linha 1 e coluna 0: 0
Valor para a linha 1 e coluna 1: 3
Valor para a linha 1 e coluna 2: 9
Valor para a linha 2 e coluna 0: 0
Valor para a linha 2 e coluna 1: 0
Valor para a linha 2 e coluna 2: 2

Valores na matriz

    8     2     3 
    0     3     9 
    0     0     2 

A matriz é uma matriz triangular superior
Resposta/Solução:

Veja a resolução comentada deste exercício usando C++:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <iostream>
#include <iomanip>

using namespace std;

// função principal do programa
int main(int argc, char *argv[]){
  // variáveis usadas na resolução do problema
  int ordem;
	
  // vamos pedir a ordem da matriz
  cout << "Número de linhas e colunas da matriz: ";
  cin >> ordem;
    
  // agora vamos construir a matriz
  int matriz[ordem][ordem];
    
  // vamos pedir para o usuário informar os valores
  // dos elementos da matriz, uma linha de cada vez
  cout << "\n";
  for(int i = 0; i < ordem; i++){
    for(int j = 0; j < ordem; j++){
      cout << "Linha " << (i + 1) << " e coluna " << (j + 1) << ": ";
      // lê o número e guarda na linha e coluna especificadas
      cin >> matriz[i][j];
    }
  }
      
  // vamos mostrar a matriz da forma que ela foi informada
  cout << "\nValores na matriz\n\n";
        
  for(int i = 0; i < ordem; i++){
    for(int j = 0; j < ordem; j++){
      cout << setw(5) << matriz[i][j];   
    }
        
    // passa para a próxima linha da matriz
    cout << "\n";
  }
    
  // agora vamos testar se a matriz é uma matriz triangular
  // superior
  bool triangular_superior = true;
    
  for(int i = 0; i < ordem; i++){
    for(int j = 0; j < ordem; j++){
      // a condição para que a matriz seja triangular superior é
      // que os elementos abaixo da diagonal principal sejam
      // iguais a zero
      if((j < i) && (matriz[i][j] != 0)){
        triangular_superior = false;
      }
    }
  }
    
  if(triangular_superior){
    cout << "\nA matriz é uma matriz triangular superior";
  }
  else{
    cout << "\nA matriz não é uma matriz triangular superior";
  }
  
  cout << "\n" << endl;
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Listamos abaixo algumas propriedades específicas da matriz triangular.

1) o determinante de uma matriz triangular é igual ao produto dos termos da diagonal principal.
2) o produto entre duas matrizes triangulares é uma matriz triangular.
3) se um dos termos da diagonal principal da matriz triangular for igual a zero, então o seu determinante será igual a zero e, consequentemente, ela não será inversível.
4) a matriz inversa de uma matriz triangular é também uma matriz triangular.
5) a soma de duas matrizes triangulares superiores é uma matriz triangular superior; de forma análoga, a soma de duas matrizes triangulares inferiores é uma matriz triangular inferior.

Link para compartilhar na Internet ou com seus amigos:

C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Exercício Resolvido de C++ - Calculando e exibindo os números primos entre 2 e 100

Quantidade de visualizações: 10050 vezes
Exercícios Resolvidos de C++ - Calculando e exibindo os números primos entre 2 e 100

Pergunta/Tarefa:

Um inteiro é um número primo se ele for divisível somente por 1 e por ele mesmo. Assim, 2, 3, 5 e 7 são primos, enquanto 4, 6, 8 e 9 não são. Note que o número 1 não é primo.

Escreva um programa C++ que usa um laço for, while ou do...while para calcular e exibir os números primos entre 2 (incluindo) e 100 (incluindo). A saída do programa deverá ser parecida com:

Numeros primos entre 2 e 100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
Resposta/Solução:

Veja a resolução comentada deste exercício:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // limite dos números primos (incluindo)
  int limite = 100;
               
  // Lembre-se! O número 1 não é primo
  cout << "Numeros primos entre 2 e " << limite << endl;
  
  // laço que percorre os valores de 2 até o limite desejado
  for(int i = 2; i <= limite; i++){
    bool primo = true;
                       
    // se o valor de i for 7, a variável j do laço contará
    // de 2 até 7 / 2 (divisão inteira), ou seja, 3. Se o 
    // módulo de 7 por qualquer um dos valores neste intervalo 
    // for igual a 0, então o número não é primo
    for(int j = 2; j <= (i / 2); j++){
      if(i % j == 0){
        primo = false; // não é primo
        break;
      }
    }
    
    if(primo){
      cout << i << " ";
    }
  }
  
  cout << "\n\n";
  
  system("PAUSE");
  return EXIT_SUCCESS;
}



C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções

Exercício Resolvido de C++ - Escreva um programa que solicite dois números do tipo inteiro distintos ao usuário e que apresente na tela o maior deles

Quantidade de visualizações: 493 vezes
Pergunta/Tarefa:

Escreva um programa que solicite dois números do tipo inteiro distintos ao usuário e que apresente na tela o maior deles. Esse programa deve possuir uma função para verificar qual é o maior número.

Atenção: seu código deverá assegurar que os dois números informados pelo usuário sejam diferentes. Exiba uma mensagem na tela caso isso acontecer.

Sua saída deverá ser parecida com:

Informe o primeiro número inteiro: 6
Informe o segundo número inteiro: 3
O maior número é: 6
Resposta/Solução:

Veja a resolução comentada deste exercício em C++:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <string>
#include <iostream>

using namespace std;

// protótipo da função que receberá dois números inteiros
// e retornará o maior deles
int maior_numero(int num1, int num2);

int main(int argc, char *argv[]){
  // variáveis usadas na resolução do problema
  int num1, num2, maior;
  
  // vamos pedir para o usuário informar os dois números
  cout << "Informe o primeiro número inteiro: ";
  cin >> num1;
  cout << "Informe o segundo número inteiro: ";
  cin >> num2;
  
  // os números são iguais?
  if(num1 == num2){
    cout << "Erro. Os dois números são iguais.\n" << endl;
  }
  else{
    // vamos chamar a função para obter o número maior
    maior = maior_numero(num1, num2);
    cout << "O maior número é: " << maior << "\n" << endl;	
  }
  
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS; 
}

// função que receberá dois números inteiros e retornará
// o maior deles
int maior_numero(int num1, int num2){
  // o primeiro número é maior que o segundo?
  if(num1 > num2){
    return num1;
  }
  else{
    return num2;
  }
}



C++ ::: Fundamentos da Linguagem ::: Passos Iniciais

Apostila C++ para iniciantes - Como usar a macro EXIT_SUCCESS em C++

Quantidade de visualizações: 9481 vezes
A macro EXIT_SUCCESS, disponível na biblioteca cstdlib da linguagem C++, pode ser usada como argumento para a função exit() para sinalizar que o programa finalizou sua execução sem erros.

Os dois trechos de código abaixo são semelhantes:

1) Usando EXIT_SUCCESS para sinalizar que o programa foi finalizado com sucesso:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <cstdlib>

using namespace std;

int main(int argc, char *argv[])
{
  // programa foi finalizado com sucesso
  return EXIT_SUCCESS;
}

2) Usando o valor 0 para sinalizar que o programa foi finalizado com sucesso:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <cstdlib>

using namespace std;

int main(int argc, char *argv[])
{
  // programa foi finalizado com sucesso
  return 0;
}



Desafios, Exercícios e Algoritmos Resolvidos de C++

Veja mais Dicas e truques de C++

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 23 usuários muito felizes estudando em nosso site.