3) Elaborar um programa o qual ordene um vetor com 5 elementos inteiros. O programa deverá
ter pelo menos 3 funções (main, preencher e ordenar). A função main deverá declarar a matriz.
A função preencher deverá solicitar ao usuário o preenchimento da matriz, usando passagem
de parâmetros por valor. A função ordenar deverá ordenar o vetor a cada entrada do usuário, usando
passagem de parâmetros por referência.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void preencher(int *,int *);
void imprimir(int *);
void ordenar(int *,int *, int *);
//------------------- PRINCIPAL ----------------------
void main()
{
int v[5];
clrscr();
for (int i=0;i<=4;i++)
{
preencher(&v[i],&i); //envio posicao a ser preenchida e indice
if (i>0)
ordenar(&i,&v[0],&v[i]); //envio indice, posicao de v[o] e
} // posicao do atual
imprimir (&v[0]);
getch();
}
//----------------- PREENCHER ----------------
void preencher(int *pv, int *pi)
{
printf("digite o elemento %d : ",*pi);
scanf("%d",&*pv);
}
//--------------- IMPRIMIR -------------------
void imprimir(int *pv)
{
for (int i=0;i<5;i++)
{
printf("\t%d",*pv);
pv++;
}
}
//---------------- ORDENAR -------------------
void ordenar(int *pi,int *pv0, int *pvi)
{
int aux;
for(int j=1; j<=*pi;j++)
{
if(*pv0>*pvi)
{
aux=*pv0;
*pv0=*pvi;
*pvi=aux;
}
pv0++;
}
}
|