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

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

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

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

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

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

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

стало:

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

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

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

  1. #include

    using namespace std;

    class Matrix {

    private:
    int **матриця;
    public:
    void setData(ІНТ рядок, INT кол) {
    матриця = new int * [рядок];
    for (int i = 0; i < рядок; i ) {
    matrix[i] = new int[сідло];
    }
    for (int i = 0; i < рядок; i ) {
    cout << '\n';
    for (int j = 0; j < сідло; j ) {
    matrix[i][j] = 1 + rand() % 9;
    cout << matrix[i][j] << '\t';
    }
    }
    cout << "\n====================================================\n";
    };
    void getData(ІНТ рядок,INT кол) {
    for (int i = 0; i < сідло; i ) {
    cout << '\n';
    for (int j = 0; j < рядок; j ) {
    cout << matrix[j][i] << '\t';
    }
    }
    for (int i = 0; i < рядок; i ) {
    delete[]matrix[i];
    }
    delete[]matrix;
    };
    };
    int main() {
    матриця А;
    a.setData(3,6);
    a.getData(3,6);
    return 0;
    }

  2. Я початківець, і ось мій код:

    #include

    using namespace std;

    клас ArrayConverter{
    public:
    int числа[7][3] = {
    0,0,0,
    0,0,0,
    0,0,0,
    0,0,0,
    0,0,0,
    0,0,0,
    0,0,0
    };
    int convertedNumbers[3][7] = {
    0,0,0,0,0,0,0,
    0,0,0,0,0,0,0,
    0,0,0,0,0,0,0
    };

    void SetRandomElements(){
    for(int i = 0; i < 7; i ){
    for(int j = 0; j < 3; j ){
    числа[i][j] = rand() % 11;
    }
    }
    }
    void ShowOriginalArray(){
    for(int i = 0; i < 7; i ){
    for(int j = 0; j < 3; j ){
    cout << числа[i][j] << " ";
    }
    cout << endl;
    }
    }

    void ConvertColumnsToRows(){
    for(int i = 0; i < 3; i ){
    for(int j = 0; j < 7; j ){
    перетворені числа[i][j] = числа[j][i];
    }
    }
    }
    void ShowConvertedArray(){
    for(int i = 0; i < 3; i ){
    for(int j = 0; j < 7; j ){
    cout << перетворені числа[i][j] << " ";
    }
    cout << endl;
    }
    }

    Перетворювач масивів(){
    SetRandomElements();
    }
    };

    int main(){
    Конвертер ArrayConverter;
    converter.ShowOriginalArray();
    converter.ConvertColumnsToRows();
    cout << endl;
    convert.ShowConvertedArray();
    return 0;
    }

  3. #include
    using namespace std;
    клас ChangeArr
    {
    public:
    void setArr();
    void change();
    private:
    Int ** обр;
    int row = 0;
    INT кол = 0;
    };
    void main()
    {
    setlocale(LC_ALL, “RU”);
    srand(time(NULL));
    ChangeArr обр;
    arr.setArr();
    обр.змін();
    }
    void ChangeArr::setArr()
    {
    cout << "Укажите размер массива:" <> рядок;
    cin >> сідло;
    обр = новий INT * [рядок];
    for (int i = 0; i < рядок; i )
    {
    arr[i] = new int[сідло];
    }
    cout << "Заполните массив:" << endl;
    for (int i = 0; i < рядок; i )
    {
    for (int j = 0; j < сідло; j )
    {
    cout << "Значение ячейки – [" << i << "]" << "[" << j << "]" <> arr[i][j];
    }
    }
    cout << endl;
    cout << "Ваш массив:" << endl<<endl;

    for (int i = 0; i < рядок; i )
    {
    for (int j = 0; j < сідло; j )
    {
    cout << arr[i][j] << " ";
    }
    cout << endl;
    }
    }
    void ChangeArr::change()
    {
    int** tempArr = новий int* [сідло];
    for (int i = 0; i < сідло; i )
    {
    tempArr[i] = new int[рядок];
    }
    for (int i = 0; i < рядок; i )
    {
    for (int j = 0; j < сідло; j )
    {
    tempArr[j][i] = arr[i][j];
    }
    }
    cout << "Замена строчек на столбци " << endl << endl;
    for (int i = 0; i < сідло; i )
    {
    for (int j = 0; j < рядок; j )
    {
    cout << tempArr[i][j] << " ";
    }
    cout << endl;
    }
    for (int i = 0; i < сідло; i )
    {
    delete[] arr[i];
    }
    delete[]arr;
    arr = nullptr;
    for (int i = 0; i < сідло; i )
    {
    delete[] tempArr[i];
    }
    delete[]tempArr;
    tempArr = nullptr;
    }

  4. #include
    #include

    using namespace std;

    class Matrix
    {
    private:

    Int ** обр;
    ІНТ рядок;
    INT кол;
    ви** bufArr;
    int bufRow;
    int bufCol;

    public:

    недійсний Fill_array(олівець-620cace92f4c3534667744/, олівець-620cace92f4c3534667744/)
    {
    рядок = значення_рядків;
    col = cols_value;
    bufRow = rows_value;
    bufCol = cols_value;

    обр = новий INT * [рядок];
    for (int i = 0; i < рядок; i )
    {
    arr[i] = new int[сідло];
    }

    for (int i = 0; i < рядок; i )
    {
    for (int j = 0; j < сідло; j )
    {
    arr[i][j] = rand() % 90 + 10;
    }
    }
    }

    олівець-620cace92f4c3534667744/()
    {
    bufArr = новий int* [рядок];

    for (int i = 0; i < рядок; i )
    {
    bufArr[i] = new int[сідло];
    }

    for (int i = 0; i < рядок; i )
    {
    for (int j = 0; j < сідло; j )
    {
    bufArr[i][j] = arr[i][j];
    }
    }

    int buf = рядок;
    рядок = стовпчик;
    col = бафф;

    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 )
    {
    for (int j = 0; j < сідло; j )
    {
    arr[i][j] = bufArr[j][i];
    }
    }
    }

    void PrintArr()
    {
    for (int i = 0; i < рядок; i )
    {
    for (int j = 0; j < сідло; j )
    {
    cout << arr[i][j] << " ";
    }
    cout << endl;
    }
    }

    ~Матриця()
    {
    for (int i = 0; i < bufRow; i )
    {
    delete[] bufArr[i];
    }

    delete[]bufArr;

    for (int i = 0; i < рядок; i )
    {
    delete[] arr[i];
    }
    delete[]arr;
    }

    };

    int main()
    {
    srand(time(NULL));

    олівець-620cace92f4c3534667744/;
    олівець-620cace92f4c3534667744/(4, 2);
    first.PrintArr();
    cout << "\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" << endl;
    олівець-620cace92f4c3534667744/();
    first.PrintArr();
    }

  5. клас Massive {
    private:
    ви масивні[2][4]{
    {11,33,55,77},
    {22,44,66,88}
    };
    public:
    порожня вертикаль() {
    std::cout << масивний[0][0] << " " << масивний[1][0] << std::endl;
    std::cout << масивний[0][1] << " " << масивний[1][1] << std::endl;
    std::cout << масивний[0][2] << " " << масивний[1][2] << std::endl;
    std::cout << масивний[0][3] << " " << масивний[1][3] << std::endl;
    }

    порожній горизонт() {
    std::cout << масивний[0][0] << " " << масивний[0][1] << " " << масивний[0][2] << " " << масивний[0][3] << " " << std::endl;
    std::cout << масивний[1][0] << " " << масивний[1][1] << " " << масивний[1][2] << " " << масивний[1][3] << " " << std::endl;
    }
    };

    int main() {
    setlocale(LC_ALL, "rus");
    Massively massive_two;
    std::cout << "было:" << std::endl;
    масив_два.вертикаль();
    std::cout << "стало:" << std::endl;
    масив_два.gorizont();
    }

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

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