Рекомендация: прочитайте задачу! Выполните ее и сравните полученный результат с картинкой CMD
Если вы полностью уверены что не можете осилить эту задачу, советую вам просмотреть код и полностью в нем разобраться! Протестировать все в отладчике!
Дан двухмерный массив размерностью 3×4. Необхо- димо найти количество элементов значение которых равно нулю.
#include <iostream>
using namespace std;
#define STOP_CMD system("pause");
#define COLOR_CMD system("color 0A");
int main() {
COLOR_CMD
const int str = 3, column = 4;
int array[str][column];
int storage = 0;
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
array[i][j] = rand() % 2; // Filling an array with random numbers from 0 to 1
cout << array[i][j];
}
cout << endl;
}
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (array[i][j] == 0) { // If an element with 0
storage++;
}
}
}
cout << "Number of elements equal to zero = " << storage << endl;
STOP_CMD
return 0;
}
Дана квадратная матрица порядка n (n строк, n столб-
цов). Найти наибольшее из значений элементов, рас-
положенных в тёмно-синих частях матриц.
Все массивы в данном домашнем задании заполняются
случайным образом.
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
#define STOP_CMD system("pause");
#define COLOR_CMD system("color 0A");
int main() {
COLOR_CMD
srand(time(NULL));
const int size = 10;
int array[size][size];
int MAX = array[0][0]; //// Maximum value
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
array[i][j] = rand() % 99; // Fill the matrix with random numbers
}
}
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
if (i >= j) { // Figure A
if (MAX < array[i][j]) {
MAX = array[i][j];
}
}
cout << array[i][j] << " ";
}
cout << endl;
}
cout << "MAX = " << MAX << endl;
MAX = array[0][0]; //// Maximum value
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
if (i <= j) { // Figure B
if (MAX < array[i][j]) {
MAX = array[i][j];
}
}
cout << array[i][j] << " ";
}
cout << endl;
}
cout << "MAX = " << MAX << endl;
MAX = array[0][0]; //// Maximum value
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
if (i <= j && i + j < size){ // Figure C
if (MAX < array[i][j]) {
MAX = array[i][j];
}
}
cout << array[i][j] << " ";
}
cout << endl;
}
cout << "MAX = " << MAX << endl;
MAX = array[0][0]; //// Maximum value
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
if (i + 2 > size - j && i + 1 > j) { // Figure D
if (MAX < array[i][j]) {
MAX = array[i][j];
}
}
cout << array[i][j] << " ";
}
cout << endl;
}
cout << "MAX = " << MAX << endl;
MAX = array[0][0]; //// Maximum value
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
if (i <= j && i + j < size) {// Figure E
if (MAX < array[i][j]) {
MAX = array[i][j];
}
}
if (i + 2 > size - j && i + 1 > j) { // Figure E
if (MAX < array[i][j]) {
MAX = array[i][j];
}
}
cout << array[i][j] << " ";
}
cout << endl;
}
cout << "MAX = " << MAX << endl;
MAX = array[0][0]; //// Maximum value
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
if (i < size - j && i + 1 > j || i > size - 2 - j && i - 1 < j) { // Figure F
if (MAX < array[i][j]) {
MAX = array[i][j];
}
}
cout << array[i][j] << " ";
}
cout << endl;
}
cout << "MAX = " << MAX << endl;
MAX = array[0][0]; //// Maximum value
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
if (i >= j && i + j < size) { // Figure G
if (MAX < array[i][j]) {
MAX = array[i][j];
}
}
cout << array[i][j] << " ";
}
cout << endl;
}
cout << "MAX = " << MAX << endl;
MAX = array[0][0]; //// Maximum value
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
if (i > size - 2 - j && i - 1 < j) { // Figure H
if (MAX < array[i][j]) {
MAX = array[i][j];
}
}
cout << array[i][j] << " ";
}
cout << endl;
}
cout << "MAX = " << MAX << endl;
MAX = array[0][0]; //// Maximum value
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
if (i + j < size) { // Figure I
if (MAX < array[i][j]) {
MAX = array[i][j];
}
}
cout << array[i][j] << " ";
}
cout << endl;
}
cout << "MAX = " << MAX << endl;
MAX = array[0][0]; //// Maximum value
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
if (i > size - j - 2) { // Figure J
if (MAX < array[i][j]) {
MAX = array[i][j];
}
}
cout << array[i][j] << " ";
}
cout << endl;
}
cout << "MAX = " << MAX << endl;
STOP_CMD
return 0;
}
Написать программу описывающую размещение шахматной фигуры на поле
и отображающих ячейки доступные для хода фигуры(символ Х) и доступные для удара (символ У).Программы должны описывать все шахматные фигуры.
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
#define STOP_CMD system("pause");
#define COLOR_CMD system("color 0A");
int main() {
COLOR_CMD
setlocale(LC_ALL, "RUS");
//*****************************************************************************************************\\
// (Program) ====>>>>>> Handbook of chess (Hyde) <<<<<<==== (Program) \\
//*****************************************************************************************************\\
//-----------------------------------------------------------------------\\
/*Chess board*/ \\
//-----------------------------------------------------------------------\\
const int str = 8, column = 8;
char chess[str][column]{ 0 };
int InputUser = 0, StringUser = 0, ColumnUser;
char SymbolUser;
for (int i = 0, Numbering = str; i < str; i++, Numbering--) {
cout << Numbering << " ";
for (int j = 0; j < column; j++) {
if (j % 2 != 1 && i % 2 != 1 || j % 2 == 1 && i % 2 == 1) // chess
chess[i][j] = '.'; //White cells
else
chess[i][j] = '#';// Black cells
cout << chess[i][j] << " ";
}
cout << endl;
}
cout << " ";
for (char i = 'a'; i <= 'h'; i++) //Letters
cout << i << " ";
cout << '\n' << endl;
//-----------------------------------------------------
//Menu
cout << "|================================================|\n";
cout << "| - Reference book on chess |\n";
cout << "| - Black cells (# Black) |\n";
cout << "| - White cells (. White) |\n";
cout << "| - motion (X run) |\n";
cout << "| - Hit (Y Atack) |\n";
cout << "| - Your attack and the course from the bottom up|\n";
cout << "|================================================|\n";
cout << endl;
cout << "Chess figure Make a choice:" << endl << endl;
cout << "\t\t" << "1. Pawn " << "\t\t" << "2. Rook " << "\t\t" << "3. Horse " << endl;
cout << "\t\t" << "4. Bishop " << "\t\t" << "5. Queen " << "\t\t" << "6. King " << endl;
cin >> InputUser;
cout << "Enter the line of the chess piece: (Example input from 1 to 8)" << endl;
cin >> StringUser;
cout << "Enter the column of the chess piece: (English keyboard Example input from a to h)" << endl;
cin >> SymbolUser;
//-----------------------------------------------------
//Invert
switch (SymbolUser)
{
case 'a': {ColumnUser = 0; break; }
case 'b': {ColumnUser = 1; break; }
case 'c': {ColumnUser = 2; break; } //ColumnUser = Coordinates entered by the user (Column)
case 'd': {ColumnUser = 3; break; }
case 'e': {ColumnUser = 4; break; }
case 'f': {ColumnUser = 5; break; }
case 'g': {ColumnUser = 6; break; }
case 'h': {ColumnUser = 7; break; }
default: {cout << "==(-_-)==***Invalid Input***==(-_-)==" << endl; break; }
}
//Invert
switch (StringUser)
{
case 8: {StringUser = 0; break; }
case 7: {StringUser = 1; break; }
case 6: {StringUser = 2; break; }
case 5: {StringUser = 3; break; }//StringUser = Coordinates entered by the user (String)
case 4: {StringUser = 4; break; }
case 3: {StringUser = 5; break; }
case 2: {StringUser = 6; break; }
case 1: {StringUser = 7; break; }
default: {cout << "==(-_-)==***Invalid Input***==(-_-)==" << endl; break; }
}
//Figure
switch (InputUser)
{
case 1: {
//PAWN
chess[StringUser][ColumnUser] = 'P'; // PAWN
if (StringUser == 0 || StringUser == 7) { // QUEEN
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
//If a pawn was bet on 8 or 1 then she queen\\
//------------------------------------------------------------
if (i == StringUser || j == ColumnUser) { // Vertical + horizontal
chess[i][j] = 'Y'; // attack
}
//------------------------------------------------------------
}
}
}
if (StringUser == 0 || StringUser == 7) {
//QUEEN diaganally
int storage = 0; // The queen on the right is diagonally
bool check = true;
bool check2 = false;
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (i == StringUser && j == ColumnUser && check) {
storage = i + j;
i = 0;
j = 0;
check = false;
check2 = true;
}
if (i + j == storage && check2) { // right is diagonally
chess[i][j] = 'Y'; // attack
}
}
}
//-----------------------------------------------------
//QUEEN diaganally
storage = 0; //The queen on the left is diagonally
check = true;
check2 = false;
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (i == StringUser && j == ColumnUser && check) {
storage = i - j;
i = 0;
j = 0;
check = false;
check2 = true;
}
if (i - j == storage && check2) { // left is diagonally
chess[i][j] = 'Y'; // attack
}
}
}
//-----------------------------------------------------
chess[StringUser][ColumnUser] = 'Q'; // Put the figure on the board in the element of the array specified by the user.
}
//PAWN
else if (ColumnUser == 0) {
chess[StringUser - 1][ColumnUser] = 'X'; //running
chess[StringUser - 1][ColumnUser + 1] = 'Y'; // attack
}
else if (ColumnUser == 7) {
chess[StringUser - 1][ColumnUser] = 'X';//running
chess[StringUser - 1][ColumnUser - 1] = 'Y'; // attack
}
else
{
chess[StringUser - 1][ColumnUser] = 'X';//running
chess[StringUser - 1][ColumnUser + 1] = 'Y'; // attack
chess[StringUser - 1][ColumnUser - 1] = 'Y';
}//-----------------------------------------------------
break;
}
case 2: {
//ROOK
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
//------------------------------------------------------------
if (i == StringUser || j == ColumnUser) { // Vertical + horizontal
chess[i][j] = 'Y'; // attack
}
//------------------------------------------------------------
chess[StringUser][ColumnUser] = 'R'; // Put the figure on the board in the element of the array specified by the user.
}
}
break;
}
case 3: {
//Knight
chess[StringUser][ColumnUser] = 'H'; // Horse
if (StringUser - 1 >= 0 && ColumnUser - 2 >= 0) {chess[StringUser - 1][ColumnUser - 2] = 'Y';}
if (StringUser - 2 >= 0 && ColumnUser - 1 >= 0) {chess[StringUser - 2][ColumnUser - 1] = 'Y';}
if (StringUser - 2 >= 0 && ColumnUser + 1 <= 7) {chess[StringUser - 2][ColumnUser + 1] = 'Y';}
if (StringUser - 1 >= 0 && ColumnUser + 2 <= 7) {chess[StringUser - 1][ColumnUser + 2] = 'Y';}
if (StringUser + 1 <= 7 && ColumnUser - 2 >= 0) {chess[StringUser + 1][ColumnUser - 2] = 'Y';}
if (StringUser + 2 <= 7 && ColumnUser - 1 >= 0) {chess[StringUser + 2][ColumnUser - 1] = 'Y';}
if (StringUser + 2 <= 7 && ColumnUser + 1 <= 7) {chess[StringUser + 2][ColumnUser + 1] = 'Y';}
if (StringUser + 1 <= 7 && ColumnUser + 2 <= 7) {chess[StringUser + 1][ColumnUser + 2] = 'Y';}
break;
}
case 4: {
//Bishop
//Bishop diaganally
int storage = 0; // The Bishop on the right is diagonally
bool check = true;
bool check2 = false;
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (i == StringUser && j == ColumnUser && check) {
storage = i + j;
i = 0;
j = 0;
check = false;
check2 = true;
}
if (i + j == storage && check2) { // right is diagonally
chess[i][j] = 'Y'; // attack
}
}
}
//-----------------------------------------------------
//Bishop diaganally
storage = 0; //The Bishop on the left is diagonally
check = true;
check2 = false;
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (i == StringUser && j == ColumnUser && check) {
storage = i - j;
i = 0;
j = 0;
check = false;
check2 = true;
}
if (i - j == storage && check2) { // left is diagonally
chess[i][j] = 'Y'; // attack
}
}
}
//-----------------------------------------------------
chess[StringUser][ColumnUser] = 'B'; // Put the figure on the board in the element of the array specified by the user.
break;
}
case 5: {
//Queen
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
//------------------------------------------------------------
if (i == StringUser || j == ColumnUser) { // Vertical + horizontal
chess[i][j] = 'Y'; // attack
}
//------------------------------------------------------------
//QUEEN diaganally
int storage = 0; // The queen on the right is diagonally
bool check = true;
bool check2 = false;
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (i == StringUser && j == ColumnUser && check) {
storage = i + j;
i = 0;
j = 0;
check = false;
check2 = true;
}
if (i + j == storage && check2) { // right is diagonally
chess[i][j] = 'Y'; // attack
}
}
}
//-----------------------------------------------------
//QUEEN diaganally
storage = 0; //The queen on the left is diagonally
check = true;
check2 = false;
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (i == StringUser && j == ColumnUser && check) {
storage = i - j;
i = 0;
j = 0;
check = false;
check2 = true;
}
if (i - j == storage && check2) { // left is diagonally
chess[i][j] = 'Y'; // attack
}
}
}
chess[StringUser][ColumnUser] = 'Q'; // Put the figure on the board in the element of the array specified by the user.
//-----------------------------------------------------
}
}
break;
}
case 6: {
//King
chess[StringUser][ColumnUser] = 'K';
if (StringUser - 1 >= 0) {chess[StringUser - 1][ColumnUser] = 'Y';}
if (StringUser + 1 <= 7) {chess[StringUser + 1][ColumnUser] = 'Y';}
if (ColumnUser + 1 <= 7) {chess[StringUser][ColumnUser + 1] = 'Y';}
if (ColumnUser - 1 >= 0) {chess[StringUser][ColumnUser - 1] = 'Y';}
if (StringUser - 1 <= 7 && ColumnUser - 1 >= 0) {chess[StringUser - 1][ColumnUser - 1] = 'Y';}
if (StringUser - 1 >= 0 && ColumnUser + 1 <= 7) {chess[StringUser - 1][ColumnUser + 1] = 'Y';}
if (StringUser + 1 <= 7 && ColumnUser - 1 >= 0) {chess[StringUser + 1][ColumnUser - 1] = 'Y';}
if (StringUser + 1 >= 0 && ColumnUser + 1 <= 7) {chess[StringUser + 1][ColumnUser + 1] = 'Y';}
break;
}
default: {
cout << "==(-_-)==***Invalid Input***==(-_-)==" << endl;
break;
}
}
//-----------------------------------------------------------------------
//DISPLAY\\
//-----------------------------------------------------------------------
for (int i = 0, Numbering = str; i < str; i++, Numbering--) {
cout << Numbering << " ";
for (int j = 0; j < column; j++) {
cout << chess[i][j] << " "; // Display
}
cout << endl;
}
cout << " ";
for (char i = 'a'; i <= 'h'; i++) //Letters
cout << i << " ";
cout << '\n' << endl;
//-----------------------------------------------------------------------
STOP_CMD
return 0;
}
1 вывод из многих варинтов
Составить программу, заменяющую значение любого элемента двухмерного массива на число а
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
#define STOP_CMD system("pause");
#define COLOR_CMD system("color 0A");
int main() {
COLOR_CMD
setlocale(LC_ALL, "RUS");
const int str = 10, column = 10;
char array[str][column];
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
array[i][j] = rand() % 122 + 97;
}
}
array[0][0] = 'a'; // symbol a
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
cout << array[i][j] << " ";
}
cout << endl;
}
STOP_CMD
return 0;
}
Дан двухмерный массив.Составить программу :а) вывода на экран любого элемента второй строки массива;
б) вывода на экран любого элемента третьего столбца массива;
в) вывода на экран любого элемента массива.
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
#define STOP_CMD system("pause");
#define COLOR_CMD system("color 0A");
int main() {
COLOR_CMD
const int str = 10, column = 10;
int array[str][column];
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
array[i][j] = rand() % 10 + 89;
}
}
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
cout << array[i][j] << " ";
}
cout << endl;
}
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (i == 2 && j == 2) { // Task = a
cout << "String 2 = " << array[i][j] << endl;
}
if (i == 3 && j == 2) { // Task = b
cout << "Column 3 = " << array[i][j] << endl;
}
if (i == 5 && j == 5) { // Task = c
cout << "Task 3 = " << array[i][j] << endl;
}
}
}
STOP_CMD
return 0;
}
Составить программу:а) расчета суммы двух любых элементов двухмерного массива:
б) расчета среднего арифметического трех любых элементов
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
#define STOP_CMD system("pause");
#define COLOR_CMD system("color 0A");
int main() {
COLOR_CMD
const int str = 10, column = 10;
int array[str][column];
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
array[i][j] = rand() % 10 + 89; // array = integer numbers rand
}
}
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
cout << array[i][j] << " "; // display
}
cout << endl;
}
int number1 = 0, number2 = 0, number3 = 0;
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (i == 0 && j == 0) {
number1 = array[i][j];
}
if (i == 0 && j == 1) {
number2 = array[i][j];
}
if (i == 0 && j == 2) {
number3 = array[i][j];
}
}
}
cout << "Sum = " << number1 + number2 << endl; // Sum
cout << "Arithmetical mean = " << (number1 + number2 + number3) / 3 << endl; // Arithmetical mean
STOP_CMD
return 0;
}
Составить программу, заполнения двухмерного массива таблицей умножения
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
#define STOP_CMD system("pause");
#define COLOR_CMD system("color 0A");
int main() {
COLOR_CMD
const int str = 10, column = 10;
int array[str][column];
for (int i = 1; i < str; i++) {
for (int j = 1; j < column; j++) {
cout << "\t" << i * j; // Multiplication table
}
cout << endl;
}
STOP_CMD
return 0;
}
Дан двухмерный массив с четной размерностью.а) Вывести на экран элементы, расположенные в правом верхнем углу.
б) Вывести на экран элементы, расположенные в левом
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
#define STOP_CMD system("pause");
#define COLOR_CMD system("color 0A");
int main() {
COLOR_CMD
const int str = 6, column = 6;
int array[str][column];
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
array[i][j] = rand() % 10 + 89;
}
}
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (i <= str / 2 && j >= column / 2) { // Output of elements of the right top square
cout << array[i][j] << " ";
}
}
cout << endl;
}
//-------------------------------------------------------------
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (i >= str / 2 && j < column / 2) { // output of the left bottom square of the array
cout << array[i][j] << " ";
}
}
cout << endl;
}
//-------------------------------------------------------------
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
cout << array[i][j] << " "; // Displays the entire array
}
cout << endl;
}
STOP_CMD
return 0;
}
Заменить значения всех элементов главной диагонали массива на нулевые.
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
#define STOP_CMD system("pause");
#define COLOR_CMD system("color 0A");
int main() {
COLOR_CMD
const int str = 10, column = 10;
int array[str][column];
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
array[i][j] = rand() % 10 + 89;
}
}
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (i == j) { // Dioganally
array[i][j] = 0;
}
}
}
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
cout << array[i][j] << " ";
}
cout << endl;
}
STOP_CMD
return 0;
}
Определить:а) сумму элементов главной диагонали массива;
б) сумму элементов побочной диагонали массива.
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
#define STOP_CMD system("pause");
#define COLOR_CMD system("color 0A");
int main() {
COLOR_CMD
const int str = 10, column = 10;
int array[str][column];
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
array[i][j] = rand() % 9 + 1; // array = integer numbers rand
}
}
int Sum = 0, Sum1 = 0;
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (i == j) { // Dioganally
Sum += array[i][j]; // SUM
}
if (i + j == column - 1) { // Dioganally
Sum1 += array[i][j]; // SUM
}
}
}
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) { // Display
cout << array[i][j] << " ";
}
cout << endl;
}
cout << "By-side = " << Sum << endl;
cout << "Main = " << Sum1 << endl;
STOP_CMD
return 0;
}
Определить:а) минимальный элемент главной диагонали массива;
б) максимальный элемент побочной диагонали массива.
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
#define STOP_CMD system("pause");
#define COLOR_CMD system("color 0A");
int main() {
COLOR_CMD
const int str = 10, column = 10;
int array[str][column];
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) { // array = integer numbers rand
array[i][j] = rand() % 9 + 1;
}
}
int MAX = array[0][9], MIN = array[0][0];
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (i == j) {
if (MIN > array[i][j]) { // MIN
MIN = array[i][j];
}
}
if (i + j == column - 1) {
if (MAX < array[i][j]) { // MAX
MAX = array[i][j];
}
}
}
}
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
cout << array[i][j] << " "; // Display
}
cout << endl;
}
cout << "MIN = " << MIN << endl;
cout << "MAX = " << MAX << endl;
STOP_CMD
return 0;
}
Определить:а) координаты первого максимального элемента главной диагонали массива:
б) координаты первого минимального элемента побочной диагонали массива.
В обеих задачах принять, что диагонали просматриваются сверху вниз
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
#define STOP_CMD system("pause");
#define COLOR_CMD system("color 0A");
int main() {
COLOR_CMD
const int str = 10, column = 10;
int array[str][column];
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
array[i][j] = rand() % 9 + 1; // array = integer numbers rand
}
}
int MAX = array[0][4], MIN = array[0][0];
int MINcordI = 0, MINcordJ = 0, MAXcordI = 0, MAXcordJ = 0;
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (i == j) {
if (MIN > array[i][j]) {
MIN = array[i][j];
MINcordI = i; // MIN Element
MINcordJ = j; // MAIN Element
}
}
if (i + j == column - 1) {
if (MAX < array[i][j]) {
MAX = array[i][j]; // MAX
MAXcordI = i; // MAX Element aaray
MAXcordJ = j; // MAX Element array
}
}
}
}
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) { // Display
cout << array[i][j] << " ";
}
cout << endl;
}
cout << "Cordinate MIN = " << MINcordI << MINcordJ << endl;// MIN Element array
cout << "Cordinate MAX = " << MAXcordI << MAXcordJ << endl; // MAX Element array
STOP_CMD
return 0;
}
Заполнить двухмерный массив размером 7 x 7 следующим образом:
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
#define STOP_CMD system("pause");
#define COLOR_CMD system("color 0A");
int main() {
COLOR_CMD
const int str = 7, column = 7;
int array[str][column];
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) { // array = 0
array[i][j] = 0;
}
}
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (i == j) { // Diagonally
array[i][j] = 1;
}
if (i + j == column - 1) { // Diagonally
array[i][j] = 1;
}
}
}
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) { // Display
cout << array[i][j] << " ";
}
cout << endl;
}
//--------------------------------------
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) { // array = 0
array[i][j] = 0;
}
}
cout << endl;
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (i <= j && i + j < str) { // Triangle upper
array[i][j] = 1;
}
if (i + 2 > str - j && i + 1 > j) { // Triangle lower
array[i][j] = 1;
}
}
}
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) { // Dicplay
cout << array[i][j] << " ";
}
cout << endl;
}
//--------------------------------------------
STOP_CMD
return 0;
}
Дан двухмерный массив. Определить:а) сумму всех элементов второго столбца массива:
б) сумму всех элементов k -й строки массива.
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
#define STOP_CMD system("pause");
#define COLOR_CMD system("color 0A");
int main() {
COLOR_CMD
const int str = 3, column = 3;
int array[str][column];
cout << "Enter array 3x3:" << endl;
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
cin >> array[i][j];
}
}
int Sum = 0;
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (j == 1) { // Sum column №2
Sum += array[i][j]; // Sum
}
}
}
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) { // Display
cout << array[i][j] << " ";
}
cout << endl;
}
cout << "Sum = " << Sum << endl;
//--------------------------------------------------
Sum = 0;
int StringUser = 0;
cout << "Enter string array:" << endl;
cin >> StringUser;
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (i == StringUser) { // Sum = enter String User
Sum += array[i][j];
}
}
}cout << "Sum = " << Sum << endl;
STOP_CMD
return 0;
}
К элементам k-й строки двухмерного массива прибавить элементы р-й строки.
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
#define STOP_CMD system("pause");
#define COLOR_CMD system("color 0A");
int main() {
COLOR_CMD
const int str = 4, column = 4;
int array[str][column];
int Sum1 = 0, Sum2 = 0, StringUser1 = 0, StringUser2 = 0;
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
array[i][j] = rand() % 9 + 1; // array = rand
}
}
for (int i = 0; i < str; i++) {
cout << i << " ===> ";
for (int j = 0; j < column; j++) { // Display
cout << array[i][j] << " ";
}
cout << endl;
}
cout << "Select in the array 2 lines and enter their respective numbers: (array 10x10)" << endl;
cin >> StringUser1 >> StringUser2;
if (StringUser1 <= 10 && StringUser2 <= 10) {
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (i == StringUser1) { // String №1
Sum1 += array[i][j];
}
if (i == StringUser2) { // String №2
Sum2 += array[i][j];
}
}
}
}
cout << "The sum of your rows is " << Sum1 + Sum2 << endl; //SUM
STOP_CMD
return 0;
}
В поезде 18 вагонов, в каждом из которых 36 мест.Информация о проданных на поезд билетах хранится в двухмерном массиве, номера строк которых соответствуют номерам вагонов, а номера столбцов — номерам мест.Если билет на то или иное место продан, то соответствующий элемент массива имеет значение 1, в противном случае — 0. Составить программу, определяющую число и номера свободных мест в любом из вагонов поезда.
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
#define STOP_CMD system("pause");
#define COLOR_CMD system("color 0A");
int main() {
COLOR_CMD
const int str = 18, column = 37;
int table[str][column] = {0};
bool check = true;
int UserChoice = 0; //Reserve or sold
for(;;){
if (check) { // Output at the beginning of the program
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (j == 0) // Net table
table[i][j] = i + 1;
else
table[i][j] = j; // Net table
cout << table[i][j] << " ";
}
cout << endl;
}
check = false;
}
int StringUser = 0, ColumnUser = 0;
cout << "Select an available place from the table:" << endl;
cout << "Fill the table:\n"
<< "[1 ticket sold!]\n"
<< "[0 Ticket in reserve]\n"
<< "Enter the number from the first column :\n"
<< "Enter the seat number :" << endl;
cin >> StringUser >> ColumnUser;
cout << "Enter: reserve (0) sold (1)" << endl;
cin >> UserChoice;
if (UserChoice == 0 || UserChoice == 1) {
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) { //Populating the user table
if (j == 0)
table[i][j] = i;
else
table[StringUser][ColumnUser] = UserChoice;
cout << table[i][j] << " ";
}
cout << endl;
}
}
}
STOP_CMD
return 0;
}
Фирма имеет 10 магазинов.
Информация о доходе каждого магазина за каждый месяц года хранится в двухмерном массиве
(первого магазина — в первой строке, второго — во второй и т. д.).
Составить программу для расчета среднемесячного дохода любого магазина.
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
#define STOP_CMD system("pause");
#define COLOR_CMD system("color 0A");
int main() {
COLOR_CMD
const int str = 11, column = 13;
int shop[str][column] = {0};
int AverageSalary = 0; //Average salary
int SelectUser = 0;
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
shop[i][j] = rand() % 50000 * 12; // cash for the year
}
}
for (int i = 1; i < str; i++) {
for (int j = 0; j < column; j++) {
if (j == 0) {
shop[i][j] = i; // Number shop
}
cout << shop[i][j] << "\t";
}
cout << endl;
}
cout << "Select shop: " << endl;
cin >> SelectUser;
if (SelectUser <= 10 && SelectUser >= 1) {
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (i == SelectUser) {
AverageSalary += shop[i][j];
}
cout << shop[i][j] << "\t";
}
cout << endl;
}
cout << "Average salary = " << AverageSalary / 12 << endl;
}
STOP_CMD
return 0;
}
Дан двухмерный массив из двух строк и двадцати двух столбцов. В его первой строке записано количество мячей,
забитых футбольной командой в той или иной игре, во второй — количество пропущенных мячей в этой же игре.
а) Определить количество выигрышей, количество ничьих и количество проигрышей данной команды.
б) Определить общее число очков, набранных командой (за выигрыш дается 3 очка, за ничью — 1, за проигрыш — 0).
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
#define STOP_CMD system("pause");
#define COLOR_CMD system("color 0A");
int main() {
COLOR_CMD
const int str = 2, column = 22;
int table[str][column] = { 0 };
int TotalGoalsScored = 0, TotalGoalsConceded = 0, Victory = 0, Draw = 0, Loss = 0;
cout << "Make input:" << endl;
cout << "[Help] Fill in the table line 1 the number of goals scored: " << endl;
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) { //number of goals
if (i == 0 || j == 22) {
cin >> table[i][j];
}
}
}
cout << "[Help] Fill in the second line with missed balls: " << endl;
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) { // missed balls
if (i == 1 || j == 22) {
cin >> table[i][j];
}
}
}
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) {
if (i == 0) {
if (table[i][j] > table[i + 1][j]) {
++Victory;
}
if (table[i][j] < table[i + 1][j]) {
++Loss;
}
if (table[i][j] == table[i + 1][j]) {
++Draw;
}
}
}
}
for (int i = 0; i < str; i++) {
for (int j = 0; j < column; j++) { // Display
cout << table[i][j] << " ";
}
cout << endl;
}
cout << "Victory = " << Victory << endl;
cout << "Loss = " << Loss << endl;
cout << "Draw = " << Draw << endl;
STOP_CMD
return 0;
}