Harry zingh Harry zingh - 4 years ago 72
C Question

given N numbers show those above the average of the numbers themselves. C( how can i print output in main())

I want to know how can i print output in main().

User gives

n
number after I declare the array, and after I pass it by address to load it, then I pass it again address for elaboration but I don't know to print the output in the main function.

The output is in
void elaborazionedati(int num,int vet[])


My Code

#include <stdio.h>
#include <stdlib.h>
#include <math.h>


//Prototipo
void caricamentovettore(int num,int vet[]);
void elaborazionedati(int num,int vet[]);
//fine

int main()
{
//Dichiarazione variabili
int n;
int scelta;
do
{
//how many numbers do u want to give?
printf("---------------------\nQunati numeri vuole inserire \n");
scanf("%d",&n);
//dichiaro il vettore

int vet[n];
caricamentovettore(n,vet);//array load
elaborazionedati(n,vet);// data elaboration


// this you can skip
printf("Per fare un'altro calcalcolo inserire :1\naltrimenti per uscire premere qualsiasi tasto\n");
scanf("%d",&scelta);

} while(scelta==1);
system("pause");
return 0;

}
//Inzio subroutine CARICAMENTO VETTORE
void caricamentovettore(int num,int vet[])
{ //dicgiarazione variabili
int i,z=1;

for(i=0;i<num;i++){

printf("Inserireil : %d numero\n",z++);
scanf("%d",&vet[i]);
}
}
//fine subroutine

//here is output
//Inzio subroutine ELABORAZIONE
void elaborazionedati(int num,int vet[])
{
int totale,media,i;
for(i=0;i<num;i++){

totale+=vet[i];
}

media=totale/num;

for(i=0;i<num;i++){

if(vet[i]>media){
printf("\nI numeri maggiore alla media%d\n",vet[i])//<--------how i can print this in main?
}
}

}
//fine subroutine


so i want to know how can i print output in main()

Answer Source

Do the following changes in your code,

1 void caricamentovettore(int num,int vet[]); change this to int caricamentovettore(int num,int vet[]);

2 remove elaborazionedati(n,vet); from your main function.And change caricamentovettore(n,vet); to int avg = caricamentovettore(n,vet);

3 change caricamentovettore function to,

 void caricamentovettore(int num,int vet[])
 {   //dicgiarazione variabili
   int i,media = 0;

   for(i=0;i<num;i++){
        printf("Inserireil : %d numero\n",z++);
        scanf("%d",&vet[i]);
        media += vet[i];
     }

   return media/i;
 }

4 Add this after caricamentovettore function call add below code,

 for(int i=0;i<num;i++){

    if(vet[i]>avg){
        printf("\nI numeri maggiore alla media%d\n",vet[i])//<--------how i can print this in main?
    }
}
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download