Pulse 0 Denunciar post Postado Junho 13, 2015 Crie um programa em C que receba um vetor de números reais com 100 elementos. Escreva uma função recursiva que inverta ordem dos elementos presentes no vetor. #include <stdio.h> int inverte(int vetor[], int, int); int main() { int p=0, i; int u=99; int vetor[100]; for(i=0; i<100; i++) { scanf("%d", &vetor[i]); } if(inverte(vetor, p, u) == 0) { for(i=0; i<100; i++) { printf("%d", vetor[i]); } } } int inverte(int vetor[100], int p, int u) { int aux; if(p<50 && u<50) { return 0; } else { aux = vetor[p]; vetor[p] = vetor[u]; vetor[u] = aux; return inverte(vetor, p+1, u-1); } } Tentei fazer mas tem algo errado no código. Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Junho 13, 2015 De novo: dê nomes que queiram dizer algo. O que é p? O que é u? O que é aquela comparação? Posso executar o código mas não sei como corrigir. #include <stdio.h> #define MAX 5 void inverter(int numeros[MAX], int posicao) { if (posicao < MAX/2) { int tmp = numeros[posicao]; int nova_posicao = MAX-posicao-1; numeros[posicao] = numeros[nova_posicao]; numeros[nova_posicao] = tmp; inverter(numeros, posicao+1); } } int main(void) { int numeros[MAX]; for(int i=0; i<MAX; i++) scanf("%d", &numeros[i]); inverter(numeros, 0); for(int i=0; i<MAX; i++) printf("%d%c", numeros[i], (i == MAX-1)? '\n':' '); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites