Untitled
unknown
plain_text
4 years ago
2.3 kB
6
Indexable
#include<stdlib.h> #include<stdio.h> #include<string.h> struct proprietate { char strada[25]; int numar_imobil; struct caracteristici { char tip[6]; char categorie; float suprafata; } b; }; void citire(int n,struct proprietate v[]) { for(int i=0; i<n; i++) { printf("introduce strada: "); scanf("%s",&v[i].strada); printf("introduce numar_imobil: "); scanf("%d",&v[i].numar_imobil); getchar(); ///curatam bufferul printf("introduce tipul: "); scanf("%s",&v[i].b.tip); getchar(); ///buffer printf("introduce categoria: "); scanf("%c",&v[i].b.categorie); getchar(); ///buffer printf("introduce suprafata: "); scanf("%f",&v[i].b.suprafata); } } void ex_1(struct proprietate v[], float impozite[], int n) { for(int i=0; i<n; i++) { float cat,tip; if(v[i].b.categorie=='A') cat=1.25; if(v[i].b.categorie=='B') cat=0.85; if(v[i].b.categorie=='C') cat=0.6; if(strcmp(v[i].b.tip,"casa")==0) { tip=1; } else { tip=0.33; } impozite[i]=tip*cat*v[i].b.suprafata; } float max1=0; for(int i=0; i<n; i++) { if(impozite[i]>max1) { max1=impozite[i]; } } for(int i=0; i<n; i++) { if(impozite[i]==max1) { printf("%s %d\n",v[i].strada,v[i].numar_imobil); /// strada si nr_imobil } } } void ex_2(struct proprietate v[], int n) { float min1=v[0].b.suprafata; for(int i=1; i<n; i++) { if(v[i].b.suprafata<min1) min1=v[i].b.suprafata; } for(int i=1; i<n; i++) { if(v[i].b.suprafata==min1) { printf("Suprafata cea mai mica o are strada %s\n",v[i].strada); } } } int main() { int n; scanf("%d",&n); struct proprietate v[n]; citire(n,v); float impozite[n]; ex_1(v,impozite,n); ex_2(v,n); }
Editor is loading...