·

Cursos Gerais ·

Estrutura de Dados

Send your question to AI and receive an answer instantly

Ask Question

Preview text

ESTRUTURA DE DADOS UTILIZAR LINGUAGEM C LISTA DE EXERCICIOS SOBRE RECURSÃO Q1 Contando caracteres recursivamente Ação Forneça um algoritmo recursivo para contar quantas vezes um determinado caractere ocorre em uma string Não é permitido usar comandos de repetição nesta função A função main e o protótipo da função recursiva são fornecidos no arquivo de envio logo abaixo Entrada Linha 1 a string Linha 2 caractere que será contado na string anterior Saída Número de ocorrências do caractere na string Exemplos fundamentos de programacao a 4 include iostream include string using namespace std Retorna o números de ocorrências do caractere c na string str com n caracteres Algoritmo deve ser recursivo e sem comandos de repetição int contaCaracteresstring str int n char c fazer int main fazer Q2Dado um vetor com n inteiros Aa0a1an1 n0 imprima um triângulo de números tal que na base do triângulo estejam todos os elementos do vetor original ou seja a0a1an1 o número de elementos em cada nível acima da base é um a menos que no nível inferior e cada elemento no iésimo nível é a soma de dois elementos consecutivos do nível inferior Entrada A primeira linha deve ler o tamanho n do vetor A O valor de n é maior ou igual a zero A segunda linha deve ler os n elementos do vetor separados por espaço simples Saída O triângulo de somas Entrada 5 1 2 3 4 5 Saída 48 20 28 8 12 16 3 5 7 9 1 2 3 4 5 Q3 Leia um vetor de inteiros e implemente as funções sem utilizar laço para iterar sobre os elementos Você pode utilizar laço apenas para ler os elementos do vetor Entrada o um vetor de inteiros O vetor tem no mínimo 1 elemento Saída o vet o vetor o rvet o vetor impresso ao contrário o sum a soma dos elementos o mult a multiplicação dos elementos o min o menor elemento o inv inverte o vetor depois imprime ele invertido EXEMPLO Testes 01 4 vet 4 rvet 4 sum 4 mult 4 min 4 inv 4 02 3 4 2 vet 3 4 2 rvet 2 4 3 sum 9 mult 24 min 2 inv 2 4 3 Q4 Dado uma matriz que representa espaços vazios e árvores e um ponto inicial onde começa o fogo retorne a matriz com as árvores queimadas O fogo não se espalha nas diagonais apenas nas 4 direções cardeais A matriz está codificada assim 1a linha nl nc l c respectivamente número de linhas e colunas da matriz linha e coluna onde começa o fogo Nas linhas subsequentes representa uma árvore representa um espaço vazio o representa uma árvore queimada Saída esperada Imprima a matriz após a queimada acontecer EXEMPLO Testes 01 2 3 1 1 o oo 02 5 5 0 0 o o ooo oo ooo 03 5 7 2 3 ooo ooooo ooooo oo ooo Ajuda Você pode utilizar um array de strings para representar uma matriz de caracteres Uma string é um vetor de caracteres Dessa forma um string mat5 é um vetor de caracteres bidimensional com 5 linhas por exemplo O exemplo a seguir já carrega a matriz na main e já faz um método capaz de imprimir a matriz Você só precisa implementar o método tocarfogo Utilize as seguintes regras para recursão Se a posição for fora da matriz retorne Se a posição não for uma arvore retorne Queime a arvore Chame a recursão para todos os vizinhos include iostream include string using namespace std void showstring mat int nl forint l 0 l nl l cout matl void tocarfogoint nl int nc string mat int l int c TODO faca seu codigo aqui int main int nl 0 nc 0 lfire 0 cfire 0 cin nl nc lfire cfire string mat new stringnl forint l 0 l nl l string line cin line matl line tocarfogonl nc mat lfire cfire showmat nl delete mat