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

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

Нисходящие






\       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; просмотров: 938. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

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

Репродуктивное здоровье, как составляющая часть здоровья человека и общества   Репродуктивное здоровье – это состояние полного физического, умственного и социального благополучия при отсутствии заболеваний репродуктивной системы на всех этапах жизни человека...

Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x): Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...

Схема рефлекторной дуги условного слюноотделительного рефлекса При неоднократном сочетании действия предупреждающего сигнала и безусловного пищевого раздражителя формируются...

Тема 5. Организационная структура управления гостиницей 1. Виды организационно – управленческих структур. 2. Организационно – управленческая структура современного ТГК...

Методы прогнозирования национальной экономики, их особенности, классификация В настоящее время по оценке специалистов насчитывается свыше 150 различных методов прогнозирования, но на практике, в качестве основных используется около 20 методов...

Методы анализа финансово-хозяйственной деятельности предприятия   Содержанием анализа финансово-хозяйственной деятельности предприятия является глубокое и всестороннее изучение экономической информации о функционировании анализируемого субъекта хозяйствования с целью принятия оптимальных управленческих...

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