Определить номер первого из столбцов матрицы, содержащих хотя бы один нулевой элемент - C (СИ) (74649)
Формулировка задачи:
Задание:Дана целочисленная прямоугольная матрица. Определить номер первого из столбцов, содержащих хотя бы один нулевой элемент.
Программа должна содержать 2 функции: вывод массива, выполнение задания. Для выбора одной из двух функций организовать меню.
Помогите разобраться с проблемой в коде, скорее всего где-то в кейсах накосячил.
#include "stdafx.h" #include <stdio.h> #include <iostream> #include <conio.h> #include <string.h> const int n = 3; const int m = 4; void printm(mm[n][m]); int matrix(mm[n][m]); void main() {int i,j; int matrix[n][m]={3,4,5,0,6,5,3,2,1,3,6,4}; do { printf ("\n1 - Печать матрицы, 2 - Поиск нулей\n"); scanf("%d",&comanda); switch(comanda) case 1: printm(mm);break; case 2: printf(mm);break; } } while (comanda != 0); } void printm(int mm[n][m]) {int i,j; setlocal(LC_ALL,"Rus"); for (int i=0; i<n; i++) for (int j =0; j<m; j++) printf("%d",mm[i][j]); printf("\n"); } int matrix(int mm[n][m]) {int s=0; int i,j; for (int i=0; i<n; i++) for (int j =0; j<m; j++) if (mm[i][j]==0) printf("\n В столбце номер %d обнаружен ноль",j); return 0; system("pause"); }
Решение задачи: «Определить номер первого из столбцов матрицы, содержащих хотя бы один нулевой элемент»
textual
Листинг программы
#include <stdio.h> #define n 3 #define m 4 void printm(int mm[n][m]); int matrix(int mm[n][m]); int main(){ int comanda; int mat[n][m]={ {1,2,3,4}, {4,5,6,5}, {7,0,9,7} }; do { printf ("\n1 - Печать матрицы, 2 - Поиск нулей\n"); scanf("%d",&comanda); switch(comanda){ case 1: printm(mat); break; case 2: matrix(mat); break; }; } while (comanda != 0); return 0; } void printm(int mm[n][m]){ int i,j; for (i=0; i<n; i++) for (j =0; j<m; j++) printf("%d ",mm[i][j]); printf("\n"); } int matrix(int mm[n][m]){ int i,j; for (i=0; i<n; i++) for (j=0; j<m; j++) if (mm[i][j]==0) printf("\n В столбце номер %d обнаружен ноль",j); return 0; }
Объяснение кода листинга программы
- Программа начинается с объявления матрицы, представленной в виде двумерного массива, размером n на m, где n=3 и m=4.
- Затем определяются две функции: printm и matrix. Функция printm используется для печати матрицы, а функция matrix для поиска нулей в матрице.
- В функции main(), после объявления переменных, используется цикл do-while для выполнения команд, вводимых пользователем.
- При вводе 1 выполняется функция printm(), которая перебирает все элементы матрицы и выводит их на экран через пробел.
- При вводе 2 выполняется функция matrix(), которая также перебирает все элементы матрицы, но если встречается ноль, то выводит на экран номер столбца, в котором этот ноль был найден.
- В конце программы используется return 0 для завершения работы программы.
- Ноль в матрице встречается в столбце номер 3.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д