#include <iostream>

struct Person {
    char gender; 
    int age;     
    double gpa;  
};

int main() {
    Person person = {'M', 21, 4.5};

    std::cout << "Размер структуры Person: " << sizeof(Person) << " байт" << std::endl;
    std::cout << "Размер поля gender: " << sizeof(person.gender) << " байт" << std::endl;
    std::cout << "Размер поля age: " << sizeof(person.age) << " байт" << std::endl;
    std::cout << "Размер поля gpa: " << sizeof(person.gpa) << " байт" << std::endl;

    std::cout << "Сумма размеров отдельных полей: " << sizeof(person.gender) + sizeof(person.age) + sizeof(person.gpa) << " байт" << std::endl;

    struct PersonModified {
        double gpa;  // 8 байт
        char gender; // 1 байт
        int age;     // 4 байта
    };

    PersonModified personModified = {4.5, 'M', 21};

    std::cout << "Размер структуры PersonModified: " << sizeof(PersonModified) << " байт" << std::endl;
    std::cout << "Размер поля gpa: " << sizeof(personModified.gpa) << " байт" << std::endl;
    std::cout << "Размер поля gender: " << sizeof(personModified.gender) << " байт" << std::endl;
    std::cout << "Размер поля age: " << sizeof(personModified.age) << " байт" << std::endl;

    std::cout << "Сумма размеров отдельных полей в PersonModified: " << sizeof(personModified.gpa) + sizeof(personModified.gender) + sizeof(personModified.age) << " байт" << std::endl;

    return 0;
}

