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

248 Comentários

  1. Thomasstiny Thomasstiny

    DOA 3 мы вынесли отдельный пост, чтобы всё важное было в одном месте и без лишней воды. Там собраны основные моменты, которые обычно волнуют игроков: что стоит учитывать перед стартом, какие детали чаще всего обсуждают по бонусным режимам, на что обращать внимание во время сессии и почему у этого слота такая “нервная” динамика. Удобно сначала прочитать пост, а потом уже прийти в группу и обсуждать конкретику – с примерами и своими результатами.

  2. TimothyEnush TimothyEnush

    Если вы подбираете лучшие казино на рубли, смотрите шире, чем просто наличие RUB в кассе. Важно, чтобы рублёвые операции были реально удобными: без лишних шагов, с адекватными лимитами и понятными правилами по выводу (часто встречается требование выводить тем же методом, что пополняли). Мы публикуем свежие подборки и обновления по таким площадкам в Telegram – там проще сравнить варианты и выбрать подходящий. https://t.me/s/rating_casino_russia/25

  3. ruby fortune online pokies canada, no deposit sign up bonus nz 2021 and online casino 5 dollar
    minimum deposit united states, or 5 dollar deposit casino united kingdom

    Check out my webpage … ed thorp’s the mathematics of gambling (Barry)

  4. slot machines ontario united states, canadian star casino kansas city
    and online casino uk casino club, or awesome online casino new
    zealand

    my homepage – progression chart of roulette (Arturo)

  5. outreachseo 787 outreachseo 787

    Качественное SEO https://outreachseo.ru продвижение сайта для бизнеса. Наши специалисты предлагают эффективные решения для роста позиций в поисковых системах. Подробнее об услугах и стратегиях можно узнать на сайте

  6. how much is a gambling license in canada, gambling stocks united states and best online
    casino canada no deposit bonus, or australian what online casinos accept credit cards, Caleb, pokies real money

  7. free spins no deposit no wagering usa, real online money casino game most
    money [Sherrill] canada and bet365
    united statesn roulette guide uk, or potawatami casino milwausaee
    wi

  8. 2x multiplier gambling – Phoebe, statistics uk 2021, do casinos pay out in cash uk and deposit now pay later casino united states, or
    best online casino sites for real money canada

Deixe um comentário

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