«..существует на свете нечто, к чему нужно стремиться всегда и что иногда даётся в руки, и это нечто - человеческая нежность» (с) Альбер Камю
Помогите,пожалуйста, с информатикой. (11 класс)
Нам дана матрица A и вектор строка C.
Мы вводим значение k - номер строки в матрице A.
Нам нужно вставить вектор строку С на место строки k, а все строки,начиная с k,нужно сдвинуть на одну позицию вниз. То есть в новой матрице получится на одну строчку больше, чем в исходной.
Вот мой неработающий код:
вроде строка С включается, но после неё идут не сдвинутые строки, а продублированная предыдущая...
помогите!! до сегодняшнего вечера
заранее спасибо)
Нам дана матрица A и вектор строка C.
Мы вводим значение k - номер строки в матрице A.
Нам нужно вставить вектор строку С на место строки k, а все строки,начиная с k,нужно сдвинуть на одну позицию вниз. То есть в новой матрице получится на одну строчку больше, чем в исходной.
Вот мой неработающий код:
вроде строка С включается, но после неё идут не сдвинутые строки, а продублированная предыдущая...
помогите!! до сегодняшнего вечера
заранее спасибо)
-
-
19.11.2007 в 20:41ошибка вот в этом цикле:
For i = k To 11
For j = 1 To 10
A(i, j) = A(i - 1, j)
Next j
Next i
Подумай, как он работает.
В строку с номером i записывается строка с номером i-1.
Сдвигается счетчик, и в строку со следующим номером — i+1 — записывается строка с номером i, в которой уже сидит строка с номером i-1. ))) И т.д.
В итоге до конца записывается одна и та же строка.
Тут надо начинать с конца:
For i = 0 To k-1
For j = 1 To 10
A(11-i, j) = A(10-i, j)
Next j
Next i
попробуй так!
Я код не тестировала, но надеюсь, тут нет ошибки.
-
-
19.11.2007 в 21:45-
-
19.11.2007 в 21:58-
-
19.11.2007 в 21:59вот правильный цикл:
For i = 0 To (10 - k)
For j = 1 To 10
A(11 - i, j) = A(10 - i, j)
Next j
Next i
-
-
19.11.2007 в 22:39спасибо тебе большое!!))
большое, пребольшое!!))))
-
-
19.11.2007 в 22:40