Faça um programa recursivo em C que exiba uma P.A. de números inteiros definida pelo usuário, bem como a soma de seus termos. Use 4 funções: (4 pts)
le( ) : int , que lê o 1º termo, a razão e o número de termos ( > 2 )
geraPA( ) : void , que gera um vetor contendo a P.A.
somaPA( ) : void , que calcula de forma recursiva, a soma da P.A.
exibe( ) : void , que exibe a P.A. e a soma dela.
Não há variáveis globais, portanto use passagem por referência quando for necessário.para executar no devc++
Segue abaixo um exemplo de programa recursivo em C que exibe uma P.A. de números inteiros definida pelo usuário, bem como a soma de seus termos, utilizando as 4 funções solicitadas: ```c #include int le(int *a, int *r, int *n) { printf("Digite o primeiro termo: "); scanf("%d", a); printf("Digite a razao: "); scanf("%d", r); printf("Digite o numero de termos (maior que 2): "); scanf("%d", n); if (*n <= 2) { printf("Numero de termos invalido!\n"); return 0; } return 1; } void geraPA(int *vet, int a, int r, int n) { if (n == 1) { vet[0] = a; return; } geraPA(vet, a, r, n-1); vet[n-1] = vet[n-2] + r; } int somaPA(int *vet, int n) { if (n == 1) { return vet[0]; } return vet[n-1] + somaPA(vet, n-1); } void exibe(int *vet, int n, int soma) { printf("P.A.: "); for (int i = 0; i < n; i++) { printf("%d ", vet[i]); } printf("\nSoma: %d\n", soma); } int main() { int a, r, n, vet[100]; if (!le(&a, &r, &n)) { return 0; } geraPA(vet, a, r, n); int soma = somaPA(vet, n); exibe(vet, n, soma); return 0; } ``` Espero ter ajudado!
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar