|
|
zadach285.PAS |
|
{* Задача 285 *}Unit ZADACH285;Interface Implementation Begin writeln('Дана матрица размерностью N*M. Удалить из матрицы все строки, в которых минимальный элемент встречается раньше, чем максимальный элемент.'); End. Program zadach285; Uses zadach285.pas; {* Эту строку можно удалить *} Var {* Объявление переменных *} nommin : integer; nommax : integer; k : integer; i : integer; j : integer; v : integer; n : integer; m : integer; mat : Array[1..100, 1..100] Of integer; mat1 : Array[1..100, 1..100] Of integer; max : integer; min : integer; Begin writeln; {* Пропускаем одну строку *} writeln; {* Пропускаем одну строку *} writeln('Задайте размерность матрицы N*M'); writeln; {* Пустая строка *} write ('Введите N:'); read(n); write ('Введите M:'); read(m); writeln('Задать случайные значения=1, ввести вручную=2?'); readln(v); If v = 1 Then Begin Randomize; For i := 1 To n Do {* Переменная i увеличивается с 1 до n *} For j := 1 To m Do {* Увеличиваем j от 1 до m с шагом 1 *} mat[i, j] := Random(99); Begin Writeln('Исходная матрица: '); writeln; {* Пустая строка *} For i := 1 To n Do {* Переменная i увеличивается с 1 до n *} Begin For j := 1 To m Do {* Переменная j увеличивается с 1 до m *} Write(mat[i, j], ' '); Writeln; {* Пустая строка *} End; readln; {* Приостановка программы. Ожидание Enter *} End; End; If v = 2 Then Begin For i := 1 To n Do {* Цикл для i => [1 .. n] *} For j := 1 To m Do {* Увеличиваем j от 1 до m с шагом 1 *} Begin Writeln ('Введите элемент с индексом [', i, ', ', j, ']'); Read(mat[i, j]); End; readln; {* Приостановка программы. Ожидание Enter *} Writeln('Исходная матрица: '); writeln; {* Пропускаем одну строку *} For i := 1 To n Do {* Увеличиваем i от 1 до n с шагом 1 *} Begin For j := 1 To m Do {* Переменная j увеличивается с 1 до m *} Write(mat[i, j], ' '); Writeln; {* Пустая строка *} End; Readln; {* Приостановка программы. Ожидание Enter *} End; Begin k := 1; For i := 1 To n Do {* Переменная i увеличивается с 1 до n *} Begin nommin := 1; min := mat[i, 1]; For j := 2 To m Do {* Цикл для j => [2 .. m] *} If min > mat[i, j] Then Begin min := mat[i, j]; nommin := j; End; nommax := 1; max := mat[i, 1]; For j := 2 To m Do {* Цикл для j => [2 .. m] *} If maxnommax Then Begin For j := 1 To m Do {* Увеличиваем j от 1 до m с шагом 1 *} mat1[k, j] := mat[i, j]; k := k + 1; End; End; End; Begin Writeln('Конечная матрица: '); writeln; {* Пропускаем одну строку *} For i := 1 To k - 1 Do {* Переменная i увеличивается с 1 до k *} Begin For j := 1 To m Do {* Переменная j увеличивается с 1 до m *} Write(mat1[i, j], ' '); Writeln; {* Пропускаем одну строку *} End; Readln; {* Ждем нажатия Enter *} End; End. 07.08.2014 - Breakpoint - точка остановки 07.08.2014 - Топ-10 самых популярных приложений в Facebook 18.11.2013 - Панель управления и персонализация системы. Windows Vista 18.11.2013 - Логические и физические диски. Windows Vista 18.11.2013 - Удаление файлов и папок 01.11.2013 - Программирование дисковых подсистем: возможности 31.10.2013 - Windows8 или Windows7? 31.10.2013 - Windows8, игры |
|
Non-commercial fansite
|