0 / 0 / 0
Регистрация: 09.12.2015
Сообщений: 5
1

Что сделать, чтобы было ноль?

09.12.2015, 06:52. Показов 396. Ответов 8
Метки нет (Все метки)

Добрый день!Ребята, помогите, если сможете с решением.
Задана матрица Z(5,4). В каждой строке найти первый отрицательный элемент и заменить его произведением этого элемента на его номер в строке. Первоначальные значения запомнить в векторе.

Вот в этой строке ячейка умножается на номер строки:
z(i, j) = z(i, j) * j и в условии прописано , что в векторе 4 числа, а не 5 считалось.... но что-то малость не догоняю...
************************
Sub Кнопка1_Щелчок()
Dim z(1 To 5, 1 To 4) As Double
Dim a() As Double
Dim l As Double
Dim i, j, k, x As Integer
ReDim a(1 To 5)
For i = 1 To 5 Step 1
For j = 1 To 4 Step 1
z(i, j) = Cells(i, j).Value
Next j
Next i
For i = 1 To 5
k = 0
For j = 1 To 4
If (z(i, j) < 0) And (k = 0) Then
a(i) = z(i, j)
z(i, j) = z(i, j) * j
k = 1
End If
Next j
Next i
For i = 1 To 5
For j = 1 To 4
Cells(i, j) = z(i, j)
Next j
Next i
x = 1
l = 5
For j = 1 To 5
If a(j) = 0 Then
x = x + 1
'l = l + 1
' ReDim Preserve a(1 To l) As Double
End If
If x > 5 Then
l = l + 1
ReDim Preserve a(1 To l) As Double
End If
Cells(j, 7).Value = a(x)
x = x + 1
Next j
End Sub
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.12.2015, 06:52
Ответы с готовыми решениями:

Что нужно сделать, чтобы при обновлении DLL, не надо было бы обновлять reference к ней?
Доброе время суток! Есть у меня ActiveX DLL скомпилированная в Visual Basic 6.0. В References...

сделать так чтобы a было больше b
Private Sub CommandButton1_Click() If Val(s) = Val(TextBox1) Then n = n + 1 k = k + 1...

как сделать , чтобы программа запоминала что было раньше
Я делаю домино на QBasic и там я сделал перемещение фишки по &quot;столу&quot; таким образом , чтобы при...

Как сделать так чтобы если на ноль было деление не выодился Результат
var a,d,c:real; b:char; procedure kakulyator; begin case b of '+':d:=a+c; '-':d:=a-c;...

8
es geht mir gut
11493 / 4726 / 1181
Регистрация: 27.07.2011
Сообщений: 11,433
09.12.2015, 07:14 2
Цитата Сообщение от playerc Посмотреть сообщение
и в условии прописано , что в векторе 4 числа, а не 5 считалось.
Может Вы условие как-то неправильно поняли? В матрице 5 срок - значит в векторе будет 5 элементов.
И что Вы там намудрили после х=1 ?
0
0 / 0 / 0
Регистрация: 09.12.2015
Сообщений: 5
09.12.2015, 07:32  [ТС] 3
Внизу я точно ничего не менял...я в середине пробовал менять
If (z(i, j) < 0) And (k = 0) Then
a(i) = z(i, j)
z(i, j) = z(i, j) * j
, а вам выслал начальную версию без каких либо поправок...
0
es geht mir gut
11493 / 4726 / 1181
Регистрация: 27.07.2011
Сообщений: 11,433
09.12.2015, 07:48 4
Можно увидеть точное задание?
0
0 / 0 / 0
Регистрация: 09.12.2015
Сообщений: 5
09.12.2015, 07:55  [ТС] 5
В архиве с макросами файл. Из нижней таблицы числа копируем в верхнюю и нажимаем кнопку и справа в столбце (векторе) меняются числа, кроме последнего
Вложения
Тип файла: xlsx Книга1 (1).xlsx (14.4 Кб, 1 просмотров)
Тип файла: rar Книга1 (1).rar (15.9 Кб, 1 просмотров)
0
es geht mir gut
11493 / 4726 / 1181
Регистрация: 27.07.2011
Сообщений: 11,433
09.12.2015, 08:12 6
Книга1 (1).rar
0
0 / 0 / 0
Регистрация: 09.12.2015
Сообщений: 5
09.12.2015, 08:18  [ТС] 7
Спасибо вам большое, буду разбираться , чтобы понять. а я то пытался , чтобы вместо ноля вывелась цифра не ноль))))
0
es geht mir gut
11493 / 4726 / 1181
Регистрация: 27.07.2011
Сообщений: 11,433
09.12.2015, 08:27 8
Только обратите внимание, что номера элементов вектора на листе не соответствуют номерам строк матрицы, так как не во всех строках есть отрицательные элементы. То есть, допустим, 4-й элемент вектора - это бывший первый отрицательный пятой строки матрицы. Как-то так
0
0 / 0 / 0
Регистрация: 09.12.2015
Сообщений: 5
09.12.2015, 08:28  [ТС] 9
Хорошо, спасибо вам большое!))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2015, 08:28

Сделать, чтобы при попытке деления на ноль, выводилось сообщение: «Деление на ноль»
Создайте консольное приложение. В нем реализуйте нахождение значения выражения 1/(x+n), где n –...

Как сделать чтобы перерисовывалось то же что и было?
Помогите одарённому человеку, я ещё совсем новичок в винапи, поэтому не надо писать &quot;ТАм в паинте...

Нужно сделать чтобы при делении на ноль, выводило На ноль делить нельзя, введите другое число
Я сделал, на ноль то он не делит, но когда ввожу другие значение, то там тоже выводится Делить на...

Что нужно сделать, чтобы это было легально?
Господа, такая ситуация: У меня в дипломной проге в одном месте используется коммерческий...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru