Главная страница
Навигация по странице:

  • Вариант №19 Условие задачи

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

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

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

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

  • Блок – схема

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


    Скачать 382.92 Kb.
    НазваниеЛабораторная работа 2 по дисциплине Информатика (часть 2) Вариант 19 Студенты фио гр. Ри000000 00. 00. 0000
    АнкорOtchet_po_informatike_var_19
    Дата04.05.2023
    Размер382.92 Kb.
    Формат файлаdocx
    Имя файлаОтчёт по информатике 2.docx
    ТипЛабораторная работа
    #1108507

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

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

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

    Департамент радиоэлектроники и связи
    Массивы. Условные операторы. Оператор 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;

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



    написать администратору сайта