|
|
obmen.PAS |
|
{* Замена в двумерном массиве *}Unit OBMEN;Interface Implementation Begin writeln('Программа на двумерный массив, Вы вводите количество строк и столбцов, а программа выводит Вам массив, в котором показывает наименьшее (min) и наибольшее значение (max). А затем меняет их местами: там где находилось наименьшее размещается наибольшее и наоборот. '); End. Program OBMEN; Uses obmen.pas; {* Эту строку можно удалить *} Uses crt; {* Подключаем внешние файлы *} Var {* В работе нам потребуются переменные: *} p : integer; m : integer; n : integer; i : integer; j : integer; max : integer; min : integer; i1 : integer; j1 : integer; i2 : integer; j2 : integer; x : integer; a : Array[1..100, 1..100] Of integer; Begin 1 : clrscr; {* Очистка экрана *} Writeln('ВВЕДИТЕ КОЛЛИЧЕСТВО СТРОК'); read(m); Writeln('ВВЕДИТЕ КОЛЛИЧЕСТВО СТОЛБЦОВ'); readln(n); randomize; Begin For i := 1 To m Do {* Переменная i увеличивается с 1 до m *} For j := 1 To n Do {* Переменная j увеличивается с 1 до n *} a[i, j] := random(500); max := a[1, 1]; For i := 1 To m Do {* Увеличиваем i от 1 до m с шагом 1 *} For j := 1 To n Do {* Переменная j увеличивается с 1 до n *} If a[i, j] > max Then Begin max := a[i, j]; i1 := i; j1 := j; End; Writeln; {* Пропускаем одну строку *} writeln('МАКСИМАЛЬНЫЙ ЭЛЕМЕНТ ', max, ' ', i1, ' ', j1); min := a[1, 1]; For i := 1 To m Do {* Цикл для i => [1 .. m] *} For j := 1 To n Do {* Увеличиваем j от 1 до n с шагом 1 *} If a[i, j] < min Then Begin min := a[i, j]; i2 := i; j2 := j; End; Writeln; {* Пустая строка *} Writeln('МИНИМАЛЬНЫЙ ЭЛЕМЕНТ ', min, ' ', i2, ' ', j2); writeln; {* Вывод пустой строки *} writeln; {* Пустая строка *} For i := 1 To m Do {* Цикл для i => [1 .. m] *} Begin For j := 1 To n Do {* Переменная j увеличивается с 1 до n *} write(' ', a[i, j] : 3); writeln; {* Вывод пустой строки *} End; writeln; {* Вывод пустой строки *} writeln; {* Пустая строка *} Writeln(' ЗАМЕНА:'); writeln; {* Пропускаем одну строку *} x := a[i1, j1]; a[i1, j1] := a[i2, j2]; a[i2, j2] := x; For i := 1 To m Do {* Цикл для i => [1 .. m] *} Begin For j := 1 To n Do {* Цикл для j => [1 .. n] *} write(' ', a[i, j] : 3); writeln; {* Пропускаем одну строку *} End; writeln ('ВЫХОД - 1, НАЧАТЬ ЗАНОВО - 2'); readln(p); If (p = 1) Then exit Else Goto 1; 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
|