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

426 Comentários

  1. best online slot usa, blackjack mulligan uk and cashman casino
    bonus codes (Marie)
    in connecticut usa, or united states online casino news

  2. legal gambling sites canada, united states free demo roulette (Norma) online slots and jackpot casino australia, or live uk poker tournaments

  3. ufc fight stats
    Khamzat Chimaev is expected to edge out Sean Strickland on the scorecards in a competitive matchup, while the rest of the UFC 328 fight lineup offers a series of tight matchups, namely Van successfully holding off Taira, Volkov finishing the fight via TKO in the championship frames, Buckley surprising Brady on the scorecards or by stoppage, and Green just edging past Stephens on points.

  4. The premier destination for the most recent MMA coverage, bout outcomes, division standings, and exclusive insider updates from the MMA universe.

  5. https://saffa-luck.co.za/
    The Saffa Luck platform comes across as a modern digital gambling site as well as sportsbook created specifically for the audience in South Africa, which operates legally and delivers a well-rounded journey both from the mobile phone as well as through the laptop.

  6. https://betmaster-bet.com.mx/
    La plataforma Betmaster es un contemporaneo casa de apuestas online y casa de apuestas pensado unicamente para el mercado mexicano, que opera de forma legal y ofrece un recorrido completo tanto a traves del telefono inteligente como a traves de la PC.

  7. https://zarbet-casino.co.za/
    Zarbet stands as a modern digital gambling site along with sports betting hub built uniquely for the audience in South Africa, that functions legally and makes available a complete experience from any mobile device as well as from the PC.

  8. https://lula-bet.co.za/
    LulaBet stands as a modern online casino together with sportsbook developed especially for the audience in South Africa, that functions with a valid permit in place and makes available a well-rounded journey whether through a smartphone as well as from the computer.

  9. UFC 328 touches down at the Prudential Center on May 9, 2026 with a loaded fight lineup. The UFC 328 main card is topped by champion Khamzat Chimaev making a defense of his middleweight championship against Sean Strickland.

  10. https://bigbasscrash.co.za/
    Big Bass Crash Casino serves as a contemporary online gaming platform along with sports betting hub developed especially for the local Saffa public, which operates legally and provides a full gaming adventure both from the mobile phone as well as from the desktop.

  11. https://jetx3.co.za/
    JetX3 Casino stands as a contemporary digital gambling site and sports betting hub designed exclusively for the South African market, which runs under an official licence and makes available a full gaming adventure from any mobile device as well as from the computer.

  12. https://sportingbet-play.co.za/
    The Sportingbet platform is a innovative online gaming platform as well as bookmaker built uniquely for the South African market, that carries out its activity in a fully authorised manner and makes available a well-rounded journey both from the mobile phone as well as from the PC.

Deixe um comentário

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