"Cogito ergo sum"
RSS icon Email icon Home icon
  • Exercicio em C++

    Posted on September 25th, 2009 Matheus (X-warrior) Bratfisch No comments

    Boa noite,

    Nos últimos dias uma amiga pediu ajuda para resolver dois exercícios em C++ que o professor dela havia passado. O enunciado dos mesmo são:

    1. Faça um programa que leia um numero não determinado de valores inteiros e positivos. Para cada valor lido: se o numero for par, verificar quantos divisores possui e escrever esta informação. Se for impar e menor que 12, escrever o seu fatorial. Se for impar e maior que 12, escrever a soma dos números de 1 até ele.

    Resolução C++ do exercicio 1.

    2. Escrever um programa que leia valores, um de cada vez, e conta quantos deles estão em cada um dos intervalos: [0,25], [25, 50], [50, 75] e [75,100].

    Resolução C++ do exercicio 2

    Matheus

    PS: Pra mim é C mas como só ajudei ela não entrei no mérito dessa questão.

  • Árvore B, Estrutura de Dados.

    Posted on July 1st, 2009 Matheus (X-warrior) Bratfisch No comments

    Boa noite,

    Neste post vou publicar uma árvore B em C++ desenvolvida por mim e pelo meu colega Olav, como trabalho da aula de estrutura de dados. A mesma le um arquivo de ceps e insere os mesmos em uma árvore e calcula o tempo de inserção para cada item. Infelizmente, me parece que o medidor de tempo não está correto, porém com a árvore está.

    Caso você descubra algo errado por favor, reporte-me

    Árvore B

    Matheus Bratfisch

  • Lista encadeada, Estrutura de dados.

    Posted on May 6th, 2009 Matheus (X-warrior) Bratfisch No comments

    Saudações,

    Para não perder o costume, irei postar outro exercicio resolvido em uma aula. Dessa vez o exercicio é o seguinte:
    - Implemenetar o sistema de contabilidade de um mafioso. (outros detalhes continue lendo o post)

    O enunciado do mesmo se encontra no “read the rest of this entry” para não deixar o post muito extenso devido ao longo enunciado.

    A resolução do mesmo você pode baixar aqui.

    Read the rest of this entry »

  • Lista com ponteiros, Estrutura de Dados.

    Posted on April 29th, 2009 Matheus (X-warrior) Bratfisch No comments

    Boa noite a todos,

    Como ainda não produzi nada muito bom hoje em casa (no lab produzi algo relaciona a xml-rpc que pretendo postar em breve), resolvi postar mais um dos 198578951 exercicios que estou tendo que fazer para estrutura de dados. O Exercicio de hoje é nada mais nada menos que uma implementação de uma Lista com Ponteiros, ou seja, ela não tem limite de elementos (é claro, se a memoria for infinita).

    Como no exercicio anterior, o enunciado fica para a pagina inteira pois é muito grande.

    O exercicio resolvido você encontra aqui.

    Read the rest of this entry »

  • Pilha, com ponteiros, Estrutura de Dados.

    Posted on April 28th, 2009 Matheus (X-warrior) Bratfisch No comments

    Então, hoje vou demonstrar um dos outros exercicios que fizemos na aula de estrutura de dados, lembrando mais uma vez que estes são exercicios que eu faço rapidamente e não me importo muito com várias coisas pela falta de tempo. O que irei mostrar hoje é uma Pilha com vetores porém em vez de ele ter um inteiro indicando o ultimo elemento, o ultimo será um ponteiro para o ultimo elemento da pilha.

    Para ver o enunciado inteiro continue lendo (enunciado grande).

    Para baixar o arquivo, clique aqui!

    Read the rest of this entry »

  • Ubuntu com Netbeans Java e C

    Posted on April 27th, 2009 Matheus (X-warrior) Bratfisch No comments

    Boa noite,

    Hoje pretendia instalar o netbeans 6.5.1 no Ubuntu 64 bits, baixei a versão que eu queria (C/C++) no site do netbeans. Tentava instalar o netbeans com o comando:

    $ ./netbeans-6.5.1-ml-cpp-linux.sh

    (PS: Tornei o mesmo executavel antes, com o comando $ chmod +x netbeans-6.5.1-ml-cpp-linux.sh)

    Recebia a seguinte resposta:

    x-warrior@x-warrior-desktop:~/Desktop$ ./netbeans-6.5.1-ml-cpp-linux.sh
    Configuring the installer…
    Searching for JVM on the system…
    Extracting installation data…
    Running the installer wizard…
    x-warrior@x-warrior-desktop:~/Desktop$

    Porém a parte grafíca não acontecia. Fui olhar o log da seguinte maneira:

    $ sh netbeans-6.5.1-ml-cpp-linux.sh –verbose –output out.txt

    Analisando o arquivo out.txt pude ver o seguinte erro:

    [2009-04-27 20:56:18.173]: at org.netbeans.installer.Installer.main(Installer.java:78)
    [2009-04-27 20:56:18.174]: … show message dialog
    [2009-04-27 20:56:18.174]: title: Critical Error
    [2009-04-27 20:56:18.174]: message: An unexpected exception happened in thread main
    [2009-04-27 20:56:18.174]:
    [2009-04-27 20:56:18.174]: Exception:
    [2009-04-27 20:56:18.174]: java.lang.NoClassDefFoundError:
    [2009-04-27 20:56:18.175]: Could not initialize class java.awt.Toolkit

    Infelizmente não sabia como corrigi-lo. Pesquisei um pouco e não achei nada que funcionasse. Então tive a brilhante idéia de instalar pelo synaptic. Instalei o netbeans que estava lá, tudo ocorreu normalmente. Executei o mesmo e fui criar um novo projeto, me deparo que a versão instalada era a para Java. Me decepcionei, afinal precisava mesmo da versão para C/C++. Quando fiz a instalação pelo synaptic percebi que existiam muitas dependencias, tentei instalar novamente a versão para C e vua-la. Consegui instalar a mesma. (Meio na gambiarra eu sei, afinal fiquei com 2 versões de netbeans uma para C e outra para Java, mas sem problemas já que eu utilizo as duas.)

    Então caso você queira instalar a versão para C/C++, instale a versão de Java, ou suas dependencias somente e em seguida instale o para C/C++ que tudo vai ocorrer bem.

    Ah, para um melhor entendimento editei o menu (Botao direito sobre Applications – edit menu), ele é muito intuitivo então não vou entrar em mais detalhes. Mas no mesmo editei os Netbeans 6.5 e 6.5.1 para Netbeans 6.5 (Java) e Netbeans 6.5.1 (C/C++). Assim não corro o problema de esquecer e abrir a versão errada perdendo tempo.

    Espero que essa gambiarra dica ajude vocês.

    Abraços,
    Matheus

    PS: Se alguem tiver a solução decente para conseguir instalar o Netbeans me avise que eu posto aqui. Ou caso eu descubra, postarei também.

  • Lista, Estrutura de dados

    Posted on April 25th, 2009 Matheus (X-warrior) Bratfisch No comments

    Boa tarde,

    Como estou tendo aula de estrutura de dados estou tentando colocar aqui, alguns dos conceitos que aprendemos em sala, junto ao seu exercicio e uma implementação de um exercicio (desenvolvido rapidamente, muitas vezes). A estrutura apresentada hoje é Lista, uma estrutura de dados linear. Existe também a lista ligada, ou encadeada que também é conhecida por linear e dinamica (fica pra outro post) e a lista duplamente ligada, ou duplamente encadeada (fica pra outro post também). A pilha e a fila são implementações especiais de listas. A Lista, não possue restrições como suas implementações especiais, e pode receber elementos em qualquer posição, remover de qualquer posição, remover especifico, adicionar em ordem entre outras.

    O enunciado do exercicio que foi proposto para lista é o seguinte:

    1. Crie o seu tipo de dados tLista em um headerfile;
    2. esta deverá ser uma lista de elementos do tipo tAgenda;
    3. O tipo tAgenda é um tipo que representa um nome de 30 posições e um número de telefone;
    4. crie uma função maior(a,b) que compare os nomes de duas entradas;
    5. programe todas as funções documentando cada função, inclusive com dicionário de dados;
    6. crie um programa principal que execute todas as funções de lista a partir de um menu. A função procurar específico deverá basear-se no nome em uma Agenda;
    7. além dessas funções, o programa deverá ser capaz de listar a lista em ordem alfabética.

    Resolução do mesmo aqui.

    Até mais,
    Matheus

  • Fila, Estrutura de dados

    Posted on April 15th, 2009 Matheus (X-warrior) Bratfisch No comments

    Boa Noite,

    Como estou tendo aula de estrutura de dados estou tentando colocar aqui, alguns dos conceitos que aprendemos em sala, junto ao seu exercicio e uma implementação de um exercicio (desenvolvido rapidamente, muitas vezes). A estrutura apresentada hoje é Fila, uma estrutura de dados baseada no principio FIFO (first in, first out) ou seja, primeiro a entrar é o primeiro a sair. Ela, como a pilha possui duas funções básicas, que é adiciona e remove. Uma adicionando no fim, como uma fila (sem furos, é claro!) e a outra retirando do inicio.

    Já faz alguns dias que resolvemos esse exercicio e pra ser sincero não tenho certeza se estou postando a ultima versão que tenho do mesmo, mas acredito que sim. O enunciado do exercicio resolvido foi o seguinte:

    * Implemente todas as operações vistas sobre fila;
    * implemente um programa principal que utilize a fila através de um menu com os seguintes itens: enfileirar, desenfileirar, limpar, mostrar fila, sair do programa. Use a estrutura de programação switch do “C” para isto;
    * a fila possuirá tamanho máximo 100, definido como uma constante chamada MAXFILA. Utilize esta constante para a definição da estrutura de dados que será a fila;
    * a fila será referenciada por uma variável global;
    * para implementar a estrutura de dados defina um tipo elementoDaFila que será char[40] e defina a sua fila como um vetor de 100 elementoDaFila .

    Aqui está a implementação da mesma que acredito ser a ultima.

    Abraços,
    Matheus

    PS: Com o tempo eu pretendo (não sei se consigo) fazer algumas mudanças nas mesmas assim que for aprendendo novas tecnicas e conceitos relacionados ao assunto, mas como a faculdade ta muito corrida não sei se vai ser possivel.

  • Pilha, Estrutura de dados.

    Posted on April 2nd, 2009 Matheus (X-warrior) Bratfisch No comments

    Boa Noite,

    Hoje vou ensinar um conceito bem básico de estrutura de dados, que vimos a algumas aulas atrás. PILHA, é uma estrutura de dados abstratos amplamente utilizada na informatica e é baseada no principio LIFO (Last in, first out), ou seja ultimo a entrar, primeiro a sair. Ela possue 2 funções que todas devem possuir, push (adicionar) e pop (remover), outros metodos que podem existir, podem ser considerados como privados, pois só mechem na estrutura interna da pilha.

    O enunciado do exercicio que tivemos que resolver foi o seguinte:

    * Implemente todas as operações vistas sobre pilha;
    * implemente um programa principal que utilize a pilha através de um menu com os seguintes itens: empilhar, desempilhar, limpar, mostrar pilha, sair do programa. Use a estrutura de programação switch do “C” para isto;
    * ao mostrar a pilha, o programa deve colocar embaixo de cada dado, a sua posição no vetor. Utilize as opções de definição de tamanho de campo de impressão do printf() para isto;
    * a pilha possuirá tamanho máximo 30, definido como uma constante chamada MAXPILHA. Utilize esta constante para a definição da estrutura de dados que será a pilha;
    * a pilha será referenciada por uma variável global.

    Aqui está a primeira implementação que fizemos.

    Abraços,
    Matheus

    PS: Com o tempo vou postar reformulações desse exercicio e os novos codigos desenvolvidos.

  • Estrutura de dados, C

    Posted on March 21st, 2009 Matheus (X-warrior) Bratfisch 1 comment

    Boa tarde galera,

    Então, neste semestre estou tendo aula de estrutura de dados, o meu professor Aldo von Wangenheim, resolveu utilizar C na parte inicial da aula, e posteriormente C++. Um curso para linguagem C, que ele passou para os alunos que não tinham conhecimento na linguagem é este. Na segunda ou terceira aula, também já passou uma lista de 5 exercicios sobre C pra galera resolver e ir pegando a manha. Eu e o Olav, resolvemos os mesmos e vamos disponibilizar aqui, junto com a lista de exercicios. Assim você que quer pode aprender por conta propria, ou você que precisa dos trabalhos e não quer faze-los pode copiar (recomendo fazer, pra aprender).

    Lista de exercicio (5) para iniciantes
    Os 5 exercicios resolvidos

    PS: O link levara a uma outra pagina com descrição dos arquivos, onde você deve fazer o download dos mesmos.

    Até a próxima,
    Matheus