Файл: Лабораторная работа 2 по дисциплине Информатика (часть 2) Вариант 19 Студенты фио гр. Ри000000 00. 00. 0000.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 06.12.2023

Просмотров: 11

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Министерство образования и науки Российской Федерации

ФГАОУ ВО «Уральский федеральный университет

имени первого Президента России Б.Н. Ельцина»

Департамент радиоэлектроники и связи
Массивы. Условные операторы. Оператор switch

Лабораторная работа №2 по дисциплине

«Информатика (часть 2)»
Вариант №19

Студенты ФИО

гр. РИ-000000 00.00.0000

дата сдачи работы роспись студ.
Преподаватель _____________ __________ ФИО

дата приема работы роспись препод.

Екатеринбург, 2022

Вариант №19

Условие задачи:

Матрица НН размером M*N состоит из нулей и единиц. Найдите в ней самую длинную цепочку подряд идущих нулей по вертикали. Заполнение матрицы – с клавиатуры.

"Задание на разработку программного обеспечения (техническое задание)".

Название задачи:

Условие задачи – “ Матрица НН размером M*N состоит из нулей и единиц. Найдите в ней самую длинную цепочку подряд идущих нулей по вертикали. Заполнение матрицы – с клавиатуры.

Название программного комплекса – «Matrix.cpp».

Система программирования – Dev – C++, version 5.11.492 x64.

Требования к аппаратному обеспечению – 48.1 МB свободного места.

Описание:

Условие задачи – “ Матрица НН размером M*N состоит из нулей и единиц. Найдите в ней самую длинную цепочку подряд идущих нулей по вертикали. Заполнение матрицы – с клавиатуры. Программа реализуется через циклы for. Задача предполагает использование структурированных данных (массивы).

Управление режимами работы программы:

Основные требования к способу взаимодействия пользователя с программой: пользователь должен строго следовать инструкции, которая предоставляет ему программа.

Входные данные:

Вводные данные – количество строк “M”, количество столбцов “N”, элементы матрицы HH[M][N].


Источник данных – клавиатура;

Выходные данные:

Выходные данные – числовой формат;

Источник отображения данных – монитор;


Ошибки:

Возможные ошибки пользователя при работе с программой - ошибка при вводе данных; Способы диагностики – проверка программы; Защита от ошибок на этапе проектирования – Анализ кода; Возможная реакция пользователя при совершении им ошибочных действий – недопонимание, заблуждение; Реакция программного комплекса на ошибки пользователя – программа будет выводить 0.

Метод решения задачи

Введём целое количество строк “M” и столбцов “N”. Далее зададим матрицу HH, размером M на N. Затем обнуляем max. После этого реализуем цикл for, где обнуляем заданный счётчик “k”. Далее реализуем цикл for внутри данного цикла. Если элемент матрицы HH равен нулю, к счётчику k прибавляем единицу, иначе, если k>max, то к max присваиваем значение k. В конечном итоге выводится результат max значения подряд идущих нулей по вертикале.

Блок – схема


Текст программы:

#include

using namespace std;

int main () {

setlocale (LC_ALL, "Russian");

int M, N;

cout << " Введите количество строк ";

cin >> M;

cout << " Введите количество столбцов: ";

cin >> N;

int HH[M][N];

cout << " Введите элементы матрицы: " << endl;

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

for (int j = 0; j < N; j++) {

cin >> HH[i][j];

}

}

int max = 0;

for (int j = 0; j < N; j++) {

int k = 0;

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

if (HH[i][j] == 0) {

k++;

} else {

if (k > max) {

max = k;

}



k = 0;

}

}

if (k > max) {

max = k;

}

}

cout << " Самая длинная цепочка подряд идущих нулей по вертикале равна: " << max << endl;

return 0;

}
Пример работы программы: