Guião laboratorial n.º 1 – exercício 8
Desenvolva um função que determine em que posição de uma tabela de inteiros se encontra o elemento que regista a maior subida em relação ao elemento anterior. Esta posição deve ser devolvida como resultado. A função recebe como argumentos um ponteiro para o início da tabela e o número de elementos que esta contém. A sua declaração é a seguinte:
int maior_subida(int *tab, int dim);
#include <stdio.h> #include <stdlib.h> #include <string.h> #define TAM 10 int maior_subida(int *tab, int dim){ int *p, *q; p=tab; q=tab+1; int dif=0, aux2=0, valor=0,i=0; for(p=tab; p<tab+dim && q <tab+dim; p++,q++){ aux2=*p-*q; if(aux2<0) { aux2=-aux2; } printf("\n%d\t%d\t%d\t%d", i, *p, *q, aux2); if(aux2>dif){ dif=aux2; valor=i; } i++; } return valor; } int main() { int tabela[]={1,3,7,42,22,10,9,7,7,33}; int posicao; posicao=maior_subida(tabela, TAM); printf("\nPosicao da maior subira: %d", posicao); return 0; }
Tags : Learn C
0 thoughts on “Guião laboratorial n.º 1 – exercício 8”