|
|
zadach519.PAS |
|
{* Задача 519 *}Unit ZADACH519;Interface Implementation Begin writeln('В заданном двумерном массиве a[1..m, 1..n] заменить нулями элементы, стоящие в строках и столбцах, где имеются нули'); End. Program zadach519; Uses zadach519.pas; {* Эту строку можно удалить *} Uses Crt; {* Подключение модулей *} Const {* Константы *} m = 6; n = 5; Var {* В работе нам потребуются переменные: *} a : Array [1..m, 1..n] Of Word; i : Word; j : Word; b : Array [1..100] Of Word; Begin ClrScr; {* Стираем всё с экрана *} Writeln; {ввод массива} writeln('Введите матрицу: '); For i := 1 To m Do {* Переменная i увеличивается с 1 до m *} Begin b[i] := 0; For j := 1 To n Do {* Цикл для j => [1 .. n] *} Begin gotoxy(j * 4, i + 2); read(a[i, j]); {заполнение вспомогательного массива особым способом} If a[i, j] = 0 Then b[i] := b[i] * 10 + j; End; End; writeln; {обнуление исходного массива} For i := 1 To m Do {b[i]=0 признак того что ничего занулять не надо} If b[i]0 Then Begin While b[i]0 Do Begin For j := 1 To n Do {* Увеличиваем j от 1 до n с шагом 1 *} a[i, j] := 0; {обнуление столбца содержащего 0} For j := 1 To m Do {* Цикл для j => [1 .. m] *} a[j, b[i] Mod 10] := 0; b[i] := b[i] Div 10 End; End; writeln('Результат: '); For i := 1 To m Do {* Переменная i увеличивается с 1 до m *} For j := 1 To n Do {* Увеличиваем j от 1 до n с шагом 1 *} Begin gotoxy(j * 4, i + m+4); write(a[i, j]) End; ReadKey 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
|