Продовжуючи знайомити вас зфункциями в C пропонуємосамостоятельно вирішити кілька завдань. Расположены они по уровню сложности.
1. Объявить два целочисленных массива з різними розмірами і написати функцію, яка заповнює їх елементи значеннями і показує на екран. Функция должна принимать два параметра – массив и его размер.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #include <iostream> using namespace std; void fillAndShowArray(int arrayForFilling[], int size); int main() { const int SIZE1 = 8; const int SIZE2 = 14; int arrayForFilling1 [SIZE1] = {}; int arrayForFilling2 [SIZE2] = {}; fillAndShowArray(arrayForFilling1, SIZE1); fillAndShowArray(arrayForFilling2, SIZE2); return 0; } void fillAndShowArray(int arrayForFilling[], int size) { for (int i = 0; i < size; i++) { arrayForFilling[i] = i + 1; cout << arrayForFilling[i] << " "; } cout << endl; } |
В этой задаче удобно то, что если необходимо изменить значение размера массива, достаточно изменить соответствующую константу (Size1 або size2). Так нам не придется менять эти значения ни в объявлении массивов, ні в параметрах при виконанні функції.
Отдельно хочется сказать о передаче в функцию массива, как параметра. Мы говорили в уроке, что при вызове функции создаются точные копии переменных и все изменения происходят именно с этими копиями, а не с переменными. Так что при выходе из функции, переменные не изменят свое значение. Если всё же надо изменить значение переменных в функции – делается это с помощью ссылок или указателей, которые мы рассмотрим в следующих уроках. З масивами інша справа. Все що відбувається з елементами масиву в функції, сохраняется и после выхода из неё. Это происходит потому, что имя массива – это и есть указатель на его первый элемент.
Когда необходимо передать в функцию одномерный массив, при её определении надо указать пустые [ ] скобки после имени параметра, обозначающего массив. В нашей задаче – void fillAndShowArray(int arrayForFilling[], int size) . Если надо передать двумерный массив – перші квадратні дужки залишають порожніми, а во вторые надо внести значение. Наприклад void fillAndShowArray(int arrayForFilling[][3], int size)
Чтобы передать в функцию массив, при её вызове – досить використовувати ім'я масиву. Скобки и размер писать не надо (строки 14 – 15).
2. Необходимо создать двумерный массив 5 х 5. Далее написать функцию, яка заповнить його випадковими числами від 30 до 60. Создать еще две функции, которые находят максимальный и минимальный элементы этого двумерного массива. (Прогенерации случайных чисел є окрема стаття)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | #include <iostream> #include <ctime> #include <cstdlib> using namespace std; const int SIZE = 5; void fillAndShowArray(int[][SIZE], const int size); int findMinElement(int[][SIZE], const int size); int findMaxElement(int[][SIZE], const int size); int main() { setlocale(LC_ALL, "rus"); int matrix[SIZE][SIZE] = {}; fillAndShowArray(matrix, SIZE); //заполняем и показываем массив cout << endl; cout << "Минимум: " << findMinElement(matrix, SIZE) << endl; cout << "Максимум: " << findMaxElement(matrix, SIZE) << endl; return 0; } void fillAndShowArray(int arr[][SIZE], const int size) { for (int i = 0; i < size; i++) { cout << "| "; for (int j = 0; j < size; j++) { arr[i][j] = 30 + rand() % 31; cout << arr[i][j] << " "; } cout << " |" << endl; } } int findMinElement(int arr[][SIZE], const int size) { int min = arr[0][0]; for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { if (arr[i][j] < min) min = arr[i][j]; } } return min; } int findMaxElement(int arr[][SIZE], const int size) { int max = arr[0][0]; for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { if (arr[i][j] > max) max = arr[i][j]; } } return max; } |
Чтобы найти минимальное значение в массиве, спочатку присвоюємо змінноїmin, которая определена в функции findMinElement(), значення коміркиarr[0][0]: int min = arr[0][0]; . Потом проходим по всем ячейкам двумерного массива. Если встретим значение меньше того, которое было записано в min на початку – перезаписываем эту переменную. Максимальное значение определяется похожим образом.
Программа работает так:
3. Написать игру в которой имитируется бросание кубиков компьютером и пользователем. В игре 2 кубика і на кожному з них може випасти від 1 до 6 очков. Реализовать определение программой первого ходящего. Каждый делает по четыре броска. Після кидків показати, нарисованные символами кубики и количество очков, выпавших на них. Після пари кидків (бросок компьютера + бросок пользователя) виводити на екран проміжний результат– кількість набраних очок гравцем і комп'ютером. В кінці повідомити про те, хто виграв за підсумками всіх кидків.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | #include <iostream> #include <ctime> #include <cstdlib> using namespace std; bool calcFirstMove(); void drowCube(int res); int computerOrPlayerThrow(); void showIntermediateResult(int pointsOfComputer, int pointsOfUser, int numberThrow); int main() { setlocale(LC_ALL, "rus"); srand(time(NULL)); int playerScore = 0; // для накопления очков int computerScore = 0; int whoMove = 0; char userName[16] = {}; cout << "Ваше имя (латиницей): "; cin >> userName; whoMove = calcFirstMove(); // если будет 0 - ходит игрок, 1 - ходит компьютер for (int i = 0; i < 4; ++i) { for (int j = 0; j < 2; j++) { if (whoMove) { cout << "\nХодишь ты. "; playerScore += computerOrPlayerThrow(); } else { cout << "\nХодит компьютер. "; computerScore += computerOrPlayerThrow(); } whoMove = !whoMove; // инверсия } showIntermediateResult(computerScore, playerScore, i); } if (computerScore > playerScore) { cout << "\n\nПобедитель этой игры - КОМПЬЮТЕР\n!"; cout << "Желаем успехов в следующий раз.\a\a\a\a\a\n\n"; } else if (computerScore < playerScore) { cout << "\n\nПобедитель этой игры - " << userName << "!!! "; cout << "Поздравляем!!!\a\a\a\a\a\n\n"; } else { cout << "\n\nВ этой игре НИЧЬЯ\a\a\a\a\a\n\n"; } return 0; } bool calcFirstMove() // генерирует и возвращает случайное число 0 или 1 { return rand() % 2; } void showIntermediateResult(int computerScore, int playerScore, int numberThrow) { cout << "\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"; cout << "Комп: " << computerScore << " ||| Ты:" << playerScore << endl; cout << "После " << numberThrow + 1 << "-го броска "; if (computerScore > playerScore) cout << " выигрывает компьютер!!!\n"; else if (computerScore < playerScore) cout << " выигрываете Вы!!!\n"; else cout << " ничья!!!\n"; cout << "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n"; } // вызывается в функции computerOrPlayerThrow() void drowCube(int res) { switch (res) { case 1: cout << "@@@@@@@\n"; cout << "@@@@@@@\n"; cout << "@@@ @@@\n"; cout << "@@@@@@@\n"; cout << "@@@@@@@\n"; break; case 2: cout << "@@@@@@@\n"; cout << "@ @@@@@\n"; cout << "@@@@@@@\n"; cout << "@@@@@ @\n"; cout << "@@@@@@@\n"; break; case 3: cout << "@@@@@@@\n"; cout << "@ @@@@@\n"; cout << "@@@ @@@\n"; cout << "@@@@@ @\n"; cout << "@@@@@@@\n"; break; case 4: cout << "@@@@@@@\n"; cout << "@ @@@ @\n"; cout << "@@@@@@@\n"; cout << "@ @@@ @\n"; cout << "@@@@@@@\n"; break; case 5: cout << "@@@@@@@\n"; cout << "@ @@@ @\n"; cout << "@@@ @@@\n"; cout << "@ @@@ @\n"; cout << "@@@@@@@\n"; break; case 6: cout << "@@@@@@@\n"; cout << "@ @ @ @\n"; cout << "@@@@@@@\n"; cout << "@ @ @ @\n"; cout << "@@@@@@@\n\n"; break; } } int computerOrPlayerThrow() // реализация броска пары кубиков и возврат полученных очков { int result = 0; char c = 0; cout << "Нажми Y и Enter, чтобы бросить кубики: "; do { cin.sync(); // очистка буфера cin >> c; } while (c != 'y' && c != 'Y'); int tmp = 0; // для накопления очков пары брошенных кубиков for (int i = 0; i < 2; ++i) { tmp = 1 + rand() % 6; drowCube(tmp); result += tmp; cout << endl; } cout << "Всего на кубиках " << result << " очков"; return result; } |
Комментарии к исходному коду: Определяем прототипы в строках 7 – 10. В рядку 25 в зміннуwhoMove запишеться випадкове число яке поверне функціяcalcFirstMove(). Для себя определим, що якщо вона поверне 0 – ходит игрок, 1 – ходит компьютер. У рядках 27 – 45 находится конструкция вложенных циклов for. Во вложенном цикле (строки 29 – 42) происходит реализация поочередных бросков: учитывается, кто бросает первым, накапливаются очки, подсчитанные функцией computerOrPlayerThrow(). В рядку 41 змінюється значення змінної whoMove на противоположное, для смены ходящего. Зовнішній цикл вважає кількість пар кидків. Так само в ньому функціяshowIntermediateResult() показывает промежуточные результаты.
Определения всех функций находятся в строках 65 – 159. showIntermediateResult() принимает количество очков игрока и компьютера, после каждой пары бросков и выводит промежуточный результат. Так же функция принимает значение счетчика цикла для отображения номера броска.
drowCube() викликається в функції computerOrPlayerThrow(). Она принимает результат сгенерированного в computerOrPlayerThrow() випадкового числа (от 1 до 6) и рисует соответствующий кубик.
computerOrPlayerThrow() предлагает сделать ход. Дважды генерирует число от 1 до 6 і викликаєdrowCube() для показа кубиков. Стандартная Sinksync функція() виконує очистку буфера – якщо юзер ввів не один символ в попередній раз.
Результат:
int Kubiki();
using namespace std;
int main()
{
setlocale(LC_ALL, “rus”);
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
srand(time(NULL));
ви КТП, kub1;
INT = 50 0, P = 0;
символ з;
КТР = Rand() % 2;
if (і т.д. == 0)
{
cout << "Вы бросаете первым! ";
for (int i = 0; i < 4; i )
{
cout <> c;
L + = Kubiki();
L + = Kubiki();
cout << "\nИтого у вас " << L << " очки(ов)";
cout << "\n\nХод оппонента: ";
cout <> c;
P + = Kubiki();
P + = Kubiki();
cout << "\nИтого у противника " << P << " очки(ов)";
}
cout << "\nУ вас " << L <L)
cout << "\nПК победил) Везіння в майбутньому!:)";
if (P < L)
cout << "\nВы победили, Поздравляем!";
if (Р == Ь)
cout << "\nПобедила Дружба! буває ж))";
return 0;
}
else
{
cout << "Противник бросает первым! ";
for (int i = 0; i < 4; i )
{
cout << "\n\nХод оппонента: ";
cout <> c;
P + = Kubiki();
P + = Kubiki();
cout << "\nИтого у противника " << P << " очки(ов)";
cout <> c;
L + = Kubiki();
L + = Kubiki();
cout << "\nИтого у вас " << L << " очки(ов)";
}
cout << "\nУ противника " << P < L)
cout << "\nПК победил) Везіння в майбутньому!:)";
if (P < L)
cout << "\nВы победили, Поздравляем!";
if (Р == Ь)
cout << "\nПобедила Дружба! буває ж))";
return 0;
}
}
int Kubiki()
{
INT kub1 = 1 + rand() % 6;
switch (kub1)
{
case 1:
cout << "\n@@@@@@@\n";
cout << "@@@@@@@\n";
cout << "@@@ @@@\n";
cout << "@@@@@@@\n";
cout << "@@@@@@@\n";
cout << "1 Очко\n";
break;
case 2:
cout << "\n@@@@@@@\n";
cout << "@@@@@ @\n";
cout << "@@@@@@@\n";
cout << "@ @@@@@\n";
cout << "@@@@@@@\n";
cout << "2 Очкa\n";
break;
case 3:
cout << "\n@@@@@@@\n";
cout << "@@@@@ @\n";
cout << "@@@ @@@\n";
cout << "@ @@@@@\n";
cout << "@@@@@@@\n";
cout << "3 Очкa\n";
break;
case 4:
cout << "\n@@@@@@@\n";
cout << "@ @@@ @\n";
cout << "@@@@@@@\n";
cout << "@ @@@ @\n";
cout << "@@@@@@@\n";
cout << "4 Очкa\n";
break;
case 5:
cout << "\n@@@@@@@\n";
cout << "@ @@@ @\n";
cout << "@@@ @@@\n";
cout << "@ @@@ @\n";
cout << "@@@@@@@\n";
cout << "5 Oчей\n";
break;
case 6:
cout << "\n@@@@@@@\n";
cout << "@ @ @ @\n";
cout << "@@@@@@@\n";
cout << "@ @ @ @\n";
cout << "@@@@@@@\n";
cout << "6 Oчей\n";
break;
}
повернутися kub1;
}
Гра в кості
#include
#include
#include
using namespace std;
ІНТ ShowResult(INT результат) // функція виведення символів кубика
{
switch (result)
{
case 1:
cout << "\t\n" << result << " точка(s):\n" <<"\t @ \n" << endl; //1
break;
case 2:
cout << "\t\n" << result << " точка(s):\n" << "\t@ @\n" << endl; //2
break;
case 3:
cout << "\t\n" << result << " точка(s):\n" << "\t @\n\t @\n\t @\n" << endl; //3
break;
case 4:
cout << "\t\n" << result << " точка(s):\n" << "\t@ @ \n\t@ @\n " << endl;//4
break;
case 5:
cout << "\t\n" << result << " точка(s):\n" << "\t@ @\n \t @\n \t@ @ \n" << endl;//5
break;
case 6:
cout << "\t\n" << result << " точка(s):\n" << "\t@ @ \n\t@ @\n\t@ @ \n" < sum_computer)
cout << "Player wins" << endl;
else if (sum_player < sum_computer)
cout << "Computer wins" << endl;
else
cout << "Nobody wins, малювати" << endl;
}
int main()
{
srand(time(NULL));
голець вибір; // змінна для введення вибору грати в гру чи ні
ІНТ first_walking; //змінна для визначення хто перший ходить
INT результат; // результат кидка кубика
INT sum_player = 0; // лічильник очок гравця
INT sum_computer = 0; // лічильник очок комп'ютера
cout << "Welcome" << endl;
лінія:
cout << "Do you want to start playing?(введіть г до srart)" <> вибір;
switch (вибір) //
{
випадок «і»:
cout << "Game starts" << endl;
break;
case 'n':
Гото лінія;
default:
cout << "Invalid choice" << endl;
Гото лінія;
}
cout << "Who will first roll the dice?" << endl;
cout << "Computer determines" << endl;
for (int i = 0; i < 5; i )
{
cout << "…" << endl;
}
first_walking = Rand() % 2; // визначення першого кидає кубики
if (first_walking == 1) // якщо перший кидає гравець
{
cout << "You roll the dice first" << endl;
for (int i = 0; i < 4; i )
{
голець choice_dice;
cout << "enter Y to roll the dice" <> choice_dice;
if (choice_dice == 'Y')
continue;
for (int i = 0; i < 2; i )
{
результат = 1 + rand() % 6;
cout << "Result of roll the dice of player" << endl;
cout << i + 1 << " куб:" << endl;
ShowResult(result);
sum_player + = результат;
}
for (int i = 0; i < 2; i )
{
результат = 1 + rand() % 6;
cout << "Result of roll the dice of computer" << endl;
cout << i + 1 << " куб:" << endl;
ShowResult(result);
sum_computer + = результат;
}
cout << "Sum player = " << sum_player << endl;
cout << "Sum computer = " << sum_computer << endl;
cout << endl;
}
}
else // якщо перший кидає комп'ютер
{
cout << "Computer rolls the dice first" << endl;
for (int i = 0; i < 4; i )
{
for (int i = 0; i < 2; i )
{
результат = 1 + rand() % 6;
cout << "Result of roll the dice of computer" << endl;
cout << i + 1 << " куб:" << endl;
ShowResult(result);
sum_computer + = результат;
}
голець choice_dice;
cout << "enter Y to roll the dice" <> choice_dice;
if (choice_dice == 'Y')
continue;
for (int i = 0; i < 2; i )
{
результат = 1 + rand() % 6;
cout << "Result of roll the dice of player" << endl;
cout << i + 1 << " куб:" << endl;
ShowResult(result);
sum_player + = результат;
}
cout << "Sum computer = " << sum_computer << endl;
cout << "Sum player = " << sum_player << endl;
cout << endl;
}
}
compare(sum_player, sum_computer);
}
#include
#include
#include
using namespace std;
ІНТ TwoCube (int arr[],ІНТ РОЗМІР)
{
srand(time(NULL));
for (int i = 0; i < SIZE; i )
{
arr[i] = rand() % 6 + 1;
switch (arr[i])
{
case (1):
cout << "@" << endl;
break;
case (2):
cout << "@ @" << endl;
break;
case(3):
cout << "@ @ @" << endl;
break;
case(4):
cout << "@ @ @ @" << endl;
break;
case(5):
cout << "@ @ @ @ @" << endl;
break;
case(6):
cout << "@ @ @ @ @ @" << endl;
break;
}
}
cout << endl;
return 0;
}
INT I(int arr[], ІНТ РОЗМІР)
{
int sum = 0;
for (int i = 0; i < SIZE; i )
{
підсумовувати + = обр[i];
}
повернення суми;
}
int main()
{
setlocale(LC_ALL, "rus");
ІНТ Const SIZE = 2;
голець вибір;
int arr[SIZE];
ІНТ arr2[SIZE];
ІНТ localSum1, localSum2;
BOOL рестарт = істина;
do
{
cout << "Вы играете в кубики."<<endl;
cout << "Бросьте кубики первыми" << endl;
cout <> вибір;
if (вибір == «у»)
TwoCube(arr, SIZE);
else
cout << "Отказ не принимается, нажмите \"y\": ";
} while (вибір != 'y');
cout << "Бросает компьютер, почекайте…" << endl;
сон(4000);
cout << "Кубики ударились об стенку и выпало число…" << endl;
сон(2000);
TwoCube(arr2, SIZE);
localSum1 = Sum(arr, SIZE);//твій рахунок
localSum2 = Sum(arr2, SIZE);//рахунок противника
cout << "Твой счёт: " << localSum1 << " | " << "Противника счёт:" << localSum2 << endl << endl;
cout << "Бросьте кубик второй раз." << endl;
cout <> вибір;
if (вибір == «у»)
TwoCube(arr, SIZE);
else
cout << "Отказ не принимается, нажмите \"y\": ";
} while (вибір != 'y');
cout << "Бросает компьютер, почекайте…" << endl;
сон(4000);
cout << "Подождите, комп'ютер мухлює" << endl;
сон(2000);
TwoCube(arr2, SIZE);
localSum1 + = Sum(arr, SIZE);//твій рахунок
localSum2 + = Sum(arr2, SIZE);//рахунок противника
cout << "Твой счёт: " << localSum1 << " | " << "Противника счёт:" << localSum2 << endl << endl;
cout << "Бросьте кубик третий раз." << endl;
cout <> вибір;
if (вибір == «у»)
TwoCube(arr, SIZE);
else
cout << "Отказ не принимается, нажмите \"y\": ";
} while (вибір != 'y');
cout << "Бросает компьютер, почекайте…" << endl;
сон(4000);
cout << "Компьютер злится и ждёт мести" << endl;
сон(2000);
TwoCube(arr2, SIZE);
localSum1 + = Sum(arr, SIZE);//твій рахунок
localSum2 + = Sum(arr2, SIZE);//рахунок противника
cout << "Твой счёт: " << localSum1 << " | " << "Противника счёт:" << localSum2 << endl << endl;
cout << "Бросьте кубик последний раз." << endl;
cout <> вибір;
if (вибір == «у»)
{
cout << "Кажется кубик куда-то закатился" << endl;
сон (3000);
TwoCube(arr, SIZE);
}
else
cout << "Отказ не принимается, нажмите \"y\": ";
} while (вибір != 'y');
cout << "Бросает компьютер, почекайте…" << endl;
сон(4000);
cout << "Взламывает числа" < localSum2)
{
cout << "Мои поздравления, ви здобули перемогу над цим дурним комп'ютером" << endl;
сон(2000);
}
else
{
cout << "Ха-Ха-Ха, я переміг, я спеціально підстроїв твій програш! Бе-уже-було" << endl;
сон(2000);
cout << "Теперь смотри счёт" << endl;
}
cout << "Твой счёт: " << localSum1 << " | " << "Противника счёт:" << localSum2 << endl << endl;
сон(1000);
cout <> вибір;
if (вибір == «у»)
{
cout << "Ура! Приступим" << endl;
рестарт = TRUE;
}
else
{
cout <> вибір;
if (вибір == «у»)
{
cout << "Я знал что ты передумаешь ;)";
рестарт = TRUE;
}
else
{
cout << "Счастливо!!!" << endl;
рестарт = брехня;
}
}
}while (перезапуск);
}
№3 “малювати” кістки мені було лінь тому цифри ))
#include
#include
using namespace std;
Const ІНТ ROW = 4;
Const INT COL = 2;
ІНТ т = 1;
INT Y = 1;
int i = 0;
Т = INT 0;
Int у = 0;
INT I = 0;
int p = 0;
int k = 0;
INT AC[ROW];
ІНТ AC1[ROW];
ІНТ ARRI[ROW][COL]; //гравець
ІНТ Арріан[ROW][COL]; // II
недійсними Foo(INT ARR[ROW][COL]);
недійсний ARR(ІНТ ВАС[ROW][COL],ІНТ II[ROW][COL]) {
Int А;
cout << "Кто ходит первым ?" << endl;
cout << "Если это вы введите 0" << endl;
cout << "Если это ИИ введите 1 " <> A;
switch (A) {
case 0:
for (i; i < T; i ) {
if (т == 6)break;
for (INT г = 0; г < COL; г ++) {
cout << "На одном из кубиков выпало значение " << ВИ[i][г]<<endl;
if (г == 1) {
змінний струм[T] = ВИ[i][г – 1] + ВИ[i][г];
cout << "Ваши сумарные очки за этот раунд " << змінний струм[T]<<endl;
}
}
}
т ++;
T ++;
cout << "Что там у ИИ?" << endl;
for (Я; Я < Y; Я ++) {
if (т == 6)break;
for (INT г = 0; г < COL; г ++) {
cout << "На одном из кубиков выпало значение " << II[Я][г] << endl;
if (г == 1) {
AC1[і] = II[Я][г – 1] + II[Я][г];
cout << "Сумарные очки ИИ за этот раунд " << AC1[і]<<endl;
}
}
}
і ++;
А ++;
break;
case 1:
for (Я; Я < Y; Я ++) {
if (Y == 6)break;
for (INT г = 0; г < COL; г ++) {
cout << "На одном из кубиков выпало значение " << II[Я][г] << endl;
if (г == 1) {
AC1[і] = II[Я][г – 1] + II[Я][г];
cout << "Сумарные очки ИИ за этот раунд " << AC1[і]<<endl;
}
}
}
і ++;
А ++;
cout << "Посмотрим повезло ли вам " << endl;
for (i; i < T; i ) {
if (т == 6)break;
for (INT г = 0; г < COL; г ++) {
cout << "На одном из кубиков выпало значение " << ВИ[i][г] << endl;
if (г == 1) {
змінний струм[T] = ВИ[i][г – 1] + ВИ[i][г];
cout << "Ваши сумарные очки за этот раунд " << змінний струм[T] << endl;
}
}
}
т ++;
T ++;
break;
}
}
анулюються Sum(ІНТ СКПК[ROW]) {
for (INT г = 0; г < ROW; г ++)
р + = СКПК[г];
}
№3 "малювати" кістки мені було лінь тому цифри ))
#include
#include
using namespace std;
Const ІНТ ROW = 4;
Const INT COL = 2;
ІНТ т = 1;
INT Y = 1;
int i = 0;
Т = INT 0;
Int у = 0;
INT I = 0;
int p = 0;
int k = 0;
INT AC[ROW];
ІНТ AC1[ROW];
ІНТ ARRI[ROW][COL]; //гравець
ІНТ Арріан[ROW][COL]; // II
недійсними Foo(INT ARR[ROW][COL]);
недійсний ARR(ІНТ ВАС[ROW][COL],ІНТ II[ROW][COL]) {
Int А;
cout << "Кто ходит первым ?" << endl;
cout << "Если это вы введите 0" << endl;
cout << "Если это ИИ введите 1 " <> A;
switch (A) {
case 0:
for (i; i < T; i ) {
if (т == 6)break;
for (INT г = 0; г < COL; г ++) {
cout << "На одном из кубиков выпало значение " << ВИ[i][г]<<endl;
if (г == 1) {
змінний струм[T] = ВИ[i][г – 1] + ВИ[i][г];
cout << "Ваши сумарные очки за этот раунд " << змінний струм[T]<<endl;
}
}
}
т ++;
T ++;
cout << "Что там у ИИ?" << endl;
for (Я; Я < Y; Я ++) {
if (т == 6)break;
for (INT г = 0; г < COL; г ++) {
cout << "На одном из кубиков выпало значение " << II[Я][г] << endl;
if (г == 1) {
AC1[і] = II[Я][г – 1] + II[Я][г];
cout << "Сумарные очки ИИ за этот раунд " << AC1[і]<<endl;
}
}
}
і ++;
А ++;
break;
case 1:
for (Я; Я < Y; Я ++) {
if (Y == 6)break;
for (INT г = 0; г < COL; г ++) {
cout << "На одном из кубиков выпало значение " << II[Я][г] << endl;
if (г == 1) {
AC1[і] = II[Я][г – 1] + II[Я][г];
cout << "Сумарные очки ИИ за этот раунд " << AC1[і]<<endl;
}
}
}
і ++;
А ++;
cout << "Посмотрим повезло ли вам " << endl;
for (i; i < T; i ) {
if (т == 6)break;
for (INT г = 0; г < COL; г ++) {
cout << "На одном из кубиков выпало значение " << ВИ[i][г] << endl;
if (г == 1) {
змінний струм[T] = ВИ[i][г – 1] + ВИ[i][г];
cout << "Ваши сумарные очки за этот раунд " << змінний струм[T] << endl;
}
}
}
т ++;
T ++;
break;
}
}
анулюються Sum(ІНТ СКПК[ROW]) {
for (INT г = 0; г < ROW; г ++)
р + = СКПК[г];
}
анулюються Sum(ІНТ СКПК[ROW],ІНТ л) {
for (INT г = 0; г < ROW; г ++)
До + = СКПК[г];
}
int main() {
setlocale(LC_ALL, "RUS");
srand(time(NULL));
Foo(ARRI);
Foo(арії);
ARR(ARRI, арії);
ARR(ARRI, арії);
ARR(ARRI, арії);
ARR(ARRI, арії);
сума(змінний струм);
сума(AC1,1);
if (p < k) {
cout << endl<< "Поздравляю кожаный ублоюдок ты проиграл и это только начало , я уничтожу человечествро"<<endl;
}
else {
cout<<endl<<"Кожаный ублюдок ты победил радуйся пока можешь"<<endl;
}
system("pause");
}
недійсними Foo(INT ARR[ROW][COL]) {
for (ви і = 0; в < ROW; в ++) {
for (ІНТ про = 0; o < COL; ++) {
ARR[в][o] = rand() % 7;
if (ARR[в][o] == 0)o–;
}
}
}
Я можу, що я можу зробити
#include
#include
int DropTheCube();
int DropTheCube();
порожнеча друкКуби(int a, int b);
int main(){
srand(time(NULL));
bool playerGoesFirst {false};
int moveNumber {1},
playerScore {},
compScore {};
playerGoesFirst = rand()%2; //хто ходить першим
//перший хід
if (playerGoesFirst){
std::cout << "Your turn!"<<'\n';
playerScore + = DropTheCube();
}
else{
std::cout << "Computer's turn" << '\n';
compScore + = DropTheCube();
}
moveNumber ++;
while (moveNumber <= 4 ){
if (playerGoesFirst == false) {
std::cout << "Computer's turn" << '\n';
playerScore + = DropTheCube();
playerGoesFirst = вірно;
}
else{
std::cout << "Your turn!"<compScore)
{
std::cout<< playerScore <” << compScore;
std::cout<<"you Win!";}
else
{
std::cout<< playerScore << "<" << compScore;
std::cout <<"you lose!";}
return 0;
}
int DropTheCube(){ //функції кидання кістки
int оцінка{};
INT до {};
ІНТ л {};
k = rand()%6+1;
l = rand()%6+1;
оцінка = k + l;
std::cout<<k<<" and "<<L<<'\n'<<"score now is : " << оцінка <<'\n';
друкарські кубики(k,L);
зворотний бал;
}
порожнеча друкКуби(int a, int b){ //функція малювання випала боку кістки
std::cout<<"_______\n";
switch (a){
case 6:
std::cout << " o o \n"<< " o o \n"<< " o o \n"<<"_______\n";
break;
case 5:
std::cout << " o o \n"<< " o \n"<< " o o \n"<<"_______\n";
break;
case 4:
std::cout << " o o \n"<< " \n"<< " o o \n"<<"_______\n";
break;
case 3:
std::cout << " o \n"<< " o \n"<< " o \n"<<"_______\n";
break;
case 2:
std::cout << " o \n"<< " \n"<< " o \n"<<"_______\n";
break;
case 1:
std::cout << " \n"<< " o \n"<< " \n"<<"_______\n";
break;
}
switch (b){
case 6:
std::cout << " o o \n"<< " o o \n"<< " o o \n"<<"_______\n";
break;
case 5:
std::cout << " o o \n"<< " o \n"<< " o o \n"<<"_______\n";
break;
case 4:
std::cout << " o o \n"<< " \n"<< " o o \n"<<"_______\n";
break;
case 3:
std::cout << " o \n"<< " o \n"<< " o \n"<<"_______\n";
break;
case 2:
std::cout << " o \n"<< " \n"<< " o \n"<<"_______\n";
break;
case 1:
std::cout << " \n"<< " o \n"<< " \n"<<"_______\n";
break;
}
}
#include
#include
using namespace std;
bool null = false;
bool one = false;
int рух = 1;
int res;
char ім'я користувача[16]; //ім'я користувача
int userresult;
int botresult;
порожній переможець()
{
cout << "Ваш результат:" << userresult << "\t" << "Результат бота:" << ботрезультат << endl;
if (userresult<ботрезультат)
{
cout << "Увы…, але вас переміг бот на t" << ботрезультат – userresult << "очка" << endl;
}
else
{
cout << "Ура! Ви перемогли бота на t" << userresult – ботрезультат << "очка" << endl;
}
}
порожній куб(int a)
{
switch (a)
{
case 1:
cout << "@" << endl;
break;
case 2:
cout << "@@" << endl;
break;
case 3:
cout << "@@@" << endl;
break;
case 4:
cout << "@@@@" << endl;
break;
case 5:
cout << "@@@@@" << endl;
break;
case 6:
cout << "@@@@@@" << endl;
break;
}
}
int ПЕРШИЙ() // вибір першого
{
return rand() % 2;
}
порожнеча prov1(int a)
{
if (A == 0)
{
cout << "Первым ходит бот" << endl;
null = істина;
}
if ( A == 1)
{
cout << "Вы ходите первым" << endl;
один = правда;
}
}
//БОТ – 0 ГРАВЕЦЬ – 1
порожній ход2(int a)
{
if (A == 1)
{
символ б;
cout <> b;
res = 1 + rand() % 6;
куб(res);
userresult = userresult + res;
cout << "Ваш результат:" << userresult << endl;
}
if (A == 0)
{
символ б;
cout <> b;
res = 1 + rand() % 6;
куб(res);
botresult = botresult + res;
cout << "Результат бота:" << ботрезультат << endl;
}
}
int main()
{
srand(time(NULL));
setlocale(LC_ALL, "RUS");
cout <> ім'я користувача;
cout << endl << "Идёт выбор того, хто буде ходити першим:\n"<<endl;
int fir = ПЕРШИЙ();
prov1(ялиця);
hod2(ялиця);
hod2(ялиця);
ялиця = !ялиця;
hod2(ялиця);
hod2(ялиця);
ялиця = !ялиця;
hod2(ялиця);
hod2(ялиця);
ялиця = !ялиця;
hod2(ялиця);
hod2(ялиця);
ялиця = !ялиця;
hod2(ялиця);
hod2(ялиця);
ялиця = !ялиця;
hod2(ялиця);
hod2(ялиця);
ялиця = !ялиця;
hod2(ялиця);
hod2(ялиця);
ялиця = !ялиця;
hod2(ялиця);
hod2(ялиця);
переможець();
}
#include
#include
using namespace std;
вибір bool();
кістки int();
порожні кістки();
int main()
{
setlocale(LC_ALL, “rus”);
srand(time(NULL));
int turn = 0;
int comp = 0;
int player = 0;
int round = 0;
поворот = вибір();
for (int i = 0; i < 4; i )
{
for (int j = 0; j < 2; j )
{
if (повернути)
{
cout << "Ход игрока\n";
гравець + = кістки();
}
else
{
cout << "Ход компа\n";
comp + = кістки();
}
поворот = !повернути;
}cout << "Промежуточный счет: "<<"Игрок-"<<програвач << "очк." <<",Комп-"<<"очк."<<комп <<"очк."< комп)
{
cout << "В " << круглі << " раунде победил игрок\n";
}
else
{
cout << "В " << круглі << " раунде победил комп\n";
}
}cout << "Итоговый счет: " << "Игрок-" << програвач << "очк." << ",комп-" << комп << "очк." < комп)
{
cout << "Конец игры, победил игрок\n";
}
else
{
cout << "Конец игры, победил комп\n";
}
return 0;
}
вибір bool()
{
return rand() % 2;
}
порожні кістки(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()
{
int result = 0;
оцінка int = 0;
for (int i = 0; i < 2; i )
{
оцінка = 1 + rand() % 6;
кісткиImg(оцінка);
результат + = бал;
cout << endl;
}
return result;
}