You are on page 1of 7

Міністерство освіти і науки України

Тернопільський національний економічний університет


Кафедра комп’ютерної інженерії

ЛАБОРАТОРНА РОБОТА №5
Багатомірні масиви

Виконав:
Студент групи КІ-11
Фірковський Дмитро
Перевірив:
виклладач Піцун О.Й.

Тернопіль 2017
Хід роботи
Заповнити двовимірний масив випадковими числами від 10 до 99. Порахувати
суму елементів окремо в кожному рядку і визначити номер рядка, в якому ця
сума максимальна.
Код програми:
#include<iostream>
#include<ctime>
#include<cstdlib>

#define M 33

using namespace std;


int main(){
int mas[M][M];
int count=1, MaxKey = 1, MaxValue, sum=0;
srand(time(NULL));
for(int i=0;i<M;i++){
for(int j=0;j<M;j++){
mas[i][j]=rand()%90+10;
}
}
for(int i=0;i<M;i++){
for(int j=0;j<M;j++){
cout<<mas[i][j]<<" ";
}
cout<<endl;
}
MaxValue = mas[0][0];

for(int i=0; i<M; i++)


{
for(int j=0;j<M;j++)
{
sum+=mas[i][j];
}

if(sum > MaxValue)


{
MaxValue = sum;
MaxKey = count;
}
cout<<"Suma elementiv "<<count++<<" ryadka = "<<sum<<endl;
sum=0;
}
cout << endl << "Key :" << MaxKey << endl<< "Max value :" << MaxValue
<< endl;
system("pause");
return 0;
}
Скріншот роботи:

Висновок: : під час лабораторної роботи було одержано практичні


навички по роботі з багатомірними масивами.
Ігра”хрестіки-нуліки”
Код
#include <iostream>
using namespace std;
char board[9] = {};
void clearscreen()
{
for(int i = 0; i<100; i++)
{
cout<<endl;
}
}

void clearboard()
{
for(int i = 0; i<9; i++)
{
board[i] = '-';
}
}

bool has_wonQ(char player)


{
int wins[8][3] = {{0,1,2}, {3,4,5}, {6,7,8}, {0,3,6}, {1,4,7}, {2,5,8}, {0,4,8},
{2,4,6}};
for(int i = 0; i<8; i++)
{
int count = 0;
for(int j = 0; j<3; j++)
{
if(board[wins[i][j]] == player)
count++;
}
if(count == 3)
{
return true;
}
}
return false;
}

void print_board(string indent)


{
cout <<"Game board\n";
cout<<indent<<"-"<<board[6]<<"-|-"<<board[7]<<"-|-"<<board[8]<<"- "<<endl;
cout<<indent<<"-"<<board[3]<<"-|-"<<board[4]<<"-|-"<<board[5]<<"- "<<endl;
cout<<indent<<"-"<<board[0]<<"-|-"<<board[1]<<"-|-"<<board[2]<<"- "<<endl;
}

int get_move()
{
cout<<"\nMenu hodov: \n";
cout<<"-7-|-8-|-9-" << endl;
cout<<"-4-|-5-|-6-" << endl;
cout<<"-1-|-2-|-3-" << endl;
cout<<endl;

print_board("");
cout << "Vvod chisla: "<<endl;

int move;
cin >> move;
while(move > 9 || move < 1 || board[move-1]!= '-')
{
cout<<"Vvedite chislo ot (1 do 9):"<<endl;
cin >> move;
}
return move;
}

char play_and_get_winner()
{
int turn = 1;
while(!has_wonQ('X') && !has_wonQ('0'))
{
clearscreen();
int move = get_move();
if(turn%2 == 1)
{
clearscreen();
int move = get_move();

board[move-1]='X';
if(has_wonQ('X'))
{
cout <<"X,Pozdravlyau vi vuigrali!"<<endl;
return 'X';
}

}
else
{
board[move-1]='0';
if(has_wonQ('0'))
{
cout <<"O,Pozdravlyau vi vuigrali!"<<endl;
return '0';
}
}
turn++;
if(turn == 10)
{
cout << "nechya"<<endl;
return 'D';
}
}
}

int main()
{
cout <<"Privetstvuyu"<<endl;
string reply = "y";
int x_wins=0, o_wins=0, ties=0;

while(reply == "y")
{
clearboard();
char winner = play_and_get_winner();
print_board("\t ");

switch(winner)
{
case 'X':
x_wins++;
break;
case '0':
o_wins++;
break;
case 'D':
ties++;
break;
}

cout << "\t*Winer statistic*"<<endl<<"Player X: "<< x_wins<< ", Player 0:


"<<o_wins << " and Ties: "<<ties<<endl;
cout << " would you like to play again? (y/n): "<<endl;
cin >> reply;
while(reply != "y" && reply !="n")
{
cout << "please inter a valid reply (y/n):";
cin >> reply;
}
}
return 0;
}
Скріншот роботи

You might also like