СРОЧНО! Пишу программу с процедурами, которая считает количество "особых" элементов матрицы, но в конце программы не работает writeln, в чем может быть проблема?
Вот задача.
Заданная целочисленная матрица размером NXM. Определить k - количество "особых" элементов матрицы, считая элемент "особым", если в его строке слева от него находятся элементы, меньшие его, а справа - большие.
Вот мой код. И если уж у меня все плохо, то предложите свой код программы.
Информатика 11 класс Процедуры и функции в программировании программа с процедурами особые элементы матрицы количество элементов ошибка writeln матрица NXM определение особых элементов информатика 11 класс код программы на Pascal Новый
Давайте разберемся с вашей задачей и возможными проблемами в коде. Прежде всего, давайте уточним, что такое "особые" элементы в контексте вашей задачи. Элемент матрицы считается "особым", если все элементы слева от него в строке меньше его, а все элементы справа больше. Теперь перейдем к вашему коду и попробуем выяснить, в чем может быть проблема с выводом.
Возможные причины, почему writeln не работает:
Теперь давайте предложим пример кода, который решает вашу задачу. Я напишу его на языке Pascal, так как это часто используется в школьных программах.
program SpecialElements; var matrix: array[1..100, 1..100] of integer; // Объявляем матрицу N, M, i, j, k: integer; // N - количество строк, M - количество столбцов, k - количество "особых" элементов begin k := 0; // Инициализируем количество "особых" элементов // Вводим размеры матрицы write('Введите количество строк N: '); readln(N); write('Введите количество столбцов M: '); readln(M); // Вводим элементы матрицы writeln('Введите элементы матрицы:'); for i := 1 to N do for j := 1 to M do read(matrix[i, j]); // Проверяем каждый элемент матрицы for i := 1 to N do begin for j := 2 to M - 1 do // Начинаем с 2, чтобы не выходить за границы begin // Проверяем условия для "особого" элемента if (matrix[i, j] > matrix[i, j - 1]) and (matrix[i, j] < matrix[i, j + 1]) then begin k := k + 1; // Увеличиваем счетчик "особых" элементов end; end; end; // Выводим результат writeln('Количество "особых" элементов: ', k); end.
Объяснение кода:
Попробуйте адаптировать этот код под ваш случай и проверьте, работает ли writeln. Если у вас останутся вопросы или возникнут ошибки, не стесняйтесь задавать их!