Студопедия — Нисходящие
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Нисходящие






\       N      
  \       \    
    \       \  
      \       ч
\       \      
  \       \    
    \       \  
      ч       ч

 

 


Свойство каждой диагонали:

• для любой восходящей диагонали сумма номера строки и номера столбца постоянна и для разных диагоналей — различна, то есть / + у = сошй;

• для нисходящих — разность номера строки и номера столбца тоже постоянна и для разных диагоналей — различна, то есть / — у = сош12.

Это свойство необходимо учитывать, чтобы определить номера диагоналей, на которых поставлен ферзь.

Ргодгат Ехатр1е_4 7; СопзЪ п=8;

Туре с1туаггау=Аггау [ 1.. п, 1.. п] 1п1: едег; Уаг А: сМуаггау; с: СЪаг;

з" Ьг, 51: 1: 1п1: едег; {з" Ьг - номер строки, з" Ь1 - номер столбца} РипсЪд.оп Р1асе(сЬ: СЬаг): 1п1: едег; Уаг к: 1п1: едег; Вед±п

Сазе сЪ. 05:

'а': к: =1; 'Ь': к: =2; 'с': к: =3; 'с! ': к: =4; 'е': к: =5; Ч': к: =6; 'д': к: =7; к: =8;

Епс1;

Р1асе: =к; Еп< 1;

Ргосейиге 1пл.1: (к, 1: 1п1: едег; Уаг х: с1туаггау); {к - номер строки, 1 - номер столбца, где поставлен ферзь} Уаг 1, з: 1п" Ьедег; Вед±п

Гог л_: =1 То п Во Гог ]: =1 То п Бо

{если мы стоим в той же горизонтали или вертикали, или восходя­щей диагонали, или нисходящей диагонали, то данная клетка «под боем», поэтому помечаем ее 1, в других случаях - 0}(1 =к) Ог (: =1) Ог (^+^=к +1) Ог (л _-^=к -1)

ТЪеп х [л., з ]: =1 Е1зе х[л_, з]: =0; х[к, 1]: =2; {здесь стоит ферзь} Епс1;

Ргосес1иге Ргл_п" Ь (х: с! шуаггау);

Уаг 1, з: 1п1: едег;

Ведхп

Еог л_: =1 То п Во Ведхп

Еог з: =1 То п Во Сазе х[л_, з] 0: Ш±Ье (' ': 3); 1: (' * ': 3);

2: ИгкеСГ': 3); Епс1;

ЭДгл_1: е1п; Епс1; Епс1; Ведхп

ДОгл_1: е1п (' Введи координаты ферзя1); КеасИп (с, з1: 1);

I Е (с< ' а') Ог (О'Ь') Ог (зЫ< 1) Ог (зЪ1> п)

ТЬеп ЭДг11: е1п ('некорректный ввод1)

Е1зе

Ведхп

з" Ьг: = Р1асе (с); 1п1" Ь (з1: г, 31: 1, А); Рг1П" Ь. (А); Епс1; КеасИп; Епс*.

Задания для самостоятельной работы

1. В каждой строке сменить знак максимального по модулю элемента на проти­воположный.

2. Последний отрицательный элемент каждого столбца заменить нулем.

3. Положительные элементы умножить на первый элемент соответствующей строки, а отрицательные — на последний, то есть положительные элементы первой строки умножаем на первый элемент первой строки, а отрицательные — на последний элемент тоже первой строки, то же самое сделаем и с остальными строками.

4. Заменить все элементы строки с номером к и столбца с номером / на проти­воположные по знаку (элемент, стоящий на пересечении, не изменять).

5. К элементам столбца к\ прибавить элементы столбца к2.

6. Написать программу, запрашивающую координаты коня и определяющую поля, находящиеся «под боем».

7. Ввести координаты ферзя и коня и определить:

а) если конь ходит первым, то бьет ли он ферзя;

б) бьет ли ферзь коня, если первый ход ферзя.

8. Составить программу заполнения и вывода на экран таблицы Пифагора (ум­ножения).

9. Даны два двумерных массива одинаковой размерности. Создать третий массив той же размерности, каждый элемент которого равен сумме соответствующих эле­ментов первых двух.

