Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- #include <vector>
- #include <cstdio>
- #include <cstring>
- #include <map>
- using namespace std;
- class Object
- {
- private:
- string valuable;
- float price;
- public:
- Object ( string m_valuable, float m_price )
- {
- valuable = m_valuable;
- price = m_price;
- }
- string getValuable()
- {
- return valuable;
- }
- float getPrice()
- {
- return price;
- }
- };
- class House
- {
- private:
- string street;
- string city;
- uint32_t number;
- vector <Object> valuables;
- public:
- House(string m_street, string m_city, unsigned int m_number){
- street = m_street;
- city = m_city;
- number = m_number;
- }
- string getStreet()
- {
- return street;
- }
- string getCity()
- {
- return city;
- }
- uint32_t getNumber()
- {
- return number;
- }
- int getValuablesSize()
- {
- return valuables.size();
- }
- Object getValuable( int32_t nr)
- {
- return valuables[nr];
- }
- void add(Object obj)
- {
- valuables.push_back(obj);
- }
- };
- float getTotalPrice( House casa)
- {
- float sum=0;
- for(int i =0; i<casa.getValuablesSize();i++)
- {
- sum=sum+casa.getValuable(i).getPrice();
- }
- return sum;
- }
- string compare( House h, House H ){
- if(h.getStreet()<H.getStreet())
- return h.getStreet();
- else if(h.getStreet()>H.getStreet())
- return H.getStreet();
- else return h.getStreet();
- return 0;
- }
- int main()
- {
- string street;
- string city;
- int house_number;
- int n;
- string valuable;
- float price;
- vector <House> c;
- while(cin>>street>>city>>house_number>>n)
- {
- House casa(street,city,house_number);
- for(int i=0;i<n; i++){
- cin>>valuable>>price;
- Object obiect(valuable,price);
- casa.add(obiect);
- }
- c.push_back(casa);
- }
- for(int i=0;i<c.size();i++){
- cout<<compare(c[i],c[i+1])<<" "<<c[i].getCity()<<" "<<"-"<<" "<<getTotalPrice(c[i])<<"\n";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement