Из двухмерного в одномерный и наоборот

12.176. Значения элементов двухмерного массива из m строк и n столбцов скопировать в одномерный массив размером m х n. Копирование проводить:

а) по строкам, начиная с первой (а в ней — с первого элемента);

6) по столбцам, начиная с первого (а в нем — с первого элемента) .

12.177. Дан двухмерный массив размером n х n. Сформировать:

а) одномерный массив из элементов заданного массива, расположенных над главной диагональю;

б) одномерный массив из элементов заданного массива, расположенных под главной диагональю;

в) одномерный массив из элементов заданного массива, расположенных над побочной диагональю;

г) одномерный массив из элементов заданного массива, расположенных под побочной диагональю.

12.178. Дан двухмерный массив размером n х n, заполненный целыми числами.

а) Все его элементы, кратные трем, записать в одномерный массив.

6) Все его положительные элементы записать в один одномерный массив, а остальные — в другой.

12.179. Дан двухмерный массив размером n х n, заполненный целыми числами.

а) Все его отрицательные элементы записать в одномерный массив.

6) Все его четные элементы записать в один одномерный массив, а нечетные — в другой.

По строкам (столбцам)

12.180. Дан двухмерный массив.

а) Сформировать одномерный массив, каждый элемент которого равен количеству элементов соответствующего столбца двухмерного массива, больших данного числа.

6) Сформировать одномерный массив, каждый элемент которого равен сумме элементов соответствующей строки двухмерного массива, меньших данного числа.

12.181. Дан двухмерный массив целых чисел.

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

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

в) Сформировать одномерный массив, каждый элемент которого равен количеству отрицательных элементов в соответствующей строке двухмерного массива, кратных 3 или 7.

r) Сформировать одномерный массив, каждый элемент которого равен сумме положительных элементов в соответствующем столбце двухмерного массива, кратных 4 или 5.

12.182. Дан двухмерный массив целых чисел.

а) Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующего столбца двухмерного массива.

6) Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующей строки двухмерного массива.

12.183. Дан двухмерный массив целых чисел.

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

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

Обмены и перестановки

12.184. Дан двухмерный массив.

а) Поменять местами первую и третью строки.

б) Поменять местами второй и последний столбцы.

12.185. Дан двухмерный массив.

а) Поменять местами, первый и предпоследний столбцы.

б) Поменять местами вторую и последнюю строки.

12.186. Дан двухмерный массив. Составить программу:

а) которая меняет местами две любые строки;

б) которая меняет местами два любых столбца.

12.187. Дан двухмерный массив размером nх n. Составить программу:

а) которая меняет местами все элементы, симметричные относительно главной диагонали;

б) которая меняет местами все элементы, симметричные относительно побочной диагонали.

12.188. Дан двухмерный массив из четного числа строк. Строки верхней половины массива поменять местами со строками нижней половины.

12.189. Дан двухмерный массив из четного числа столбцов. Столбцы левой половины массива поменять местами со столбцами правой половины.

12.190. Дан двухмерный массив из четного числа строк. Поменять местами первую строку со второй, третью — с четвертой и т.д.

12.191. Дан двухмерный массив из четного числа столбцов. Поменять местами первый столбец со вторым, третий — с четвертым и т,д.

12.192. Дан двухмерный массив из четного числа строк. Поменять местами его строки следующим способом: первую строку поменять с последней, вторую — с предпоследней и т.д.

12.193. Дан двухмерный массив из четного числа столбцов. Поменять местами его столбцы следующим способом: первый столбец поменять с последним, второй — с предпоследним и т.д.

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

12.195. Дан двухмерный массив из 20 столбцов. Переставить первые три и последние три столбца, сохранив порядок их следования.

12.196. Дан двухмерный массив из 12 строк. Переставить в обратном порядке строки, расположенные между второй и десятой (т.е. с третьей по девятую).

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

12.198. Дан двухмерный массив из 15 строк. Переставить в обратном порядке строки, расположенные между k-й и s-й строками (т.е. с (k + 1)-й по (s — 1)-ю). Значения k и s вводятся с клавиатуры,k < s.

12.199. Дан двухмерный массив из 20 столбцов. Переставить в обратном порядке столбцы, расположенные между k-м и s-м столбцами (т.е. с (k+ 1)-го по (s — 1)-й). Значения k и s вводятся с клавиатуры, k < s.

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

12.201. Поменять местами второй столбец и столбец, в котором находится последний элемент, больший 100. Принять, что элементы, большие 100, в массиве есть, и что массив просматривается слева направо и сверху вниз.

Удаление и вставка без перестановки

Удаление

В задачах 12.202 — 12.210 под удалением строки двухмерного массива следует понимать:

а) исключение этой строки из массива путем смещения всех следующих за ней строк на одну вверх;

б) присваивание всем элементам последней строки значения 0, а под удалением столбца:

а) исключение этого столбца из массива путем смещения всех следующих за ним столбцов на один влево;

б) присваивание всем элементам последнего столбца значения 0.

12.202. В двухмерном массиве хранятся результаты (время в минутах), показанные каждым из 12 автогонщиков на каждом из 10 этапов соревнований "Формула-1" (в первой строке — результаты первого гонщика, во второй — второго и т.д.). После десятого этапа гонщик с порядковым номером 4 выбыл из соревнований. Изменить массив так, чтобы в нем не было результатов выбывшего гонщика.

12.203. В двухмерном массиве хранятся результаты (время в минутах), показанные каждым из 16 велогонщиков на каждом из 12 этапов соревнований (в первом столбце — результаты первого этапа, во втором — второго и т.д.), Судейской коллегией результаты пятого этапа были признаны недействительными. Изменить массив так, чтобы в нем не было результатов этого этапа.

12.204. Дан двухмерный массив.

а) Удалить из него k-ю строку.

б) Удалить из него s-й столбец.

12. 205. Дан двухмерный массив.

а) удалить из него первую из строк, сумма элементов которых не превышает заданное число.

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

12.206. Дан двухмерный массив. Удалить из него;

а) две строки, одна из которых расположена перед s1-й строкой, а вторая — перед s2-й;

б) два столбца, один из которых расположен после k1-го столбца, а второй — перед k1-м столбцом.

12.207. Дан двухмерный массив. удалить из него:

а) все строки с n1-йпо n2-ю (n1 < n2);

б) все столбцы с s1-го по s2-й (s1 < s2).

12.208. Дан двухмерный массив. Удалить из него:

а) все строки с четными номерами. На сколько уменьшится количество строк?

б) все столбцы, номер которых кратен трем. На сколько уменьшится количество столбцов?

12.209. Дан двухмерный массив целых чисел. Удалить из него:

а) все строки, количество нечетных элементов которых равно заданному числу;

б) удалить все столбцы, сумма элементов которых больше заданного числа.

12.210. Дан двухмерный массив. Удалить строку и столбец, на пересечении которых расположен наименьший по модулю элемент массива.

Вставка

В задачах 12.211 — 12.229 под вставкой в двухмерный массив заданной строки после строки с номером k следует понимать:

а) увеличение числа строк массива на 1; б) смещение всех строк после k-й на одну вниз;

в) присваивание заданных значений элементам k-й строки, а под вставкой заданного столбца после столбца с номером s:

а) увеличение числа столбцов массива на 1;

б) смещение всех столбцов после s-го на один вправо;

в) присваивание заданных значений элементам s-го столбца.

12.211. Дан двухмерный массив. Вставить в него:

а) строку из чисел 100 после строки с номером s;

6) столбец из нулей перед столбцом с номером k.

12.212. Дан двухмерный массив. Вставить в него:

а) строку из заданной последовательности чисел перед строкой с номером s;

6) столбец из заданной последовательности чисел после столбца с номером k.

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

12.213. Дан двухмерный массив. Вставить в него:

а) строку из нулей после первой из строк, количество нулей в которой равно заданному числу;

б) столбец из чисел 10 после первого из столбцов, у

которых сумма элементов не превышает заданное число.

12.214. Дан двухмерный массив. Вставить в него:

а) две строки из нулей: одну перед s1-й строкой, вторую — перед s2-й строкой;

б) два столбца из чисел 1: один после k1-го столбца, второй — перед k1-м столбцом.

12.215. Дан двухмерный массив. Вставить в него:

а) две строки с заданными значениями элементов: первую после строки с номером s, вторую — перед ней;

б) два столбца с заданными значениями элементов: первый перед столбцом с номером k, второй — после него.

В обеих задачах значения элементов вставляемых строк вводятся с клавиатуры и в дополнительный массив записываться не должны.

12.216. Дан двухмерный массив из 15 строк. Вставить в него строку из нулей после всех строк, номер которых кратен трем.

12.217. Дан двухмерный массив из 20 столбцов. Вставить в него столбец из чисел 10 после всех четных столбцов.

12.218. Дан двухмерный массив целых чисел. Вставить в него:

а) строку из чисел 100 после каждой строки, сумма элементов которой больше заданного числа;

б) столбец из чисел —1 перед каждым столбцом, количество четных элементов которого больше заданного числа.

12.219. Дан двухмерный массив целых чисел, Вставить в него:

а) строку из нулей между всеми строками, в которых количество положительных элементов равно количеству отрицательных:

б) столбец из чисел 10 между всеми столбцами, в которых количество положительных элементов больше количества отрицательных.

12.220. В двухмерный массив записали годовые оценки по десяти предметам за 9-й класс каждого из 25 учеников класса (в первой строке — оценки первого ученика, во второй — второго и т.д.). В начале нового учебного года в класс пришел новый ученик. Изменить массив так, чтобы в нем были оценки за 9-й класс и нового ученика, учитывая, что этот ученик в списке должен быть на s-м месте. Оценки нового ученика вводятся с клавиатуры и в дополнительный массив записываться не должны.

12.221. В двухмерный массив должны были записать оценки каждого из 23 учеников класса по двенадцати предметам (в первом столбце — по первому предмету, во втором — по второму и т.д.), но по ошибке забыли вписать в массив оценки еще по одному предмету, который должен быть в перечне в s-м столбце. Изменить массив так, чтобы он был заполнен надлежащим образом. Оценки по новому предмету вводятся с клавиатуры и в дополнительный массив записываться не должны.

Вставки с перестановкой

12.222. Дан двухмерный массив.

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

6) Переставить первый столбец на место последнего. При этом второй, третий, .., последний столбцы сместить влево.

в) Переставить s-ю строку на место k-й (s < k). При этом (s + 1)-ю, (s + 2)-ю, ..., k-ю строки поднять.

г) Переставить а-й столбец на место b-го (а < b). При этом (а + 1)-й, (а + 2)-й, ..., b-й столбцы сместить влево.

12.223. Дан двухмерный массив.

а) Переставить последнюю строку на место первой. При этом первую, вторую, ..., предпоследнюю строки сместить вниз.

6) Переставить последний столбец на место первого.

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

в) Переставить S-ю строку на место k-й (S > k). При этом k-ю, (k + 1)-ю, ..., (s — 1)-ю строки сместить вниз.

г) Переставить а-й столбец на место b то (а > b). При этом b-й, (b + 1)-й, ..., (а — 1)-й столбцы сместить вправо.

12.224. Дан двухмерный массив из 20 строк. Перенести первые k строк в конец массива, соблюдая порядок их следования.

12.225. Дан двухмерный массив из 24 столбцов. Перенести первые s столбцов в конец массива, соблюдая порядок их следования.

12.226. Дан двухмерный массив из 12 строк. Переставить строки так, чтобы они располагались следующим образом: первая, двенадцатая. вторая, одиннадцатая, ..., пятая, восьмая, шестая, седьмая.

12.227. Дан двухмерный массив из 18 столбцов. Переставить столицы так, чтобы они располагались следующим образом: первый, восемнадцатый, второй, семнадцатый, ..., восьмой, одиннадцатый, девятый, десятый.

Разное

12.228. Дан двухмерный массив. Определить количество различных элементов в нем.

12.229. В двухмерном массиве имеются только два одинаковых элемента. Найти их.

Двухмерные массивы символов

В задачах 12.230 — 12.245 рассматриваются двухмерные массивы, элементами которых являются символы.

Вывод

12.230. Напечатать строку, образованную символами, расположенными в четырех углах массива (в любом порядке) .

12.231. Составить программу, которая печатает слово, образованное несколькими идущими подряд символами с заданными номерами, расположенными в некоторой строке массива.

12.232. Дан двухмерный массив размером 5 * 5, заполненный буквами. Напечатать слово, образованное элементами массива, отмеченными звездочкой (*), при прочтении их:

а) слева направо в каждой строке, начиная с первой;

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

*   *   *
  *   *  
*   *   *
  *   *  
*   *   *

12.233. Напечатать слова, образованные четными элементами каждой строки массива.

12.234. Напечатать слова, образованные нечетными элементами каждого столбца массива.

Разное

12.235. В каждой строке массива найти количество букв "е", расположенных справа от буквы "н".

12.236. Выяснить, есть ли в массиве строки, в которых буква "а" расположена справа от буквы "д".

12.237. Найти количество строк массива, в которых имеется ровно три буквы "о".

12.238. Вывести слова, образованные символами каждой из строк массива, в которой имеются ровно четыре буквы "и".

12.239. Определить максимальное количество пробелов в строках массива.

12.240. Определить, сколько строк массива имеют максимальное число пробелов.

12.241. Одинаковые ли строки массива с номерами s1и s2

12.242. Найти:

а) номер первой по порядку строки массива, содержащей наибольшее число цифр;

б) номер первого по порядку столбца массива, содержащего наибольшее число пробелов;

в) номер последней по порядку строки массива, содержащей наибольшее количество букв "ш" и "щ".

12.243. Шахматную доску будем представлять в виде квадратного символьного массива размером 8 х 8. Заполнить массив таким образом, чтобы элементы массива, соответствующие черным полям, имели значение х . Левое нижнее поле на шахматной доске всегда черное.

12.244. Шахматную доску будем представлять в виде квадратного символьного массива размером 8 х 8. Даны натуральные числа v и g (1 Из двухмерного в одномерный и наоборот - student2.ru v Из двухмерного в одномерный и наоборот - student2.ru 8, 1 Из двухмерного в одномерный и наоборот - student2.ru g Из двухмерного в одномерный и наоборот - student2.ru 8), указывающие номера вертикали и горизонтали для поля, на котором стоит шахматная фигура. Необходимо поля, находящиеся под угрозой данной фигуры, положить равными символу *, а остальные — символу 0 . Рассмотреть случаи, когда заданная фигура:

а) ладья;

в) ферзь;

б) слон;

г) конь.

Элемент массива, соответствующий местоположению заданной фигуры, положить равным первому символу названия фигуры (соответственно л, с, ф, к ).

12.245. Шахматную доску будем представлять в виде квадратного символьного массива размером 8 х 8. Даны натуральные числа v1 и g1 указывающие номера вертикали (при счете слева направо) и горизонтали (при счете снизу вверх) для поля, на котором стоит белая шахматная фигура, и числа v2 и g2 — указывающие соответствующие координаты второй, черной, фигуры (1 Из двухмерного в одномерный и наоборот - student2.ru v1 Из двухмерного в одномерный и наоборот - student2.ru 8, 1 Из двухмерного в одномерный и наоборот - student2.ru g1 Из двухмерного в одномерный и наоборот - student2.ru 8, 1 Из двухмерного в одномерный и наоборот - student2.ru v2 Из двухмерного в одномерный и наоборот - student2.ru 8, 1 Из двухмерного в одномерный и наоборот - student2.ru g2 Из двухмерного в одномерный и наоборот - student2.ru 8). Определить поля (отметить их символом + ), на которые может пойти первая фигура, не попав под удар второй фигуры. Рассмотреть следующие варианты сочетаний первой и второй фигур:

а) ладья и ладья;

б) ладья и ферзь;

в) ладья и конь;

г) ладья и слон;

д) ферзь и ферзь;

е) ферзь и ладья;

ж) ферзь и конь;

з) ферзь и слон;

и) конь и конь;

к) конь и ладья;

л) конь и ферзь;

м) конь и слон;

н) слон и слон;

о) слон и ферзь;

п) слон и конь;

р) слон и ладья;

с) король' и слон;

т) король и ферзь;

у) король и конь;

ф) король и ладья.


Наши рекомендации