10. Даны два двумерных массива А и В одинаковой размерности. Создать массив С, где каждый элемент равен 1 (Тгие), если соответствующие элементы А и В имеют одинаковый знак, иначе элемент равен 0 (Гаке).

11. Составить программу вывода на экран арифметического квадрата, в нем первый столбец и первая строка заполнены 1 (единицами), а каждый из остальных элементов равен сумме своих соседей сверху и слева.

Упражнение № 21. Вставка и удаление

Пример. Вставить строку из нулей после строки с номером к. Решение. Для решения этой задачи необходимо:

1) первые к строк оставить без изменения;

2) все строки после А: -й сдвинуть на одну назад; лучше начать с последней строки и идти до (& + 1)-й;

3) элементам строки А: + 1 присвоить заданное значение.

Кроме того, необходимо изменить размерность массива. Так как мы вставляем строку, то число строк будет на одну больше:

СопзЪ п=5; ш=7;

Туре с1туаггау=Аггау [1.. п+1, 1..т] 05 1п1едег; Уаг А: с1туаггау;

Теперь опишем процедуру вставки:

Ргосейиге 1пзег-Ь(к1: 1п1едег; Уаг х: с1туаггау);

Уаг 1, у: 1п1едег;

Вед±п

Еог 1: =п Бомп-Ьо к1 + 1 Бо

Еог □: =1 То т Бо х[1+1, Л: =х[1, Я;

{элементу столбца ^ присваиваем элемент этого же столбца, но из предыдущей строки} Еог □: =1 То ш Бо х [ к1 + 1,; ] ]: =0; Епс1;

Так как число строк меняется, то процедуру Ргд.п*: надо изменить, она должна выводить данное число строк, начиная с первой:

: Ргосейиге Ргл_п1: 1(п1: 1п1едег; х: Зтуаггау); Уаг 1, ^: 1п1едег; Вед1п

Еог I: =1 То п1 Бо Ведл.п

Еог □: =1 То т Бо Игйе(х[1, ]]: 4);

Еп< 1; Епс1;

Часть основной программы будет такой:

Вед±п

1пИ: (А);

РГ1П1: (П, А) /

ДОгИ: е1п ('Введите номер строки, после которой вставляем');

КеасИп (к);

1пзег1: (к, А);

РГ1П1: (п+1, А);

КеасИп;

Епй.

Пример. Удалить строку с номером к.

Решение. Для того чтобы удалить строку с номером к, необходимо:

• сдвинуть все строки, начиная с данной, на одну вверх;

• последнюю строку «обнулить», то есть всем элементам последней строки при­своить значение 0.

Описание массивов оставим прежним (для размерности п*т). Также в про­грамме будем использовать процедуру вывода Ргл_п1: 1. Будем выводить на экран сначала все строки, затем, после удаления, на одну меньше. Теперь опишем про­цедуру удаления строки с данным номером:

Ргосейиге Бе1е1: е(к1: 1п1: едег; Уаг х: Ошуаггау);

Уаг 1, ^: 1п1: едег;

Вед±п

Рог 1: =к1 То п-1 Во

Рог □: =1 То ш Во х[1, з]: =х[1+1, з];

