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

341 Comentários

  1. canadian casinos no deposit bonus, new uk casinos 2021 and canada online casino games no deposit
    bonus codes, Chiquita, slots, or top 5 online pokies united states

  2. Write more, thats all I have to say. Literally, it seems as
    though you relied on the video to make your point.
    You clearly know what youre talking about, why throw away your intelligence on just posting videos to your
    site when you could be giving us something informative to read?

    Feel free to visit my homepage; deposit bonus casinomentor
    [Antoinette]

  3. native united statesn gambling rights, best online casino australia no deposit bonus and real money online casino canada app,
    or canadian online casino for uk

    My website … roulette wheel betway (Marianne)

  4. canadian poker machine game download, gambling laws canada
    and usa free bingo prize, or uk gambling statistics 2021

    Here is my page: new casinos online australia,
    Heath,

  5. top online pokies and casinos united states pokies, free spins no deposit casinos usa and
    how to play craps game video (Denny) free games for real money uk, or
    online uk casino woth 24 hours payout

  6. new zealandn online white label casino cost (Korey) 5 dollar min deposit, canadian star casino
    kansas city and casino online real money australia, or free slot games in canada

  7. Tia Tia

    best new zealand casino, best online casino apps uk and online casino united states review, or new zealandn free
    chip casino

    My web blog … dangers of illegal gambling (Tia)

  8. buy poker machine united kingdom, united statesn poker and online
    how to play casino spin (Franziska) uk pay by mobile, or big poker tournaments in australia

  9. 25 free spins on sign up australia, bingo online play usa and online is bang
    casino legit; Glenn, uk free bonus no deposit, or united states slots machines

  10. https://sportium.net.co/
    A Sportium Colombia trata-se de um cassino e uma casa de apostas esportivas pela internet que e totalmente legal sob a licenca da Coljuegos, fruto da parceria entre CIRSA e Ladbrokes a partir de 2007. Disponibiliza ao usuario uma estrutura confiavel e abrangente onde os jogadores colombianos podem desfrutar a apostas em futebol ate caca-niqueis e cassino ao vivo com revendedores ao vivo, tudo em um mesmo sitio.

Deixe um comentário

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