Вот задача) Объявить переменную - матрицу целых чисел и инициализировать ее случайными (можно использовать системный генератор случайных чисел) значениями (т.е. не вручную).
Рекомендуетсяпредусмотреть возможность установки N & M в качестве констант и автоматически инициализировать матрицу в цикле.
Поменять значения строк в четных позициях на значения строк в нечетных позициях.
Как и впредыдущее задание, вы должны использовать собственное («ручное») решение.
Работа с матрицами должна выполняться не как работа с векторами, а как работа с двойным / вложенным индексом
Например: Что мы получили:
[0, 1, 2, 3]
[4, 5, 6, 7]
[8, 9, 0,1]
[2, 3, 4, 5]
Что мне нужно:
[4, 5, 6, 7]
[0, 1, 2, 3]
[2, 3, 4, 5]
[8, 9, 0, 1]
Я пробовал это
var table: [[Int]] = []
var A: Int
var B: Int
var newTable: [[Int]] = []
var arrChet : [[Int]] = []
var arrNechet: [[Int]] = []
func createMatrix (A: Int, B: Int) -> [[Int]] {
for i in 1...A {
var subArray = [Int]()
for j in 1...B {
subArray.append(i * j * 2)
}
table.append(subArray)
}
return table
}
table = createMatrix(A: 4, B: 5)
print("generated table:")
for row in table {
print (row)
}
for (index, _) in table.enumerated() {
if (index+1) % 2 == 0 {
arrNechet.append(table[index])
} else {
arrChet.append(table[index])
}
}
for i in 0..<arrNechet.count {
newTable.append(arrNechet[i])
if arrChet.count > i {
newTable.append(arrChet[i])
}
}
print("\n new table: ")
for row in newTable {
print (row)
}
Вот ответ на мое решение:
«Нарушение требования: Работа с матрицами должна выполняться не как работа с векторами, а как работа с двойным / вложенным индексом.
Кроме того, реализация крайне неэффективна, не использует двойной индекс, то есть двойные квадратные скобки."
Пожалуйста, помогите))