boa noite galeraaa! A questão é...preciso fazer uma função que utilizando aritmetica de ponteiro inverta os termos de um vetor. aqui vai o codigo que eu fiz, a funçao com problema ta com um comentario la...é a ordinv!  desde já muito obrigado!  #include <stdlib.h>
#include <stdio.h>
int maior (int *pv,int n){
    int i,maio;
    maio = *(pv+0);
    for (i=0;i<n;i++){
      if (*(pv+i)>maio) { 
         maio= *(pv+i);
         }
    }
    return maio;
}         
int menor (int *pv,int n) {
    int i,meno;
    meno = *(pv+0);
    for (i=0;i<n;i++){
      if (*(pv+i)<meno) { 
         meno = *(pv+i);
         }
    }
    return meno;
}
float media (int *pv,int n) {
      float s=0;
      int i;       
      for (i=0;i<n;i++) {
          s=s+*(pv+i);
          }
      return (s/n);
}       
int numneg (int *pv,int n) {
    int i,cont;
    cont=0;
    for (i=0;i<n;i++) {
        if (*(pv+i)<0) {
           cont=cont+1;
           }
           }
    return cont;
}
//funçao com problema!!!!!
int ordinv(int *pv,int n){
    int i,j,aux;
    for (i=0,j=n-1;i<j;i++,j--) {
        aux=*(pv+i);
        *(pv+i)=*(pv+j);
        *(pv+j)=aux;
        }
return *(pv+i);
}
int main () {
    int n,i, *pv;
    printf("Digite a quantidade de termos do vetor\n");
    scanf("%d", &n);
    pv=(int *)malloc(n*sizeof(int));
    if(!pv) {
        printf("MEMORIA INSUFICIENTE");
        exit(1);
    }
    for (i=0;i<n;i++) {
        printf("Digite o termo v[%d]\n", i+1);
        scanf("%d",pv+i);
    }
    printf("O valor do maior termo digitado e: %d",maior(pv,n));
    printf("\n\n");
    printf("O valor do menor termo digitado e: %d",menor(pv,n));
    printf("\n\n");
    printf("A media dos termos digitados e: %f", media(pv,n));
    printf("\n\n");
    printf("A quantidade de numeros negativos e: %d", numneg(pv,n));
    printf("\n\n");
    printf("O vetor invertido\n");
    for (i=0;i<n;i++){
        printf("%d\n",ordinv(pv,n));
        }
    system ("PAUSE");
    return 0;
}