The basics of programming in c++ for beginners

Tasks: C++ Functions

Continuing to acquaint you withфункциями в C offerindependently  several tasks. Расположены они по уровню сложности.

1. Объявить два целочисленных array  with different sizes and write function, that fills their elements and values ​​shown on the screen. Функция должна принимать два параметра – массив и его размер.

2. Необходимо создать двумерный массив 5 х 5. Далее написать функцию, which fills its random numbers from 30 to 60. Создать еще две функции, которые находят максимальный и минимальный элементы этого двумерного массива. (ABOUTгенерации случайных чисел a separate article)

3. Написать игру в которой имитируется бросание кубиков компьютером и пользователем. В игре 2 dice and each of them may fall from 1 to 6 очков. Реализовать определение программой первого ходящего. Каждый делает по четыре броска.  After the shots show, нарисованные символами кубики и количество очков, выпавших на них. After a couple of shots (бросок компьютера + бросок пользователя) display the intermediate result– the number of the player and the computer score.  After announce, who won on the basis of all the shots.

37 thoughts on “Tasks: C++ Functions

  1. In the first task.
    One function is to solve one problem. You function fills and conclusions. correctly spelled 2 functions.

    In the second problem is the same, but also… I would add a comparison function and pass it as an argument. You have the code functions findmin b findmax almost identical. This is bad.

    Something like that
    int find(const int *arr, const int n, const std::functoin compare) const {
    int result = arr[0];
    for(int i = 1; i < n; ++i)
    result = compare(arr[i], result);
    return result;
    }

    int min(int a, int b) { return a b ? a : b; }

    // …
    int size = 5;
    int *arr = new int[size];
    find(arr, size, min); // find the minimum element

    Code nakidal skhemotichno.

    A third problem… I have a main function broken into smaller. For example the user can make a greeting in a separate function. Why not?

  2. Here's what happened in the 3rd mission.

    void DoPlayerWalketh(int &iFirstCubeValue, int &iSecondCubeValue, int &iPlayerScore);
    void DoComputerWalketh(int &iFirstCubeValue, int &iSecondCubeValue, int &iComputerScore);
    void ShowResults(int iPlayerScore, int iComputerScore);
    int iChooiseWalketh(int iArray);
    void KickTwoCubes(int &iFirstCube, int &iSecondCube);
    void cls();
    void pause();

    using namespace std;

    bool enable(true);

    int main()
    {
    setlocale(LC_ALL, "Russian");

    int iFirstCubeValue(0), iSecondCubeValue(0);
    int iPlayerScore(0), iComputerScore(0);
    int iWalketh(0);

    do
    {
    cls();

    iWalketh = iChooiseWalketh(iWalketh);

    if (iWalketh == 1)
    {
    DoPlayerWalketh(iFirstCubeValue, iSecondCubeValue, iPlayerScore);
    DoComputerWalketh(iFirstCubeValue, iSecondCubeValue, iComputerScore);
    ShowResults(iPlayerScore, iComputerScore);
    }
    else if (iWalketh == 0)
    {
    DoComputerWalketh(iFirstCubeValue, iSecondCubeValue, iComputerScore);
    DoPlayerWalketh(iFirstCubeValue, iSecondCubeValue, iPlayerScore);
    ShowResults(iPlayerScore, iComputerScore);
    }

    } while (enable);

    _getch();
    return 0;
    }

    void DoPlayerWalketh(int &iFirstCube, int &iSecondCube, int &iScore)
    {
    char chChooise('A');

    cls();

    cin.clear();
    cin.sync();

    cout << "Бросить кубик?" << endl;
    cout <> chChooise;

    switch (chChooise)
    {
    case 'y':
    case 'Y':
    KickTwoCubes(iFirstCube, iSecondCube);
    cls();
    cout << "Вы бросили кубик..." << endl;
    cout << "Вам выпало: " << iFirstCube << " и " << iSecondCube << endl;
    iScore += iFirstCube + iSecondCube;
    pause();
    break;
    case 'n':
    case 'N':
    enable = !enable;
    break;
    default:
    DoPlayerWalketh(iFirstCube, iSecondCube, iScore);
    break;
    }
    }

    void DoComputerWalketh(int &iFirstCube, int &iSecondCube, int &iScore)
    {
    if (enable)
    {
    cls();
    cout << "Ход компьютера." << endl;
    pause();
    cls();
    cout << "Компьютер бросил кубик..." << endl;
    KickTwoCubes(iFirstCube, iSecondCube);
    cout << "Ему выпало: " << iFirstCube << " и " << iSecondCube << endl;
    iScore += iFirstCube + iSecondCube;
    pause();
    }
    }

    void ShowResults(int iPlayerScore, int iComputerScore)
    {
    if (enable)
    {
    cls();
    cout <Результаты раунда<----------" << endl;
    cout << "| Всего очков у игрока: " << iPlayerScore << endl;
    cout << "| Всего очков у компьютера: " << iComputerScore << endl;
    pause();

    }
    else
    {
    cls();
    cout <>>Результаты и определение победителя<<<" < iComputerScore)
    cout << "*Победитель - человек с " << iPlayerScore << " очками*" < iPlayerScore)
    cout << "*Победитель - компьютер с " << iComputerScore << " очками*" << endl;
    cout << "Общие результаты: " << endl;
    cout << "Игрок: " << iPlayerScore << " очков." << endl;
    cout << "Компьютер: " << iComputerScore << " очков." << endl;
    pause();
    }
    }

    void KickTwoCubes(int &iFirstCube, int &iSecondCube)
    {
    srand(time(NULL));

    int iRandomize = rand() % 7;
    for (int i(0); i < iRandomize; i++)
    iFirstCube = 1 + rand() % (6 - 1 + 1);

    iRandomize = rand() % 7;
    for (int i(0); i < iRandomize; i++)
    iSecondCube = 1 + rand() % (6 - 1 + 1);
    }

    int iChooiseWalketh(int iArray)
    {
    if (iArray == 0)
    return 1;
    if (iArray == 1)
    return 0;
    else
    return 2;
    }

    void cls()
    {
    system("cls");
    }

    void pause()
    {
    system("pause");
    }

    However, by looking after the decision code, I understood, that in such performance more than 2 Me-ki does not shine xD

  3. int funcmass()
    {
    const int size1 = 10;
    const int size2 = 5;

    int ms1[size1] = {};
    int ms2[size2] = {};

    srand(time_t(NULL));

    for (int i = 0; i < size1; i )
    {
    ms1[i] = 1+rand()%10;
    cout<<"ms1= "<< ms1[i] << endl;;
    };

    cout <<"——————————————————————————-";
    for (int i = 0; i < size2; i )
    {
    ms2[i] = 1 + rand() % 5;
    cout << "ms2= " << ms2[i] << endl;;
    };

    return 0;
    }

    int main()
    {
    setlocale(LC_ALL, "rus");

    funcmass();

    system("PAUSE");
    return 0;
    }

  4. #include
    #include

    using namespace std;

    int brosok();
    void kubik(int player, int comp);
    void tabl(int player, int comp);

    int main()
    {

    srand(time(NULL));

    char name[15];
    int player = 0;
    int comp = 0;

    cout < < "Добро Пожаловать" << endl; cout << name; kubik(player, comp); return 0; } int brosok() { int s, a; char y = 0; cout << y; if (y == 'y') { a = 1 + rand() % 6; s = a; } else if (y != 'y') { cout << "Не шути со мной." << endl; } cout << endl; switch (a) { case 1: cout << "@@@@@@@\n"; cout << "@@@@@@@\n"; cout << "@@@ @@@\n"; cout << "@@@@@@@\n"; cout << "@@@@@@@\n"; cout << "\nОдно очко\n"; break; case 2: cout << "@@@@@@@\n"; cout << "@ @@@@@\n"; cout << "@@@@@@@\n"; cout << "@@@@@ @\n"; cout << "@@@@@@@\n"; cout << "\nДва очка\n"; break; case 3: cout << "@@@@@@@\n"; cout << "@ @@@@@\n"; cout << "@@@ @@@\n"; cout << "@@@@@ @\n"; cout << "@@@@@@@\n"; cout << "\nТри очка\n"; break; case 4: cout << "@@@@@@@\n"; cout << "@ @@@ @\n"; cout << "@@@@@@@\n"; cout << "@ @@@ @\n"; cout << "@@@@@@@\n"; cout << "\nЧетыре очка\n"; break; case 5: cout << "@@@@@@@\n"; cout << "@ @@@ @\n"; cout << "@@@ @@@\n"; cout << "@ @@@ @\n"; cout << "@@@@@@@\n"; cout << "\nПять очков\n"; break; case 6: cout << "@@@@@@@\n"; cout << "@ @ @ @\n"; cout << "@@@@@@@\n"; cout << "@ @ @ @\n"; cout << "@@@@@@@\n\n"; cout << "\nШесть очков\n"; break; } return s; } void kubik(int player, int comp) { for (int i = 0; i < 4; i++) { cout << "\nВаш бросок, "; player = brosok(); cout << comp; } tabl(player, comp); cout << "Вы победили, поздравляем!!!" << player; tabl(player, comp); cout << "Вы проиграли, не отчаивайтесь." << endl; } void tabl(int player, int comp) { cout << "Таблица Бросков" << endl; cout << "| Вы набрали: " << player << "||" << "Компьютер набрал: " << comp << " |" << endl; cout << endl; }

  5. The first task:

  6. The third problem can be written in C:

  7. int minValueArr(int Arr[][5], int SizeArr)
    {
    int minItem = Arr[0][0];
    for (int i = 0; i < SizeArr; i )
    {
    for (int j = 0; j Arr[i][j])
    {
    minItem = Arr[i][j];
    }
    }
    }
    cout << "Наименьшее значение элементов массива = " << minItem<<endl<<endl;
    return minItem;
    }

    How critical to use the operator “cout” in the function, or its variant is more correct to use within the function “main”, as shown in your examples. Thank you.

Leave a Reply

Your email address will not be published. Required fields are marked *