Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- void valida(int *a){
- scanf("%d", a);
- while(*a<=0){
- printf("Valor invalido. Digite novamente.\n");
- scanf("%d", a);
- }
- }
- float * leV(int a){
- int i;
- float *vetor;
- vetor = (float *) malloc (a*sizeof(float));
- if(vetor==NULL){
- printf("Erro ao alocar memoria.\n");
- exit(1);
- }
- for(i=0;i<a;i++){
- scanf("%f", &vetor[i]);
- }
- return vetor;
- }
- float media(float *vetor, int n){
- float soma = 0;
- float media;
- int i;
- for(i=0;i<n;i++){
- soma = soma + vetor[i];
- }
- media = soma/n;
- return media;
- }
- float * separa(float *vetor, float media, int n, int *cv){
- int i;
- float *tops;
- int c1=0;
- for(i=0;i<n;i++){
- if(vetor[i]>media){
- c1++;
- }
- }
- tops = (float *) malloc(c1*sizeof(float));
- if(tops==NULL){
- printf("Erro ao alocar memoria.\n");
- exit(2);
- }
- c1=0;
- for(i=0;i<n;i++){
- if(vetor[i]>media){
- tops[c1] = vetor[i];
- c1++;
- (*cv)++;
- vetor[i] = -1;
- }
- }
- return tops;
- }
- void apresenta(float *vetvip, float *vetnvip, int n, int cv){
- int i;
- int c=1;
- printf("***********_CLIENTES VIP'S_***********\n");
- for(i=0;i<cv;i++){
- printf("%d - Valor em conta = %.2f\n", i+1, vetvip[i]);
- }
- printf("*********_CLIENTES NAO VIP'S_*********\n");
- for(i=0;i<n;i++){
- if(vetnvip[i]!=-1) {
- printf("%d - Valor em conta = %.2f\n", c, vetnvip[i]);
- c++;
- }
- }
- }
- int main (){
- int n,i,cv=0;
- float *saldo;
- float *vips;
- float media_s;
- valida(&n);
- saldo = leV(n);
- media_s = media(saldo, n);
- vips = separa(saldo, media_s, n, &cv);
- apresenta(vips, saldo, n, cv);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement