Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define DIM 10
- void ler(int *v, int tam);
- void maior_menor(int *v, int tam, int *pMai, int *pMen);
- float media_ind_impar(int *v, int tam);
- int vetlen(int *v);
- int num_meio(int *v);
- int main(void) {
- int v[DIM];
- int maior, menor;
- ler(v, DIM);
- maior_menor(v, DIM, &maior, &menor);
- printf("\nMaior Numero: %d\n", maior);
- printf("Menor Numero: %d\n", menor);
- printf("Media Indice Impar: %.1f\n", media_ind_impar(v, DIM));
- printf("Numero do Meio: %d\n", num_meio(v));
- return 0;
- }
- /*
- * Ler os elementos do Vetor.
- */
- void ler(int *v, int tam) {
- int i;
- for(i=0; i<tam; i++) {
- printf("Introd. o N# %d de %d: ", i+1, tam);
- scanf("%d", &v[i]);
- if(v[i] == 0)
- break;
- }
- }
- /*
- * Coloca nos ponteiros *pMai e *pMen o maior e menor valor, respectivamente.
- */
- void maior_menor(int *v, int tam, int *pMai, int *pMen) {
- int i;
- *pMai = *pMen = v[0];
- for(i=1; i<tam && v[i]!=0; i++) {
- if(v[i] > *pMai)
- *pMai = v[i];
- else
- if(v[i] < *pMen)
- *pMen = v[i];
- }
- }
- /*
- * Calcula a media dos indices impares.
- */
- float media_ind_impar(int *v, int tam) {
- int i;
- int qtd_ind_imp = 0;
- float sm_md; /*Soma, Media*/
- for(i=0,sm_md=0.0; i<tam && v[i]!=0; i++) {
- if(i % 2 == 1) {
- sm_md += (float)v[i];
- qtd_ind_imp++;
- }
- }
- return sm_md / qtd_ind_imp;
- }
- /*
- * Obtem a largura do vetor, bem semelhante a strlen (para largura de uma string).
- */
- int vetlen(int *v) {
- int i = 0;
- while(v[i] != 0)
- i++;
- return i;
- }
- /*
- * Numero do meio do vetor.
- */
- int num_meio(int *v) {
- int len = vetlen(v)-1;
- return v[len / 2];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement