Файл: Лабораторная работа 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;
}
Пример работы программы: