Как ввести матрицу с клавиатуры в c

Обновлено: 22.11.2024

Эта программа на C выполняет умножение матриц. При умножении матриц мы берем две матрицы порядка m*n и p*q соответственно, чтобы найти результирующую матрицу порядка m*q, где n равно p. Временная сложность этого алгоритма составляет O(n 3 ).

Вот исходный код программы C для выполнения матричного умножения. Программа C успешно скомпилирована и запущена в системе Linux. Вывод программы также показан ниже.

Sanfoundry Global Education & Learning Series – 1000 программ C.

Следующие шаги:

  • Получите бесплатный сертификат о заслугах в программировании на C
  • Примите участие в конкурсе на получение сертификата по программированию на C
  • Стать лучшим специалистом по программированию на C
  • Пройдите тесты по программированию на C
  • Практические тесты по главам: главы 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
  • Проверки по главам: главы 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Похожие сообщения:

  • Посмотреть видеоролики о расширенном программировании на C
  • Практика BCA MCQ
  • Подать заявку на стажировку в области компьютерных наук
  • Купить книги C
  • Практика MCQ по компьютерным наукам

Рекомендуемые статьи:

Дополнительные ресурсы:

Популярные страницы:

Подпишитесь на наши информационные бюллетени (по темам). Участвуйте в конкурсе сертификации Sanfoundry, чтобы получить бесплатный Сертификат отличия. Присоединяйтесь к нашим социальным сетям ниже и будьте в курсе последних конкурсов, видео, стажировок и вакансий!

Маниш Бходжасиа, ветеран технологий с более чем 20-летним опытом работы в Cisco и Wipro, является основателем и техническим директором Sanfoundry. Он живет в Бангалоре и занимается разработкой Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Оставайтесь на связи с ним в LinkedIn.

Подпишитесь на его бесплатные мастер-классы на Youtube и технические обсуждения на Telegram SanfoundryClasses.

Клавиатура Matrix Elite Series 60% оснащена переключателями Gateron (красными, синими или коричневыми), двойными бесшовными колпачками клавиш PBT и ультраяркой светодиодной подсветкой RGB, обеспечивающей непревзойденные игровые возможности.

Клавиатура Matrix Elite Series 60% оснащена переключателями Gateron (красными, синими или коричневыми), двойными бесшовными колпачками клавиш PBT и ультраяркой светодиодной подсветкой RGB, обеспечивающей непревзойденные игровые возможности.

Специальные страницы серий, готовые для занятий в классе, представляют собой упорядоченные коллекции руководств для нашего самого популярного оборудования и/или языков. Учебники по каждой теме удобно доступны с одной страницы и показаны в том порядке, в котором рекомендуется их выполнять.

Серия робототехники

Серия "Электроника и программирование"

Просмотреть учебники

Отдельные учебные пособия, отсортированные по роботу или набору и языку.

Роботом или комплектом

По языку

Матричная клавиатура — это та клавиатура, которую вы видите в микроволновых печах, газовых насосах и калькуляторах. Матричная клавиатура, которую можно подключить к макетной плате, также отлично подходит для прототипов и изобретений, когда необходимо вводить коды, время и другие значения.

Части

  • (1) матричная мембранная клавиатура 4x4
  • (4) Резисторы - 1 кОм (коричневый-черный-красный)
  • (4) провода-перемычки

Контур

Примечание. Будьте осторожны при подключении клавиатуры 4x4. На приведенных ниже схемах FLiP и ABWX используются одни и те же контакты, но ориентация схемы и клавиатуры различается в зависимости от используемой платы.

Проверочный код

Тестовая программа обновляет Терминал, показывая каждую нажатую клавишу каждые 1,5 секунды. Если вы не нажмете клавишу во время проверки, программа отобразит -1. Итак, для достижения наилучших результатов нажмите и удерживайте клавишу, которую хотите попробовать. Имейте в виду, это всего лишь тестовый код. Примеры «Попробуй это» и «Ваш ход» продемонстрируют, как заставить его реагировать на ввод чисел, как выполнять простые математические функции и многое другое.

Перед запуском программы давайте добавим примеры матричной клавиатуры и библиотеку в вашу папку Learn.

Теперь вы готовы попробовать первый пример программы

  • Нажмите кнопку Open Project в SimpleIDE и откройте Keypad 4x4 Read Keys.side из . Документы/SimpleIDE/Learn/Examples/Devices/Interface/.
  • Убедитесь, что на плату подается питание и правильно настроен COM-порт.
  • Используйте кнопку «Выполнить с помощью терминала» в SimpleIDE.
  • Когда появится терминал SimpleIDE и начнет отображать "Key = -1", попробуйте нажать и удерживать различные кнопки и убедиться, что программа обнаруживает и отображает нажатую кнопку.

Как это работает

Эта матричная клавиатура 4x4 имеет 16 встроенных кнопочных контактов, соединенных с линиями строк и столбцов. Микроконтроллер может сканировать эти строки в поисках состояния нажатия кнопки. В библиотеке клавиатуры Propeller устанавливает все строки столбцов для ввода и все строки строк для ввода. Затем он выбирает строку и устанавливает ее на высокий уровень. После этого он проверяет строки столбца по одной. Если соединение столбца остается низким, кнопка в строке не была нажата. Если он становится высоким, микроконтроллер знает, какая строка (тот, который он установил высоким) и какой столбец (тот, который был обнаружен высоким при проверке). См. схему в разделе «Схема» выше для визуального ознакомления с раскладкой клавиатуры.

Библиотека клавиатуры поддерживает практически любое количество строк и столбцов. Итак, программа должна сообщить ей, что наша клавиатура имеет 4 строки и 4 столбца, к каким контактам ввода-вывода подключены линии и какое значение представляет каждая кнопка. Массивы rows , cols и values ​​хранят эту информацию. Массив rows будет использоваться, чтобы сообщить библиотеке клавиатуры, что верхняя строка подключена к P7, вторая строка — к P6 и так далее. Аналогичным образом в массиве cols крайний левый столбец указан как подключенный к P3, следующий за ним — к P2 и так далее. Массив значений хранит значение, которое мы хотим, чтобы программа давала нам при каждом нажатии кнопки. Например, если нажата верхняя левая кнопка, нам нужна цифра 1, а если нажата следующая кнопка, нам нужна цифра два. Если нажата верхняя правая кнопка, нам нужен код ASCII для символа «A», который равен 65.

Знаете ли вы?

Если вы хотите, чтобы Propeller запоминал значение 123 после нажатия кнопок 1, 2 и 3, вот как это работает:

  1. Когда нажата цифра 1, добавьте ее в переменную (мы будем использовать числовую переменную).
  2. Подождите, пока кнопка 1 будет отпущена.
  3. При нажатии 2 умножьте число на 10, а затем прибавьте 2.
  4. Подождите, пока кнопка 2 будет отпущена.
  5. При нажатии 3 умножьте число (которое содержит 12) на 10 и прибавьте 3.
  6. Подождите, пока кнопка 3 будет отпущена.
  7. Если нажата кнопка, означающая, что вы закончили вводить цифры, сохраните или отобразите значение.

Попробуйте это

Твоя очередь

  • . В папке Documents/SimpleIDE/Learn/Examples/Devices/Interface/ также есть пример калькулятора, который использует кнопку A для сложения двух чисел и кнопку B для вычитания. Попробуйте модифицировать эту программу для умножения на C и деления на D.

Дополнительная тема

  • Попробуйте открыть пример 4x4 Keypad Read Simultaneous Keys.
  • Попробуйте нажать любые две клавиши, они должны отображаться обе.

Однако, когда вы начинаете нажимать 3 клавиши одновременно, клавиатура, такая как Matrix Membrane 4x4, которая предназначена для отдельных нажатий клавиш, иногда будет отображаться так, как будто была нажата клавиша, которая на самом деле не была нажата.

Многие комбинации работают нормально, например, 1, 5, 9 и D будут отображаться правильно, как и 1, 4, 7 и *. Но попробуйте нажать 1, 2 и 7. Программа сообщит вам, что обнаружены 1, 2, 7 и 8. Это явление называется фантомным изображением, где число 8 является номером призрака. Призрак возникает, когда вы нажимаете 2 кнопки в одной строке и одну кнопку в одном столбце. Например, 1 и 2 находятся в одной строке, а 7 находится в том же столбце, что и 1. Нажатие 7 перемещается вверх к 1, через к 2, а затем вниз по 8 столбцу и обнаруживается там. Некоторые клавиатуры, предназначенные для одновременного нажатия нескольких клавиш, имеют встроенные диоды, которые могут предотвратить это.

Еще одна проблема с клавиатурами, предназначенными для отдельных нажатий клавиш, называется маскированием. Маскировка просто означает, что если ваша программа ожидает нажатия одной клавиши, а затем вы нажимаете и отпускаете вторую клавишу после первой, вторая клавиша не обнаруживается. Изменение «маскируется» схемой клавиатуры.

Введение в умножение матриц в программировании на C

