Ir para conteúdo
Fórum Script Brasil

Thiago Lima

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Thiago Lima

Thiago Lima's Achievements

0

Reputação

  1. Galera preciso fazer um trabalho para faculdade sobre matrizes esparsas e nem sei por onde começar. Segue enunciado do trabalho, se alguém poder me ajudar dando dicas, mostrando como começar ficarei muito grato ! Projeto 01: matrizes esparsas Nesse projeto o objetivo ´e implementar um conjunto de opera¸c˜oes para a manipula¸c˜ao de matrizes esparsas [Ziviani, 2004, p´ag: 59-64]. Uma matriz esparsa ´e uma matrizes na qual a maioria das posi¸c˜oes ´e preenchida por zeros. Para este tipo de matriz, podemos economizar espa¸co de mem´oria se forem armazenados apenas os termos diferentes de zero. As opera¸c˜oes usuais sobre estas matrizes (ler matriz, imprimir matriz, apagar matriz, somar duas matrizes, multiplicar duas matrizes, e inverter uma matriz) tamb´em podem ser feitas em tempo muito menor se n˜ao forem armazenadas as posi¸c˜oes que cont´em zeros. Uma modo eficiente de representar estruturas com tamanho vari´avel e/ou desconhecido ´e atrav´es de aloca¸c˜ao dinˆamica, utilizando listas. Exemplo: Abaixo temos um exemplo de arquivo texto que permite construir uma matriz esparsa. 4 4 1 1 50.0 2 1 10.0 2 3 20.0 4 1 -30.0 4 3 -60.0 4 4 5.0 Tabela 1: Exemplo de Arquivo de Entrada A primeira linha do arquivo texto informa o n´umero de linhas e colunas da matriz a ser constru´ıda. Cada uma das linhas cont´em tres informa¸c˜oes: as coordenadas (linha e coluna) e o conte´udo da respectiva coordenada. Desse modo, a matriz esparsa correspondente ´e (a Figura 1 representa a matriz esparsa via lista ligada): M = 50.0 0 0 0 10.0 0 20.0 0 0 0 0 0 −30.0 0 −60.0 5.0 1.1 Exigˆencias na Implementa¸c˜ao As estruturas de dados devem ser alocadas dinamicamente com malloc() e as matrizes s˜ao constru´ıdas por informa¸c˜oes obtidas a partir de arquivos texto que devem ser lidos pelo programa. Os arquivos de entrada e sa´ıda devem ser informados na linha de comando. A modulariza¸c˜ao (e o encapsulamento) ´e parte fundamental na confec¸c˜ao desse projeto. Escreva as rotinas em arquivos separados, por exemplo, as rotinas de tratamento de arquivo devem estar num arquivo separado das rotinas que fazem a manipula¸c˜ao das matrizes. Desse modo, ir´a necessitar de um terceiro arquivo contendo a rotina principal (com o main). todas as defini¸c˜oes de tipos e prot´otipos de fun¸c˜oes devem constar em header files (arquivos do tipo .h).
×
×
  • Criar Novo...