Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- typedef struct product{
- char name[20];
- int category;
- float price;
- }product;
- void fill_in_product(product *t, int n){
- int i;
- for(i=0;i<n;i++){
- printf("Product %d:\n",i);
- scanf("%s",t[i].name);
- scanf("%d",&t[i].category);
- scanf("%f",&t[i].price);
- }
- }
- product average_price_max(product t[], int n){
- int i,sumlib1=0,sumlib2=0,sumlib3=0;
- float sum1=0,sum2=0,sum3=0;
- float srednia1,srednia2,srednia3;
- for(i=0;i<n;i++){
- if(t[i].category == 1){
- sum1 += t[i].price;
- sumlib1++;
- }
- if(t[i].category == 2){
- sum2 += t[i].price;
- sumlib2++;
- }
- if(t[i].category == 3){
- sum3 += t[i].price;
- sumlib3++;
- }
- }
- printf("%f ",sum1);
- printf("%f ",sum2);
- printf("%f\n",sum3);
- srednia1 = sum1/sumlib1;
- printf("%.2f ",srednia1);
- srednia2 = sum2/sumlib2;
- printf("%.2f ",srednia2);
- srednia3 = sum3/sumlib3;
- printf("%.2f ",srednia3);
- int j=0;
- product *tback;
- tback = (product*)malloc(sizeof(product)*n);
- if(srednia3 > srednia2 && srednia3 > srednia1){
- for(i=0;i<n;i++){
- if(t[i].category == 3){
- tback[j] = t[i];
- j++;
- }
- }
- }
- if(srednia2 > srednia3 && srednia2 > srednia1){
- for(i=0;i<n;i++){
- if(t[i].category == 3){
- tback[j] = t[i];
- j++;
- }
- }
- }
- if(srednia1 > srednia2 && srednia1 > srednia3){
- for(i=0;i<n;i++){
- if(t[i].category == 3){
- tback[j].category = t[i].category;
- tback[j].price = t[i].price;
- j++;
- }
- }
- }
- printf("\n %f",tback[0].price);
- return *tback;
- }
- int main()
- {
- int n;
- scanf("%d",&n);
- product t[n];
- fill_in_product(t, n);
- average_price_max(t, n);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement