Escolar Documentos
Profissional Documentos
Cultura Documentos
#include <stdio.h>
// Função recursiva para calcular a soma dos elementos de um vetor.
int somarVetor(int vetor[], int tamanho) {
if (tamanho == 0) {
return 0;
} else {
// Somar o último elemento do vetor com o resultado da chamada recursiva.
return vetor[tamanho - 1] + somarVetor(vetor, tamanho - 1);
}
}
int main() {
int vetor[] = {1, 2, 3, 4, 5};
int tamanho = sizeof(vetor) / sizeof(vetor[0]);
// Chamar a função somarVetor para calcular a soma dos elementos.
int soma = somarVetor(vetor, tamanho);
printf("A soma dos elementos do vetor é: %d\n", soma);
return 0;
}
#include <stdio.h>
// Função recursiva para exibir os elementos de um vetor ao contrário.
void exibirVetorAoContrario(int vetor[], int inicio, int tamanho) {
if (inicio < tamanho) {
// Chamar a função recursivamente para exibir o próximo elemento.
exibirVetorAoContrario(vetor, inicio + 1, tamanho);
// Exibir o elemento atual
printf("%d ", vetor[inicio]);
}
}
int main() {
int vetor[] = {5, 4, 3, 2, 1};
int tamanho = sizeof(vetor) / sizeof(vetor[0]);
printf("Elementos do vetor ao contrário: ");
exibirVetorAoContrario(vetor, 0, tamanho);
printf("\n");
return 0;
}
#include <stdio.h>
// Função recursiva para converter decimal em binário.
void decimalToBinary(int decimal) {
// Caso base: se o decimal for zero, a recursão para
if (decimal == 0) {
return;
}
// Chamada recursiva com a divisão do decimal por 2.
decimalToBinary(decimal / 2);
// Imprime o último dígito binário (resto da divisão por 2).
printf("%d", decimal % 2);
}
int main() {
int decimalNumber;
printf("\n");
return 0;
}
#include <stdio.h>
// Função recursiva para unir dois vetores.
void mergeArrays(int arr1[], int size1, int arr2[], int size2, int result[], int index) {
// Caso base: quando ambos os vetores foram percorridos
if (index >= size1 + size2) {
return;
}
// Verifica se o índice atual pertence ao primeiro vetor.
if (index < size1) {
result[index] = arr1[index];
}
// Se não, pertence ao segundo vetor.
else {
result[index] = arr2[index - size1];
}
// Chama a função recursivamente para o próximo índice.
mergeArrays(arr1, size1, arr2, size2, result, index + 1);
}
int main() {
printf("\n");
return 0;
5) Escreva uma função recursiva em C que receba um inteiro positivo n e devolva a soma dos
dígitos decimais de n. Por exemplo, ao receber 2638 sua função deve devolver 19 (2,0 pontos).
#include <stdio.h>
int main() {
int number;
return 0;
}