Файл: Лабораторная работа 6 по дисциплине Алгоритмизация и программирование Тема Функции Студент Карлышев Кирилл (ри121120) гр. Преподаватель Чечеткин Виктор Алексеевич Екатеринбург.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 08.11.2023
Просмотров: 59
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство образования и науки Российской Федерации
1 1 1 00 1 0 10 1 1 10 1 1 11 1 1 00 1 1 01 0 0 01 0 0 0Matrix 1 contains the most zero rows.0 1 0 11 0 0 10 1 0 00 1 0 10 0 0 00 1 0 10 1 1 00 1 0 00 0 1 0Программа №1#include
#include
#include
void generateMatrix(int matrix[][4], int rows, int cols) {
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
matrix[i][j] = rand() % 2 - 0;
}
}
}
int countZeroRows(int matrix[][4], int rows, int cols) {
int count = 0;
for (int i = 0; i < rows; i++) {
bool isZeroRow = true;
for (int j = 0; j < cols; j++) {
if (matrix[i][j] != 0) {
isZeroRow = false;
break;
}
}
if (isZeroRow) {
count++;
}
}
return count;
}
// печать матрицы
void printMatrix(int matrix[][4], int rows, int cols) {
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
std::cout << matrix[i][j] << '\t';
}
std::cout << '\n';
}
}
int main() {
const int ROWS = 9;
const int COLS = 4;
srand(time(nullptr));
// генерируем 3 матрицы
int matrix1[ROWS][COLS];
int matrix2[ROWS][COLS];
int matrix3[ROWS][COLS];
generateMatrix(matrix1, ROWS, COLS);
generateMatrix(matrix2, ROWS, COLS);
generateMatrix(matrix3, ROWS, COLS);
// выводим матрицы на экран
std::cout << "Matrix 1:\n";
printMatrix(matrix1, ROWS, COLS);
std::cout << '\n';
std::cout << "Matrix 2:\n";
printMatrix(matrix2, ROWS, COLS);
std::cout << '\n';
std::cout << "Matrix 3:\n";
printMatrix(matrix3, ROWS, COLS);
std::cout << '\n';
// находим матрицу с наибольшим количеством нулевых строк
int count1 = countZeroRows(matrix1, ROWS, COLS);
int count2 = countZeroRows(matrix2, ROWS, COLS);
int count3 = countZeroRows(matrix3, ROWS, COLS);
if (count1 > count2 && count1 > count3) {
std::cout << "Matrix 1 contains the most zero rows.\n";
printMatrix(matrix1, ROWS, COLS);
} else if (count2 > count1 && count2 > count3) {
std::cout << "Matrix 2 contains the most zero rows.\n";
printMatrix(matrix2, ROWS, COLS);
} else {
std::cout << "Matrix 3 contains the most zero rows.\n";
printMatrix(matrix3, ROWS, COLS);
}
return 0;
}
ФГАОУ ВПО «УрФУ имени первого Президента России Б.Н. Ельцина»
Лабораторная работа №6по дисциплине«Алгоритмизация и программирование»Тема: «Функции»Студент Карлышев Кирилл (РИ-121120)гр.Преподаватель Чечеткин Виктор АлексеевичЕкатеринбург 2023Задание 1Краткое описание метода решенияДано три матрицы размером 9x4, заполненные случайными значениями 0 или 1. Необходимо найти матрицу с наибольшим количеством нулевых строк и вывести ее на экран. Для этого используется функция generateMatrix, которая заполняет матрицу случайными значениями, функция countZeroRows, которая считает количество нулевых строк в матрице, и функция printMatrix, которая выводит матрицу на экран. Затем для каждой матрицы вызывается функция countZeroRows, результаты сравниваются, и на экран выводится матрица с наибольшим количеством нулевых строк.Блок-схемаРезультат работы программыMatrix 1:0 1 0 11 0 0 10 1 0 00 1 0 10 0 0 00 1 0 10 1 1 00 1 0 00 0 1 0Matrix 2:1 0 1 11 1 1 11 1 0 11 0 0 01 0 1 01 0 0 11 0 0 00 1 0 11 1 0 0Matrix 3:1 1 1 01 1 1 00 1 0 10 1 1 10 1 1 11 1 1 00 1 1 01 0 0 01 0 0 0Matrix 1 contains the most zero rows.0 1 0 11 0 0 10 1 0 00 1 0 10 0 0 00 1 0 10 1 1 00 1 0 00 0 1 0Программа №1#include
#include
#include
void generateMatrix(int matrix[][4], int rows, int cols) {
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
matrix[i][j] = rand() % 2 - 0;
}
}
}
int countZeroRows(int matrix[][4], int rows, int cols) {
int count = 0;
for (int i = 0; i < rows; i++) {
bool isZeroRow = true;
for (int j = 0; j < cols; j++) {
if (matrix[i][j] != 0) {
isZeroRow = false;
break;
}
}
if (isZeroRow) {
count++;
}
}
return count;
}
// печать матрицы
void printMatrix(int matrix[][4], int rows, int cols) {
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
std::cout << matrix[i][j] << '\t';
}
std::cout << '\n';
}
}
int main() {
const int ROWS = 9;
const int COLS = 4;
srand(time(nullptr));
// генерируем 3 матрицы
int matrix1[ROWS][COLS];
int matrix2[ROWS][COLS];
int matrix3[ROWS][COLS];
generateMatrix(matrix1, ROWS, COLS);
generateMatrix(matrix2, ROWS, COLS);
generateMatrix(matrix3, ROWS, COLS);
// выводим матрицы на экран
std::cout << "Matrix 1:\n";
printMatrix(matrix1, ROWS, COLS);
std::cout << '\n';
std::cout << "Matrix 2:\n";
printMatrix(matrix2, ROWS, COLS);
std::cout << '\n';
std::cout << "Matrix 3:\n";
printMatrix(matrix3, ROWS, COLS);
std::cout << '\n';
// находим матрицу с наибольшим количеством нулевых строк
int count1 = countZeroRows(matrix1, ROWS, COLS);
int count2 = countZeroRows(matrix2, ROWS, COLS);
int count3 = countZeroRows(matrix3, ROWS, COLS);
if (count1 > count2 && count1 > count3) {
std::cout << "Matrix 1 contains the most zero rows.\n";
printMatrix(matrix1, ROWS, COLS);
} else if (count2 > count1 && count2 > count3) {
std::cout << "Matrix 2 contains the most zero rows.\n";
printMatrix(matrix2, ROWS, COLS);
} else {
std::cout << "Matrix 3 contains the most zero rows.\n";
printMatrix(matrix3, ROWS, COLS);
}
return 0;
}