Може ли помощ за две задачи на С++
Зад.1 - Спирала
Дадена е квадратна матрица А с n реда (1<=n<=20) от низове, съдържащи думи с максимална дължина 9. Да се напише програма, която намира и извежда на екрана изречението, получено след обхождане на А по спирала в посока по часовниковата стрелка, започвайки от горния ляв ъгъл.
Например: Ако таблицата А има вида показан по долу, изречението
след обхождане по спирала е: abcfjihde.
a b c
d e f
h i j
Зад.2 - Липи
Близо до селището Олимпийски надежди има гора от липи. Липите са разположени по редове и колони, във формата на правоъгълник, и са номерирани по следния начин:
0 1 2 3 4
9 8 7 6 5
10 11 12 13 14
19 18 17 16 15
Освен с номера си, всяка липа се описва и с координати на точката, в която се намира(номер на ред и номер на стълб). Например липа с номер 13 има координати (3, 4).
В последно време са се появили бракониери, които секат всеки ден по едно дърво с координати (x, y). За да спре безразборната сеч, началникът на горското стопанство предложил да се охранява дървото, което ще бъде отсечено (с координати (x, y)). Но охраната знае само номерата на липите, но не и техните координати.
Вие може да спасите липовата гора от изсичане като напишете програма limes.cpp, която намира номера на липовото дърво от ред x и колона y. От първия ред на стандартния вход се въвеждат четири цели числа n (брой на редовете в липовата гора), m (брой на колоните в липовата гора), x и y (координати на дървото, което ще бъде отсечено), разделени с по един интервал. Програмата трябва да намира и извежда номера на дървото, което трябва да бъде охранявано. (1 ≤ n, m ≤ 100; 1 ≤ x ≤ n; 1 ≤ y ≤ m)
Пример
Вход
5 2 3 1
Изход
4
Много ще съм благодарен за решенията, защото аз лично не мога да ги дореша.
Благодаря ти !
Преработих ги за С++, изпробвах ги и работят идеално.