·
Sistemas de Informação ·
Estrutura de Dados
Send your question to AI and receive an answer instantly
Recommended for you
2
Algoritmo e Estrutura de Dados
Estrutura de Dados
UNIFEI
2
Otimização de Código Algoritmo e Estrutura de Dados
Estrutura de Dados
UNIFEI
2
Otimização de Código Algoritmo e Estrutura de Dados
Estrutura de Dados
UNIFEI
4
Algoritmo e Estrutura de Dados - Otimização de Código
Estrutura de Dados
UNIFEI
2
Algoritmo e Estrutura de Dados
Estrutura de Dados
UNIFEI
4
Algoritmo e Estrutura de Dados
Estrutura de Dados
UNIFEI
2
Algoritmo e Estrutura de Dados Python
Estrutura de Dados
UNIFEI
4
Exercício - Complexidade de Algoritmos - Estrutura de Dados 2022 1
Estrutura de Dados
UFMT
4
Análise de Linguagem e Estruturas Frasais
Estrutura de Dados
IFES
6
Trabalho Pratico I - Analise Comparativa de Algoritmos de Ordenacao IFMG
Estrutura de Dados
IFMG
Preview text
Trabalho 01 Multiplicação de Matrizes stco01 2024s2 Data de entrega 11102024 Importante Não olhem códigos de outros grupos ou da internet Exceto o que é fornecido Os trabalhos poderão ser feitos individualmente ou em duplas Em qualquer caso é necessário preencher esse formulário para a formação de grupos mesmo que seja um grupo de 1 só pessoa httpsformsgleiQM6utUbMUKfZ2QT9 TODOS os membros do grupo devem participar e compreender completamente a implementação Em caso de plágio fraude ou tentativa de burlar o sistema será aplicado nota 0 na disciplina aos envolvidos Alguns alunos serão solicitados para explicar com detalhes a implementação Passar em todos os testes não é garantia de tirar a nota máxima Sua nota ainda depende do cumprimento das especificações do trabalho qualidade do código clareza dos comentários boas práticas de programação e entendimento da matéria demonstrada em possível reunião O líder do grupo deverá submeter até a data de entrega o seu código na plataforma runcodeshokamacombr É esperado e faz parte do aprendizado vocês terem algumas dificuldades como Problemas com Falha de Segmentação Loops Infinitos etc Então não deixe para os últimos dias Esse trabalho deverá ser realizado individualmente ou em duplas com os grupos já definidos na disciplina Neste trabalho o seu grupo deverá implementar um algoritmo para multiplicação de matrizes que utilizaremos para aplicação de transformações e filtros em imagens Neste trabalho usaremos arquivos de imagem em formato PPM um formato de imagem livre não é muito otimizado mas a vantagem dele é ser bem simples de ler entender e manipular Existem algumas codificações do formato PPM aqui usaremos o formato P3 ele tem a seguinte forma começa com o nome da codificação utilizada P3 depois a largura e altura no nosso trabalho iremos considerar apenas imagens quadradas ou seja n x n e ainda n é sempre uma potência de dois o que vai facilitar a implementação Um inteiro com a escala máxima de cor normalmente é o valor 255 depois existem n linhas cada linha contém n pixels Cada pixel é representado em um formato rgb composto por 3 valores representando a quantidade de vermelho verde e azul respectivamente Sendo que a escala de cada cor é um valor entre 0 e 255 Por exemplo um pixel totalmente vermelho tem a seguinte codificação 255 0 0 Já um pixel magenta tem um pouco de vermelho e um pouco de azul 240 0 240 Um pixel preto não tem nada de nenhuma cor 0 0 0 Exemplo Considere a seguinte imagem 4 x 4 com 16 pixels em formato PPM teria a seguinte codificação P3 4 4 255 255 0 0 255 0 0 0 255 0 0 255 0 255 0 0 255 0 0 0 255 0 0 255 0 0 0 255 0 0 255 0 255 255 0 255 255 0 0 255 0 0 255 0 255 255 0 255 255 Uma forma comum de aplicar transformações e filtros em uma imagem é multiplicar a matriz de uma imagem pela matriz de um filtro Neste trabalho o filtro vai ser um matriz de n x n de pixels cada pixel do filtro tem apenas valores 0 ou 1 Para multiplicar um pixel da imagem por um pixel do filtro basta multiplicar cada cor deles separadamente a b c x d e f ad be cf Por exemplo um filtro de 4 x 4 seria esse 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 Esse filtro é a identidade I ele não faz nenhuma alteração na imagem ou seja x I Agora considere o seguinte filtro F que inverte a imagem na horizontal e retira o azul note que os pixels não nulos são 1 1 0 e dessa forma os valores de azul de cada pixel da imagem são multiplicados por 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 x F O seu programa deverá ler da entrada padrão do sistema um texto equivalente a uma imagem no formato ppm seguida de uma matriz de mesmo tamanho que é um filtro Veja um exemplo de entrada P3 4 4 255 255 0 0 255 0 0 0 255 0 0 255 0 255 0 0 255 0 0 0 255 0 0 255 0 0 0 255 0 0 255 0 255 255 0 255 255 0 0 255 0 0 255 0 255 255 0 255 255 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 A saída esperada para seu programa será um texto equivalente a uma imagem em formato ppm Para facilitar cada linha da matriz tem um espaço no final P3 4 4 255 0 255 0 0 255 0 255 0 0 255 0 0 0 255 0 0 255 0 255 0 0 255 0 0 0 255 0 0 255 0 0 0 0 0 0 0 0 255 0 0 255 0 0 0 0 0 0 0 Você deverá implementar seu programa em linguagem C Seu programa deve executar no runcodes em menos de 1 segundo Você não pode usar bibliotecas especializadas e só poderá executar operações em tipos primitivos int Por exemplo você não pode utilizar uma operação que multiplica uma lista ou um vetor a menos que você a implemente Você deve liberar adequadamente a memória alocada Se você não tiver certeza se alguma coisa é permitida ou não no trabalho não hesite em perguntar ao professor
Send your question to AI and receive an answer instantly
Recommended for you
2
Algoritmo e Estrutura de Dados
Estrutura de Dados
UNIFEI
2
Otimização de Código Algoritmo e Estrutura de Dados
Estrutura de Dados
UNIFEI
2
Otimização de Código Algoritmo e Estrutura de Dados
Estrutura de Dados
UNIFEI
4
Algoritmo e Estrutura de Dados - Otimização de Código
Estrutura de Dados
UNIFEI
2
Algoritmo e Estrutura de Dados
Estrutura de Dados
UNIFEI
4
Algoritmo e Estrutura de Dados
Estrutura de Dados
UNIFEI
2
Algoritmo e Estrutura de Dados Python
Estrutura de Dados
UNIFEI
4
Exercício - Complexidade de Algoritmos - Estrutura de Dados 2022 1
Estrutura de Dados
UFMT
4
Análise de Linguagem e Estruturas Frasais
Estrutura de Dados
IFES
6
Trabalho Pratico I - Analise Comparativa de Algoritmos de Ordenacao IFMG
Estrutura de Dados
IFMG
Preview text
Trabalho 01 Multiplicação de Matrizes stco01 2024s2 Data de entrega 11102024 Importante Não olhem códigos de outros grupos ou da internet Exceto o que é fornecido Os trabalhos poderão ser feitos individualmente ou em duplas Em qualquer caso é necessário preencher esse formulário para a formação de grupos mesmo que seja um grupo de 1 só pessoa httpsformsgleiQM6utUbMUKfZ2QT9 TODOS os membros do grupo devem participar e compreender completamente a implementação Em caso de plágio fraude ou tentativa de burlar o sistema será aplicado nota 0 na disciplina aos envolvidos Alguns alunos serão solicitados para explicar com detalhes a implementação Passar em todos os testes não é garantia de tirar a nota máxima Sua nota ainda depende do cumprimento das especificações do trabalho qualidade do código clareza dos comentários boas práticas de programação e entendimento da matéria demonstrada em possível reunião O líder do grupo deverá submeter até a data de entrega o seu código na plataforma runcodeshokamacombr É esperado e faz parte do aprendizado vocês terem algumas dificuldades como Problemas com Falha de Segmentação Loops Infinitos etc Então não deixe para os últimos dias Esse trabalho deverá ser realizado individualmente ou em duplas com os grupos já definidos na disciplina Neste trabalho o seu grupo deverá implementar um algoritmo para multiplicação de matrizes que utilizaremos para aplicação de transformações e filtros em imagens Neste trabalho usaremos arquivos de imagem em formato PPM um formato de imagem livre não é muito otimizado mas a vantagem dele é ser bem simples de ler entender e manipular Existem algumas codificações do formato PPM aqui usaremos o formato P3 ele tem a seguinte forma começa com o nome da codificação utilizada P3 depois a largura e altura no nosso trabalho iremos considerar apenas imagens quadradas ou seja n x n e ainda n é sempre uma potência de dois o que vai facilitar a implementação Um inteiro com a escala máxima de cor normalmente é o valor 255 depois existem n linhas cada linha contém n pixels Cada pixel é representado em um formato rgb composto por 3 valores representando a quantidade de vermelho verde e azul respectivamente Sendo que a escala de cada cor é um valor entre 0 e 255 Por exemplo um pixel totalmente vermelho tem a seguinte codificação 255 0 0 Já um pixel magenta tem um pouco de vermelho e um pouco de azul 240 0 240 Um pixel preto não tem nada de nenhuma cor 0 0 0 Exemplo Considere a seguinte imagem 4 x 4 com 16 pixels em formato PPM teria a seguinte codificação P3 4 4 255 255 0 0 255 0 0 0 255 0 0 255 0 255 0 0 255 0 0 0 255 0 0 255 0 0 0 255 0 0 255 0 255 255 0 255 255 0 0 255 0 0 255 0 255 255 0 255 255 Uma forma comum de aplicar transformações e filtros em uma imagem é multiplicar a matriz de uma imagem pela matriz de um filtro Neste trabalho o filtro vai ser um matriz de n x n de pixels cada pixel do filtro tem apenas valores 0 ou 1 Para multiplicar um pixel da imagem por um pixel do filtro basta multiplicar cada cor deles separadamente a b c x d e f ad be cf Por exemplo um filtro de 4 x 4 seria esse 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 Esse filtro é a identidade I ele não faz nenhuma alteração na imagem ou seja x I Agora considere o seguinte filtro F que inverte a imagem na horizontal e retira o azul note que os pixels não nulos são 1 1 0 e dessa forma os valores de azul de cada pixel da imagem são multiplicados por 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 x F O seu programa deverá ler da entrada padrão do sistema um texto equivalente a uma imagem no formato ppm seguida de uma matriz de mesmo tamanho que é um filtro Veja um exemplo de entrada P3 4 4 255 255 0 0 255 0 0 0 255 0 0 255 0 255 0 0 255 0 0 0 255 0 0 255 0 0 0 255 0 0 255 0 255 255 0 255 255 0 0 255 0 0 255 0 255 255 0 255 255 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 A saída esperada para seu programa será um texto equivalente a uma imagem em formato ppm Para facilitar cada linha da matriz tem um espaço no final P3 4 4 255 0 255 0 0 255 0 255 0 0 255 0 0 0 255 0 0 255 0 255 0 0 255 0 0 0 255 0 0 255 0 0 0 0 0 0 0 0 255 0 0 255 0 0 0 0 0 0 0 Você deverá implementar seu programa em linguagem C Seu programa deve executar no runcodes em menos de 1 segundo Você não pode usar bibliotecas especializadas e só poderá executar operações em tipos primitivos int Por exemplo você não pode utilizar uma operação que multiplica uma lista ou um vetor a menos que você a implemente Você deve liberar adequadamente a memória alocada Se você não tiver certeza se alguma coisa é permitida ou não no trabalho não hesite em perguntar ao professor