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;
}
Pergunta
_AlcinhA_
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!
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.