Заполнить матрицу заданной размерности из случайных вещественных чисел. Вывести ее по заданным условиям. - PascalABC.NET
Формулировка задачи:
Помогите с заданием:
Дано: с клавиатуры вводятся два целых числа – М и К. 1<M<10, 1<K<10. (М – число строк, К – число столбцов)
Требуется: сгенерировать матрицу размерности М х К из случайных вещественных чисел из интервала [-10, 10].
Вывести её на экран в отформатированном табличном виде.
Определить и вывести на экран построчно только те строки, все элементы которых положительны
Генерацию, обработку и вывод матрицы производить с помощью двух вложенных циклов. Внешний цикл – while, внутренний – for
Я сгенерировал матрицу, надо только вывести положительные строки, а вместо них у меня выводит нули(0)и все.
Помогите, измените код что бы выводил. Буду благодарен.
Решение задачи: «Заполнить матрицу заданной размерности из случайных вещественных чисел. Вывести ее по заданным условиям.»
textual
Листинг программы
program project1; var k,m,i,j,fl:integer; mn:set of byte; a:array[1..9,1..9] of double;//по условию размер(1;10)=[2..9]и она вещественная begin repeat write('Введите количество строк от 2 до 9 k='); readln(k); until k in [2..9]; repeat write('Введите количество столбцов от 2 до 9 m='); readln(m); until m in [2..9]; randomize; writeln('Исходная матрица'); //генерация матрицы i:=1; while i<=k do//внешний цикл begin for j:=1 to m do//внутренний цикл begin a[i,j]:=-10+20*random; write(A[i,j]:6:2) end; writeln; i:=i+1; end; //обработка матрицы i:=1; mn:=[];//множество для номеров нужных строк while i<=k do//внешний цикл begin fl:=1; for j:=1 to m do if a[i,j]<=0 then fl:=0;//есть не положительные If fl=1 then mn:=mn+[i]; i:=i+1; end; //вывод результата if mn=[] then write('Нет строк состоящих только из положительных элементов') else begin writeln('Строки состоящие только из положительных элементов'); i:=1; while i<=k do//внешний цикл begin if i in mn then begin for j:=1 to m do//внутренний цикл write(a[i,j]:6:2); writeln; end; i:=i+1; end; end; end.
Объяснение кода листинга программы
- Создаются переменные k, m, i, j, fl (количество строк, количество столбцов, внутренняя переменная для обработки, флаг для определения положительных чисел) и массив a (для хранения чисел).
- Пользователю предлагается ввести количество строк и столбцов от 2 до 9.
- Генерируется случайная матрица.
- Выводится исходная матрица.
- Производится обработка матрицы: проверяется наличие только положительных чисел в каждой строке.
- Если все числа в строке положительные, то номер строки добавляется в множество mn.
- Выводится результат: строки, состоящие только из положительных чисел.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д