Loading...
DHristoskov avatar DHristoskov 211 Точки

[Challenge][Intermediate] Matrix rotation [week#2]

Задача номер две за тази седмица, която е по-трудна и доста по-интересна аз лично доста си блъсках главата докато се сетя за решението. Видях я в един форум без да променям условието я споделям с вас.

За коментари, съвети и критика към идеята за [Challenge] задачи можете да пишете тук.

Задача: По зададено N в двумерен масив NxN, измислете начин да въртите матрицата по следния начин:

Вход : N = 3

 

1   2   3

4   5   6

7   8   9

 

Завъртане на 90 градуса:

7   4   1

8   5   2

9   6   3

 

И още веднъж на 90 градуса:

9   8   7

6   5   4

3   2   1

 

Успех на всички!

 

Тагове:
7
Programming Basics 14/04/2015 10:04:05
brslv avatar brslv 69 Точки

Доколкото помня от първата тема, можем да използваме всякакви езици? :) Ето две бързи решения от мен на PHP. Алгоритмично идентични, но едното е по-процедурно, другото с обект.

И докато не съм забравил, поздрави на автора. Супер начинание! :)

Процедурно решение с PHP

ООП Решение с PHP

1
RoYaL avatar RoYaL Trainer 6849 Точки

Е като ще е ООП, да е ООП. Направи и структурите от данни обектно ориентирани. Може да тръгнеш от тук http://php.net/manual/en/class.arrayiterator.php

 

3
14/04/2015 04:03:26
brslv avatar brslv 69 Точки

Заинтригува ме с ArrayIterator-a. :) Като цяло итераторите все още са ми мъгла. В java ги опитвах, но нещо не ме изкефиха. Тук се поразтърсих и ми стана интересно. Не съм сигурен колко е адектватно, това което ще пусна като решение, но все пак се постарах да използвам итератори при въртенето и принтирането...научих някои интересни неща за малкото време, което ми се отвори сутринта. И попаднах на това интересно видео. :)

Решение с ArrayIterator.

Поздрави.

 

 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.