Основи програмування на С ++ для початківців

Задачі та рішення: Классы C

Прошло немного времени после публикации вводного урока о классах в C . Теперь мы предлагаем вам попрактиковаться в решении достаточно простых задач с применением классов. Старайтесь решать самостоятельно.

1. створити класTiles (кафель), который будет содержать поля с открытым доступом: brandsize_hsize_wprice і метод класуgetData(). В главной функции объявить пару объектов класса и внести данные в поля. Затем отобразить их, викликавши методgetData().

2. Визначити клас Children, який містить такі поля(члены класса): закрытые – имя ребенка, фамилию и возраст , публичные – методы ввода данных и отображения их на экран. Объявить два объекта класса, внести данные и показать их.

3. Преобразовать строки двумерного массива в столбцы. Например было: 

задачи и решения, класи c ++, класи з ++ для початківців, специфікатор доступу privat і public, методы класса

стало:

задачи и решения, класи c ++, класи з ++ для початківців, специфікатор доступу privat і public, методы класса

Класс будет содержать два метода: один заполнит массив значениями, второй произведет замену значений строк на значения столбцов.

37 думки про "Задачі та рішення: Классы C

  1. Ось як я зробив 3-ю завдання:
    #include “pch.h”
    #include
    #include
    #include
    #include
    #include
    #include
    using namespace std;
    class Matrix
    {
    ІНТ рядки, смещ_по_столбцам;
    int arr[100][100];
    int i, j;
    public:
    недійсний Fill_array()
    {
    this->смещ_по_столбци = смещ_по_столбци;
    this->рядки = рядки;
    cout <> рядки; cout << endl;
    cout <> смещ_по_столбцам; cout <arr[рядки][смещ_по_столбцам];

    for ( i = 0; i < рядки; i )
    {
    for ( J = 0; j < смещ_по_столбцам; j )
    {
    arr[i][j] = rand() % 10;
    }
    }
    }
    недійсний Change_array()
    {
    cout << "Matrix\n\n";
    for ( i = 0; i < рядки; i )
    {
    for ( J = 0; j < смещ_по_столбцам; j )
    {
    cout << setw(4) << arr[i][j];
    }
    cout << endl;
    }
    cout << "\nModified matrix\n\n";
    for ( J = 0; j < смещ_по_столбцам; j )
    {
    for ( i = 0; i < рядки; i )
    {
    cout << setw(4) << arr[i][j];
    }
    cout << endl;
    }
    }
    };

    int main()
    {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    srand(time(NULL));

    матриця А;
    a.Fill_array();
    a.Change_array();

    return 0;
    }

  2. //1 завдання.
    class Tiles
    #include
    {public:
    рядок бренду;
    int size_h;
    ІНТ size_w;
    подвійна ціна; ІНТ дані;
    void setData(INT х,INT у)
    {
    size_h = х;
    size_w = у;
    }
    недійсна GetData()
    {
    cout << "\tНазвание = " << brand << "\tВысота= " << size_h << "\tШирина = " << size_w << "\tСтоимость = " << price << endl;

    }
    недійсним друку()
    {
    cout <<"\tНазвание = "<< brand << "\tВысота= " << size_h << "\tШирина = " << size_w << "\tСтоимость = " << price << endl;
    }

    };
    int main()
    {
    setlocale(LC_ALL, "rus");
    плитка Keramika;
    Keramika.brand = "Керамика из Италии";
    Keramika.price = 2.3;
    плитка bKeramika;
    Keramika.setData(5, 6);
    Keramika.getData();
    bKeramika.price = 30,5;
    bKeramika.size_h = 20;
    bKeramika.size_w = 10;
    bKeramika.brand = "Керамика из Франции";
    bKeramika.Print();
    }

  3. //void FillArray-метод класу. void Exchange-окрема функція
    #include
    using namespace std;
    INT ** обр;
    клас Inverse
    {
    public:
    недійсний FillArray(ІНТ сировину, INT кол)
    {
    обр = новий INT *[сировину];
    for (int i = 0; i < сировину; i )
    {
    arr[i] = new int[сідло]; //присвоюємо в кожен елемент рядка новий динам масив, відповідальний за колонки
    }

    for (int i = 0; i < сировину; i )
    {
    cout << "|";
    for (int j = 0; j < сідло; j )
    {
    arr[i][j] = rand() % 20;
    cout << arr[i][j] << "\t";
    }
    cout << "|" << endl;
    }
    }
    };

    недійсний Обмін(ІНТ сировину, INT кол)
    {
    ** = новий NARR ви *[сідло];

    for (int i = 0; i < сідло; i )
    {
    дурити[i] = new int[сировину]; //присвоюємо в кожен елемент рядка новий динам масив, відповідальний за колонки
    }
    for (int i = 0; i < сідло; i )
    {
    for (int j = 0; j < сировину; j )
    {
    дурити[i][j] = arr[j][i];
    }
    cout << endl;
    }
    for (int i = 0; i < сировину; i )
    {
    delete[] arr[i];//звільняємо старі дані з масиву
    }
    delete[] arr;
    обр = новий INT *[сідло];
    for (int i = 0; i < сідло; i )
    {
    arr[i] = new int[сировину];
    }
    for (int i = 0; i < сідло; i )
    {
    cout << "|";
    for (int j = 0; j < сировину; j )
    {
    arr[i][j] = дурень[i][j];
    cout << arr[i][j] << "\t";
    }
    cout << "|" << endl;
    }

    for (int i = 0; i < сідло; i )
    {
    delete[] дурити[i];
    }
    delete[] дурити;
    }

    int main()
    {
    ІНТ сировину = 7;
    INT кол = 10;
    Зворотні;
    a.FillArray(сировину, сідло);
    обмін(сировину, сідло);
    return 0;
    }

  4. Без покажчиків і одним методом. У кого видає попередження додайте ключ -std = c ++ 11 до компілятору. Але спрацює і без цього.

    #include
    using namespace std;
    клас маси
    {
    ІНТ massStroka[5][2]={};
    ІНТ massCtolbez[2][5]={};
    public:
    недійсний zapolnMass()
    {
    ІНТ а = 0;
    ІНТ kolvoStr;
    ІНТ kolvoCtlb;
    cout<<" Введіть кількість рядків. "<>kolvoStr;
    cout<<" Введіть кількість стовпців. "<>kolvoCtlb;
    for (INT I = 0;i<kolvoStr;i )
    {
    cout<<endl;
    for(Int J = 0;j<kolvoCtlb;j )
    {
    A ++;

    massStroka[i][j] = а;
    massCtolbez[j][i] = а ;
    cout << "|" ;
    cout<<massStroka[i][j];
    cout << "|" ;
    }
    }
    cout<<endl;

    for (INT г = 0;від<kolvoCtlb;з ++)
    {
    cout<<endl;
    cout << "|";
    for(ІНТ к = 0;k<kolvoStr;k )
    {
    cout<<massCtolbez[від][k];
    }
    cout << "|";
    }
    }
    };

    int main ()
    {
    setlocale(LC_ALL, "rus");
    маса a1;
    a1.zapolnMass();

    return 0;
    }

  5. 3 завдання. Підкажіть, все норм?

    #include
    #include

    using namespace std;

    class Matrix
    {
    private:
    int arr[3][4];
    public:
    недійсний vivodnorn()
    {
    for (int i = 0; i < 3; i )
    {
    for (int k = 0; k < 4; k )
    {
    arr[i][k] = rand() % 132;
    cout << arr[i][k] << "\t";

    }
    cout << endl;
    }
    }

    недійсний vivodfuc()
    {
    for (int i = 0; i < 4; i )
    {
    for (int k = 0; k < 3; k )
    cout << arr[k][i] << "\t";
    cout << endl;
    }
    }
    };

    int main(ІНТ Ваге)
    {
    setlocale(0, "");
    srand(time(0));

    матриця А;
    a.vivodnorn();
    cout << endl << endl;
    a.vivodfuc();

    return 0;
    }

  6. Через конструктор класса 1 задание легче сделать
    #include
    #include
    using namespace std;
    class Tiles {
    private:
    double size_h;
    double size_w;
    подвійна ціна;
    string Brend;
    public:
    Tiles(double size_h1, double size_w1, double price1, string Brend1) {
    size_h = size_h1;
    size_w = size_w1;
    price = price1;
    Brend = Brend1;
    }
    void Getobject() {
    cout << size_h << " X " << size_w << endl << "$" << price << endl << "Bramnd " << Brend << endl;
    }
    };
    void main() {
    Tiles a(12,14.5,20.5,"EPTA");
    a.Getobject();
    }

  7. Второй номер
    #include
    #include
    #include
    using namespace std;
    class Children {
    private:
    int age;
    ім'я рядка;
    string surname;
    public:
    void SetChildren() {
    cin >> age;
    cin >> name;
    cin >> surname;
    }
    недійсним друку() {
    cout << "имя "<<name<<endl<<"Фамилия "<<surname<<endl<<"Возраст"<<age<<endl;
    }
    };
    void main() {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    Діти а;
    a.SetChildren();
    a.Print();
    }

залишити коментар

Ваша електронна адреса не буде опублікований. Обов'язкові поля позначені * *