В статье C Programming Matrix Multiplication матрица представляет собой сетку, которая используется для хранения данных в структурированном формате. Он часто используется с таблицей, где данные представлены в виде горизонтальных строк и вертикальных столбцов. Матрицы часто используются в языках программирования и используются для представления данных в графической структуре. В программировании, если пользователь хочет умножить, сложить, вычесть и разделить две матрицы, то сначала должен быть объявлен порядок матрицы. Как только порядок матрицы объявлен для первой и второй матрицы, пользователь должен ввести элементы (входные данные) для матриц. Если порядок матрицы не пропорционален друг другу, то будет выведено сообщение об ошибке, которое заложено программистом в операторе условия. Если матрица содержит только одну строку, то она называется вектором-строкой, а если она содержит только один столбец, то она называется вектор-столбцом.

Матрица, содержащая одинаковое количество строк и столбцов, называется квадратной матрицей. Матрица используется для хранения группы связанных данных. Некоторые языки программирования используются для поддержки матриц как типа данных, который обеспечивает большую гибкость, чем статический массив. Вместо того, чтобы хранить значения в матрице, их можно хранить как отдельные переменные, программа может более эффективно получать доступ к данным и выполнять операции с ними. В программировании на C умножение матриц выполняется с использованием массивов, функций, указателей. Поэтому мы собираемся обсудить алгоритм умножения матриц вместе с блок-схемой, которую можно использовать для написания программного кода для умножения матриц 3 × 3 на языке высокого уровня. Это подробное объяснение поможет вам проанализировать рабочий механизм умножения матриц и поможет понять, как писать код.

Веб-разработка, языки программирования, тестирование программного обеспечения и другое

Алгоритм умножения матриц программирования на C

Шаг 1. Запустите программу.

Шаг 2. Введите строку и столбец первой (а) матрицы.

Шаг 3. Введите строку и столбец второй (b) матрицы.

Шаг 4. Введите элементы первой (а) матрицы.

Шаг 5. Введите элементы второй (b) матрицы.

Шаг 6. Выведите элементы первой (а) матрицы в матричной форме.

Обучение программированию на C (3 курса, 5 проектов) 3 онлайн-курса | 5 практических проектов | 34+ часа | Поддающийся проверке сертификат об окончании | Пожизненный доступ
4,5 (8541 оценка)

Шаг 7. Распечатайте элементы второй матрицы (b) в матричной форме.

Шаг 8. Установите петлю вверх в строку.

Шаг 9. Установите внутренний цикл до столбца.

Шаг 10. Установите еще один внутренний цикл вверх по столбцу.

Шаг 11. Умножьте первую (а) и вторую (б) матрицы и сохраните элемент в третьей матрице (в)

Шаг 12. Распечатайте окончательную матрицу.

Шаг 13. Остановите программу.

Блок-схема умножения матриц

Пример умножения матриц программирования на C

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

Код:

Работа над умножением матриц программирования на C

  • В приведенной выше программе мы инициализировали переменные и массивы внутри основного метода целочисленным (int) типом данных.
  • После инициализации мы получаем от пользователя порядок матрицы для первой матрицы, затем одновременно пользователь должен объявить порядок второй матрицы.
  • После объявления порядка матриц выполняется часть условия, программа будет продолжать работать, только если порядок удовлетворяет условию, иначе программа будет завершена или остановлена ​​на самой этой части.
  • После выполнения условия пользователь должен ввести элементы матрицы в качестве входных данных во время выполнения.
  • Вычисляется умножение матрицы, введенной пользователем.
  • Приведенная выше матричная программа проста и может вычислять обновление 25 × 25, поэтому мы можем просто отредактировать массив до требуемых чисел.

Преимущества умножения матриц программирования на C

  • Язык программирования C поддерживает матрицу как тип данных и обеспечивает большую гибкость. А также потребляет меньше памяти при обработке.
  • Сохраняя значения в матрице, а не в виде отдельных переменных, программа C может более эффективно обращаться к данным и выполнять операции с ними.
  • Легче извлекать информацию о вращении объекта, а также легче манипулировать в программе на языке C.

Заключение

Умножение матриц неоднократно используется в программах для представления графической структуры данных, которая используется для хранения нескольких векторов, а также во многих приложениях, таких как решение линейных уравнений и многое другое. Было проведено множество исследований по умножению матриц с использованием минимального количества операций.

Рекомендуемая статья

Это руководство по умножению матриц программирования на C. Здесь мы обсуждаем работу с матрицами, алгоритм, блок-схему и примеры, а также различные преимущества программирования на языке C. Вы также можете просмотреть другие предлагаемые нами статьи, чтобы узнать больше –

Читайте также: