Ir ao conteúdo

Lista com ponteiros, Estrutura de Dados.

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.

Uma lista ordenada pode conter Strings de qualquer comprimento < 10000; • esta lista tem um número de elementos máximo fixo (100) e é implementada como um vetor de ponteiros para Strings; – utilize as rotinas de lista com vetor que você implementou para a agenda. • Um novo String é lido primeiramente para dentro de uma variável auxiliar qualquer; – então é alocada memória para exatamente o seu tamanho e ele é copiado para esta área. Para copiar um String utilize strcpy(); – por fim um lugar na lista é encontrado para ele. A posição escolhida do vetor de ponteiros da lista é instanciada através da atualização dos valores do ponteiro da posição do String na lista com o endereço do string. Pseudo-código: constantes MAXLISTA = 100; tipo tLista { // Vetor de ponteiros para caracter. caracter *dados[MAXLISTA]; inteiro último; }; • Importante: observe que criando uma variável do tipo tLista você não vai estar alocando memória para os strings a serem lidos, apenas para os ponteiros para eles. Para verificar o comprimento de um String: – utilize a função strlen(); – esta função devolve o comprimento (em caracteres imprimíveis) de um string. – Protótipo: int strlen(char *p); #include
#include
#include
char p[90] = “Carro”;
main() {
printf(“%i”, strlen(p));
}

• Imprime: 5
• Para copiar um String:
– utilize a função strcpy();
– esta função copia o conteúdo de um string (dado por um apontador) para a posição de memória dada por outro apontador.
– Protótipo: char *strcpy(char *destino, char *fonte);

#include
#include
#include
char p[90] = “Carro”;
char lata[20];
main() {
strcpy(lata, p));
printf(“s%”, lata);
}
• Imprime: Carro

Detalhes:

• Como você não sabe o comprimento do String que o usuário vai digitar, use primeiro uma variável auxiliar grande (10000 posições) para guardar o que foi
digitado;
• todas as funções de lista ordenada implementadas anteriormente devem ser reimplementadas para utilizar estes Strings;
• para a leitura de um String utilize scanf(“%s”, entrada).

Publicado emAprendendoCEstrutura de DadosSistemas Digitais

466 Comentários

  1. Hello, I enjoy reading all of your article. I like to write a little comment to support you.

    Also visit my homepage :: webpage

  2. Hi there! This post couldn’t be written any better! Reading
    this post reminds me of my good old room mate!
    He always kept chatting about this. I will forward this
    article to him. Fairly certain he will have a
    good read. Thanks for sharing!

    my web blog: Basketball wm wetten (sitono.de)

  3. UAE Warriors 70
    This Friday, May 8, UAE Warriors 70 rolls into the Space42 Arena in Abu Dhabi featuring a card heavy on regional specialists and international veterans looking for a final push toward major promotions .

  4. Heya! I just wanted to ask if you ever have any problems with
    hackers? My last blog (wordpress) was hacked and I ended up losing a few months of hard work due to no
    data backup. Do you have any methods to prevent hackers?

    Feel free to visit my web site :: basketball tipps wetten (Mariel)

  5. http://exocet-web.fr/
    La societe Exocet Web se positionne comme une agence specialisee dediee au le cadre national francais, qui propose des services de qualite a ses clients, en valorisant sur l’excellence du service. En savoir plus sur cette page.

  6. ACA Young Eagles 64, which happens in mid-May 2026 stands as a classic illustration of a fight card where the popular narrative regularly fails to reflect the actual gap in capabilities, especially when looking at the developmental divisions of the Absolute Championship Akhmat .

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *