Informática, perguntado por mullerjosenelson, 10 meses atrás

Vamos fazer a programação de uma ÁRVORE para testar seu conhecimento no computador.
Aqui você deve fazer um programa em linguagem C ou C++ que contenha os seguintes itens:
A estrutura de dados (struct) deverá conter os seguintes dados:
nome do município
· área total do município (em km2)
· população
A árvore deverá ter funções para inserir, percorrer e listar, que podem ser conseguidas nas aulas da disciplina (e não valerão nota, mas formam a base para ela). Então, prossiga resolvendo a avaliação:
a) Faça uma função que conte o número de municípios, percorrendo os nós cadastrados na árvore.
b) Faça uma função que mostre apenas os nomes dos municípios com mais de X habitantes. Por exemplo, X pode ser 100.000 pessoas.
c) Faça uma função que mostre a densidade demográfica de cada cidade. A densidade demográfica é a relação entre a população e a área.
d) Faça uma função que mostre o somatório de área em km2 de todas as cidades juntas em relação ao território nacional (em porcentagem).
e) Faça uma função que mostre as cidades em ordem alfabética, com todos os dados.
f) Faça uma função que mostre o nome da cidade com a maior população.
g) Teste o seu programa com utilizando cidades de sua região e dados realísticos.

Soluções para a tarefa

Respondido por mayaravieiraj
7

Temos aqui um exemplo de árvore que possui as funções para inserir, percorrer e listar:

''#include <stdio.h>

#include <string.h>

#include <stdlib.h>

#define TAM 5

#define MAX 80

int main ()

{

   /* Declarando um vetor de apontadores */

   char *mat[TAM];

   /* Declara um buffer para efetuar a leitura */

   char buffer[MAX];

   int i,j;

   printf("\nEntre com %d Frases:\n\n", TAM);

   for (i=0; i<TAM; i++)

   {

       gets(buffer);

       /* Aloca em mat[i] a quantidade de caracteres suficiente para armazenar o buffer */

       mat[i]=(char *) calloc((strlen(buffer)+1), sizeof(char));

       /* Testa se a alocação teve sucesso */

       if (!mat)

       {

           printf ("** Erro: Memoria Insuficiente **");

           for(j=0; j < i; j++)

               free(mat[j]);

           exit(1);

       }

       /* Copia a string, do buffer para o vetor de strings */

       strcpy(mat[i],buffer);

   }    

   printf("\nFrases digitadas");

   for(i=0; i<TAM; i++)

   printf("%s\n", mat[i]);

   for(j=0; j<TAM; j++)

   free(mat[j]);

}''

Respondido por brunnomcp1988
0

Resposta:

Struct do município: AUSENTE

Uso de árvore: AUSENTE

MENU: AUSENTE

Faltam as rotinas de A até G trabalhando com a árvore (ou lista ou vetor para não perder nota).

Continue trabalhando!!

Bons estudos, Prof. Diógenes.

Explicação:


brunnomcp1988: isso foi o,que faltou. Tirei apenas 0,5 de 3,5
AlissonGarciaa: conseguiu fazer de novo ?
Perguntas interessantes