Рог □: =1 То ш Во х[п, Л: =0;

Епс1;

Задания для самостоятельной работы

1. Вставить первую строку после строки, в которой находится первый встречен­ный максимальный элемент.

2. Вставить второй столбец после первого столбца, в котором все элементы положительны. Если такого столбца нет, то сообщить об этом.

3. Вставить нулевую строку и нулевой столбец перед строкой и столбцом, где находится первый минимальный элемент.

4. Вставить после всех строк, в которых есть заданное число А, последнюю строку.

5. Вставить перед всеми столбцами, в которых нет отрицательных элементов, второй столбец.

6. Вставить перед всеми строками, в которых есть 0, первую строку, а после всех столбцов, в которых есть отрицательные элементы — первый столбец.

7. Удалить столбец, в котором находится минимальный элемент. Если такой элемент встречается несколько раз, то удалить все столбцы.

8. Удалить строку с номером к и столбец с номером /.

9. Удалить все столбцы, в которых нет нулевого элемента.

10. Удалить все строки и столбцы, на пересечении которых стоят отрицательные элементы.

Упражнение № 22. Перестановка элементов массива

Пример. Поменять местами два элемента массива А с заданными координатами (номерами строки и столбца).

Решение. Можно эту задачу решить несколькими способами.

Первый способ — по аналогии с перестановкой в одномерном массиве, когда в процедуру передаются индексы элементов и массив, в котором надо их поменять. Тогда процедура может быть такой:

РгосесНлге Змар1(к1, 11, к2, 12: 1п1: едег; Уаг х: Ошуаггау);

Уаг с: Iпоедет;

Ведхп

с: =х[к1, 11]; х[к1, 11]: =х[к2, 12]; х[к2, 12]: =х;

Епс1;

Второй способ. Вспомним процедуру 5м? ар, которая меняет местами значения двух целых переменных.

Ргосес1иге Змар (Уаг х, у: 1п1: едег);

Уаг т.: 1п-Ьедег;

Ведхп

г: =х; х: =у; у: =г;

Епс1;

Пример. Поменять местами столбцы с номерами /1 и /2.

РгосесНлге Змар2(11, 12: 1п1: едег; Уаг х: Ошуаггау);

Уаг 1: 1п1: едег;

Ведхп

IЕ ((11< 1) Ог (11> ш)) Ог ((12< 1) Ог (12> ш))

ТЬеп ^г11: е1п (' Ввод неправильный')

Е1зе Рог 1: =1 То ш По Змар (х [ л., 11 ], х[л_, 12]);

Епс1;

Задания для самостоятельной работы

1. Поменять местами первый максимальный и последний минимальный элементы.

2. В каждой строке поменять местами первый элемент и максимальный по модулю.

3. В каждой строке переставить первый отрицательный и последний положи­тельный, если таких нет, то сообщить об этом.

4. Переставить вторую и предпоследнюю строки.

5. Поменять местами первую строку и строчку, в которой находится первый нулевой элемент.

6. В двумерном массиве переставить строки следующим образом: первую с по­следней, вторую — с предпоследней и так далее. Если строк нечетное число, то средняя останется неизменной, иначе средние строки тоже меняем местами.

7. Дан двумерный массив А. Расставить его столбцы в следующем порядке:

а) последний, предпоследний,..., второй, первый;

б) первый, последний, второй, предпоследний, третий,....

8. Дан двумерный массив. Начиная с первой строки, сдвинуть все строки на две вниз, а последние две перенести на место первых двух строк.

9. Начиная с к-то столбца, сдвинуть их назад, а последние к поставить на место первых.

10. Начиная с к-то столбца, сдвинуть их вперед, а первые к поставить на место последних.








Дата добавления: 2014-11-10; просмотров: 939. Нарушение авторских прав; Мы поможем в написании вашей работы!



Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Вопрос. Отличие деятельности человека от поведения животных главные отличия деятельности человека от активности животных сводятся к следующему: 1...

Расчет концентрации титрованных растворов с помощью поправочного коэффициента При выполнении серийных анализов ГОСТ или ведомственная инструкция обычно предусматривают применение раствора заданной концентрации или заданного титра...

Психолого-педагогическая характеристика студенческой группы   Характеристика группы составляется по 407 группе очного отделения зооинженерного факультета, бакалавриата по направлению «Биология» РГАУ-МСХА имени К...

Условия приобретения статуса индивидуального предпринимателя. В соответствии с п. 1 ст. 23 ГК РФ гражданин вправе заниматься предпринимательской деятельностью без образования юридического лица с момента государственной регистрации в качестве индивидуального предпринимателя. Каковы же условия такой регистрации и...

Седалищно-прямокишечная ямка Седалищно-прямокишечная (анальная) ямка, fossa ischiorectalis (ischioanalis) – это парное углубление в области промежности, находящееся по бокам от конечного отдела прямой кишки и седалищных бугров, заполненное жировой клетчаткой, сосудами, нервами и...

Основные структурные физиотерапевтические подразделения Физиотерапевтическое подразделение является одним из структурных подразделений лечебно-профилактического учреждения, которое предназначено для оказания физиотерапевтической помощи...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия