Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ошибка в программе / 10 сообщений из 10, страница 1 из 1
21.11.2015, 22:24
    #39109876
sanya001
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка в программе
Вообщем задача состоит в следующем:Напечатать строку, в которой расположен первый элемент матрицы D, равный ключу поиска t.
я пишу программу в visual basic 6.0
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Private Sub Command1_Click()
Dim m As Integer, n As Integer, i As Integer, j As Integer, d() As Integer, t As Integer, k As Integer
m = InputBox("ââåäèòå m")
n = InputBox("ââåäèòå n")
t = InputBox("Ââåäèòå çíà÷åíèå êëþ÷à ïîèñêà")
ReDim d(m, n)
For i = 1 To m
For j = 1 To n
d(i, j) = InputBox("d")
Print d(i, j);
Next
Next
flag = False
For i = 1 To m
If d(m, n) = t Then
flag = True
t = j
j = j + 1
Print "ñòðîêà:" & t
End If
Next
If flag = False Then
MsgBox "таких элементов нет"
End If
End Sub


но в итоге мне все равно выводится что таких элементов нет
прошу помогите пожалуйста
...
Рейтинг: 0 / 0
21.11.2015, 22:37
    #39109894
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка в программе
sanya001
Код: vbnet
1.
If d(m, n) = t Then

Вы сравниваете ключ поиска только с последним элементом массива.
...
Рейтинг: 0 / 0
21.11.2015, 22:46
    #39109903
sanya001
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка в программе
Казанский, исправил, теперь выводит просто строка и номер строки, например 4, а мне нужно чтобы выводил всю строку соответствующую ключу, тоесть t и элементы что идут за ним в строке
...
Рейтинг: 0 / 0
21.11.2015, 23:59
    #39109947
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка в программе
sanya001, в программе же есть кусок, который выводит весь массив - сделайте аналогично для строки.
...
Рейтинг: 0 / 0
22.11.2015, 00:01
    #39109951
sanya001
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка в программе
Казанский, простите, не понимаю как это сделать, не могли бы вы помочь?
...
Рейтинг: 0 / 0
22.11.2015, 01:34
    #39109973
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка в программе
sanya001Казанский, исправил, теперь выводит просто строка и номер строки...Выложите исправленный вариант, перед копированием переключите на русскую раскладку, чтобы нормально скопировалось.
...
Рейтинг: 0 / 0
22.11.2015, 02:55
    #39109984
sanya001
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка в программе
Казанский,

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Private Sub Command1_Click()
Dim m As Integer, n As Integer, d() As Integer, t As Integer, k As Integer
m = InputBox("введите m")
n = InputBox("введите n")
t = InputBox("введите ключ поиска t")
ReDim d(m, n)
For i = 1 To m
For j = 1 To n
d(i, j) = InputBox("d")
Print d(i, j);
Next
Next
flag = False
For i = 1 To m
If i = t Then
flag = True
t = j
j = j + 1
Print "строка" & t

End If
Next
If flag = False Then
MsgBox "'элементы соответствующие ключу отсутствуют"
End If
End Sub
...
Рейтинг: 0 / 0
23.11.2015, 01:18
    #39110527
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка в программе
sanya001
Код: vbnet
1.
2.
For i = 1 To m
If i = t Then

Вы сравниваете искомое значение с числами от 1 до m, а не с элементами массива. Еще раз: разберитесь с куском программы, где происходит ввод и печать элементов массива.
...
Рейтинг: 0 / 0
23.11.2015, 20:42
    #39111487
sanya001
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка в программе
Казанский, переделал программу, теперь удается печатать первый элемент строки соответствующий ключу, не можете подсказать как напечатать всю строку?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
Private Sub Command1_Click()
Dim m As Integer, n As Integer
Dim i As Integer, j As Integer
Dim d() As Single
Dim t As Integer
m = InputBox("введите m")
n = InputBox("введите n")
ReDim d(1 To m, 1 To n)
For i = 1 To m
For j = 1 To n
d(i, j) = InputBox("d=")
Next
Next
t = InputBox("введите значение ключа поиска t")
flag = False
For i = 1 To m
If d(i, 1) = t Then
flag = True
Print "строка" & d(i, 1)
End If
Next
If flag = False Then
MsgBox "элементов соответствующих ключу нет"
End If
For i = 1 To m
For j = 1 To n
Print d(i, j);
Next
Print
Next
End Sub
...
Рейтинг: 0 / 0
23.11.2015, 23:56
    #39111557
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка в программе
sanya001, можете просто давить Enter и наблюдать...

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
Private Sub Command1_Click()
Dim m As Integer, n As Integer, d() As Integer, t As Integer, k As Integer
Dim i As Integer, j As Integer
  Randomize
  m = InputBox("введите m", , 3)
  n = InputBox("введите n", , 3)
  t = InputBox("введите ключ поиска t", , Int(Rnd * 10))
  ReDim d(m, n)
  For i = 1 To m
    For j = 1 To n
      d(i, j) = InputBox("d", , Int(Rnd * 10))
    Print d(i, j);
    Next
    Print
  Next
  For i = 1 To m
    For j = 1 To n
      If d(i, j) = t Then
        Print "строка" & i
        For k = 1 To n
          Print d(i, k);
        Next
        Print: Print
        Exit Sub
      End If
    Next
  Next
  MsgBox "'элементы соответствующие ключу отсутствуют"
End Sub
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ошибка в программе / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]