Esse é um projeto feito para resolver a atividade avaliativa de algoritmos e técnicas de programação 2 em conjunto com a máteria de álgebra linear. O intuito do programa é resolver problemas de álgebra usando as estruturas vistas em ATP2 integrando assim as duas disciplinas, o projeto está dividido em varios arquivos .c e .h, que funionam como bibliotecas, foram dividios assim para facilitar na organização e no entendimento do codigo em geral.
A função main fica resposável por fazer a iteração do menu principal, chamando cada biblioteca conforme a escolha do usuário, cada problema de álgebra está em um desses arquivos .c, que em conjunto são acompanhados com os arquivos .h, do mesmo nome. O arquivo telas.c é resposável pela interfaces do programa, as telas que não são estáticas ficaram no próprio arquivo, já as telas que são estáticas foram passadas para um arquivo .txt resposável por armazenar as mesmas.
O arquivo struct_matriz.c é resposável pela criação de matrizes usando as structs, que é explicada no próprio arquivo, além de ser resposável por mais função relacionadas as matrizes.
- Resolução de Sistemas Lineares
- Verificação de Injetividade, Sobrejetividade e Bijetividade
- Determinação de Bases
- Cálculo de Autovalores e Autovetores
- Diagonalização de Matrizes
Clone o projeto
git clone https://github.com/gabriel-07a/Projeto-Algebra-Linear.gitEntre na pasta do projeto
cd main_clionCriar uma pasta para compilação
mkdir buildEntrar na pasta
cd buildRodar o CMake para configurar o projeto
cmake ..Rodar o comando de build para compilar
cmake --build .Baixe a pasta do projeto
Acesse a pasta pelo terminal
cd projeto-algebra-linearCompile usando o gcc
gcc -o programa.exe main.c telas.c transformacoes.c struct_matriz.c sis_lineares.c diagonalizacao_matriz.c
det_bases.c autovalores_vetores.c -lmRode o arquivo .exe gerado
./programa.exePara funcionar as interfaces do projeto é nescessário a utilização de um terminal ou IDE compátivel com o UTF8.
O CMake no projeto foi feita para facilitar a compilação, mas ele não é obrigatório para compilar o programa.
A pasta telas_menu.txt pode não funcionar se o código for radado em IDEs, pois ele nescessita está na pasta de trabalho na IDE, o que ser evitado usando o CMake.