СРОЧНО! Пишу программу с процедурами, которая считает количество "особых" элементов матрицы, но в конце программы не работает 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. Если у вас останутся вопросы или возникнут ошибки, не стесняйтесь задавать их!