Основы программирования на С++ для начинающих

Задачи: Функции C++

Продолжая знакомить вас с функциями в C++ предлагаем самостоятельно  решить несколько задач. Расположены они по уровню сложности.

1. Объявить два целочисленных массива  с разными размерами и написать функцию, которая заполняет их элементы значениями и показывает на экран. Функция должна принимать два параметра – массив и его размер.

2. Необходимо создать двумерный массив 5 х 5. Далее написать функцию, которая заполнит его случайными числами от  30 до 60. Создать еще две функции, которые находят максимальный и минимальный элементы этого двумерного массива. (О генерации случайных чисел есть отдельная статья)

3. Написать игру в которой имитируется бросание кубиков компьютером и пользователем. В игре 2 кубика и на каждом из них может выпасть от 1 до 6 очков. Реализовать определение программой первого ходящего. Каждый делает по четыре броска.  После бросков показать, нарисованные символами кубики и количество очков, выпавших на них. После  пары бросков (бросок компьютера + бросок пользователя) выводить на экран промежуточный результат  – количество набранных очков игроком и компьютером.  В конце сообщить о том, кто выиграл по итогам всех бросков. 

32 thoughts on “Задачи: Функции C++

  1. #include
    #include

    using namespace std;
    bool choice();
    int dice();
    void diceImg();
    int main()
    {
    setlocale(LC_ALL, “rus”);
    srand(time(NULL));
    int turn = 0;
    int comp = 0;
    int player = 0;
    int round = 0;
    turn = choice();
    for (int i = 0; i < 4; i++)
    {
    for (int j = 0; j < 2; j++)
    {

    if (turn)
    {
    cout << "Ход игрока\n";
    player += dice();
    }
    else
    {
    cout << "Ход компа\n";
    comp += dice();
    }
    turn = !turn;
    }cout << "Промежуточный счет: "<<"Игрок-"<<player << "очк." <<",Комп-"<<"очк."<<comp <<"очк."< comp)
    {
    cout << "В " << round << " раунде победил игрок\n";
    }
    else
    {
    cout << "В " << round << " раунде победил комп\n";
    }

    }cout << "Итоговый счет: " << "Игрок-" << player << "очк." << ",Комп-" << comp << "очк." < comp)
    {
    cout << "Конец игры, победил игрок\n";
    }
    else
    {
    cout << "Конец игры, победил комп\n";
    }
    return 0;
    }
    bool choice()
    {
    return rand() % 2;
    }

    void diceImg(int a)
    {
    switch (a)
    {
    case 1:
    cout<<"___\n \n * \n ";
    break;
    case 2:
    cout << "___\n \n* *\n ";
    break;
    case 3:
    cout << "___\n* *\n \n * ";
    break;
    case 4:
    cout << "___\n* *\n \n* *";
    break;
    case 5:
    cout << "___\n* *\n * \n* *";
    break;
    case 6:
    cout << "___\n* *\n* *\n* *";
    break;
    }
    }
    int dice()
    {
    int result = 0;
    int score = 0;
    for (int i = 0; i < 2; i++)
    {
    score = 1 + rand() % 6;
    diceImg(score);
    result += score;
    cout << endl;
    }
    return result;
    }

  2. #include
    #include

    using namespace std;

    int who_first();
    int throw_cube(int cube1, int cube2);

    int main()
    {
    setlocale(LC_ALL, “ru”);

    bool var;

    int cube1 = 0;
    int cube2 = 0;

    int pc_points = 0;
    int player_points = 0;

    int pc_total = 0;
    int player_total = 0;

    cout <> name;
    cout << endl;

    var = who_first();

    for (int i = 0; i < 8; i++)
    {
    if (var)
    {
    player_points = throw_cube(cube1, cube2);

    player_total += player_points;

    cout << "Ходит " << name << endl;
    cout << "У " << name << " выпало " << player_points << " очков" << endl;
    cout << "Всего у " << name << " " << player_total << " очков" << endl;
    cout <<"===================================================="<< endl << endl;
    }

    else
    {
    int pc_points = throw_cube(cube1, cube2);

    pc_total += pc_points;

    cout << "Ходит компьютер" << endl;
    cout << "У компьютера выпало " << pc_points << " очков" << endl;
    cout << "Всего у компьютера " << pc_total << " очков" << endl<< endl;
    cout << "====================================================" << endl << endl;
    }

    var = !var;
    }

    if (pc_total == player_total) cout << "Победила дружба! " < player_total) cout << "Победа за компьютером :-( " << endl;
    else if (pc_total < player_total) cout << "Победил(а) " << name << "!" << endl;
    }

    int who_first()
    {
    srand(time(0));
    int result = rand() % 2 – 1;

    return result;
    }

    int throw_cube(int cube1, int cube2)
    {
    cube1 = rand() % 6 + 1;
    cube2 = rand() % 6 + 1;

    int result = cube1 + cube2;
    return result;
    }

  3. Без промежуточных итогов.
    #include
    #include
    #include
    #include
    using namespace std;
    int PCscore, manscore;
    int cube();
    int cubePC();

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

    string x;
    cout << "КУБИКИ – СЫГРАЕМ?" << endl;
    for (int i = 0; i < 3; i++) {
    cout << "Бросить кубики?" <> x;
    if (x == “да”)
    {
    cube();
    }
    else {
    cout << "Завершение работы…";
    return 0;
    }
    cout << "Ход компьютера:" << endl;
    cubePC();
    }
    cout << "Компьютер – " << PCscore << endl
    << "Игрок – " << manscore < manscore) cout << "Вы проиграли" << endl;
    else cout << "Вы выиграли" << endl;
    }

    int cube() {
    SetConsoleOutputCP(866);
    SetConsoleCP(1251);
    int man1 = 1 + rand() % 5, man2 = 1 + rand() % 5;
    cout << (char)201 << (char)205 << (char)205 << (char)205 << (char)205 << (char)205 << (char)187
    << "\t" << (char)201 << (char)205 << (char)205 << (char)205 << (char)205 << (char)205 << (char)187 << endl
    << (char)186 << " " << man1 << " " << char(186)
    << "\t" << (char)186 << " " << man2 << " " << char(186) << endl
    << (char)200 << (char)205 << (char)205 << (char)205 << (char)205 << (char)205 << (char)188
    << "\t" << (char)200 << (char)205 << (char)205 << (char)205 << (char)205 << (char)205 << (char)188 << endl;
    SetConsoleOutputCP(1251);
    SetConsoleCP(1251);
    return manscore += (man1 + man2);
    }
    int cubePC() {
    SetConsoleOutputCP(866);
    SetConsoleCP(1251);
    int PC1 = 1 + rand() % 5, PC2 = 1 + rand() % 5;
    cout << (char)201 << (char)205 << (char)205 << (char)205 << (char)205 << (char)205 << (char)187
    << "\t" << (char)201 << (char)205 << (char)205 << (char)205 << (char)205 << (char)205 << (char)187 << endl
    << (char)186 << " " << PC1 << " " << char(186)
    << "\t" << (char)186 << " " << PC2 << " " << char(186) << endl
    << (char)200 << (char)205 << (char)205 << (char)205 << (char)205 << (char)205 << (char)188
    << "\t" << (char)200 << (char)205 << (char)205 << (char)205 << (char)205 << (char)205 << (char)188 << endl;
    SetConsoleOutputCP(1251);
    SetConsoleCP(1251);
    return PCscore += (PC1 + PC2);
    }

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *