Добрый вечер! помогите мне пожалуйста, укажите на ошибку..
составляю программу по условию: отсортировать по убыванию элементы массива, удовлетворяющие условию a_i<5 методом выбора\на Visual Basic 2010
программа
Public Class Form1
Dim i, j, n, k, c, m, d, g, A(100), B(100) As Integer
Dim f As Object
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
DataGridView1.ColumnCount() = 0
n = TextBox3.Text
DataGridView1.Columns.Add("Колонка", 0)
For Me.i = 1 To n 'столбец'
DataGridView1.Columns.Add("Колонка", i)
DataGridView1.Columns(i).Width=50px;
Next i
For Me.i = 0 To 1 'строка'
DataGridView1.Rows.Add()
Next i
DataGridView1.Rows(0).Cells(0).Value = "Исх. Массив"
DataGridView1.Rows(1).Cells(0).Value = "Нов. Массив"
DataGridView1.Rows(2).Cells(0).Value = "Сор. Массив"
Randomize()
For Me.i = 1 To n
A(i) = Int(Rnd() * 40 - 20)
DataGridView1.Rows(0).Cells(i).Value = A(i)
Next i
k = 0
For Me.i = 1 To n
If A(i) < 5 Then
k = k + 1
B(k) = A(i)
DataGridView1.Rows(1).Cells(c).Value = B(k)
End If
Next i
For Me.i = 1 To m - 1
d = i
For Me.j = 1 To i + 1 To m
If c(j) > c(d) Then
d = j
End If
Next j
Next i
For Me.i = 1 To m
DataGridView1.Rows(2).Cells(i).Value = B(i)
Next i
End Sub
End Classв той области где я выделила
@темы:
Программирование (тема закрыта
===============
Может я не внимательно всмотрелся в текст программы, то где определение переменной `m`, которая фигурирует в последних циклах...
For Me.i = 1 To m - 1
d = i
For Me.j = 1 To i + 1 To m
вот здесь вот выдает ошибку
For Me.i = 1 To m - 1
d = i
For Me.j = 1 To i + 1 To m
If c(j) > c(d) Then
d = j
End If
Next j
Next i
скрин мелковат... но там я всё равно не увидел, что переменной `m` присваивается какое-то значение...
Два То это как?
используеся ли он в 2010?
К сожалению, вопрос не по адресу... таких подробностей VB я не знаю...
Dim i, j, n, k, m, d As Integer
Dim A(0 To 100) As Integer
Dim B(0 To 100) As Integer
Dim c As Object
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
DataGridView1.ColumnCount() = 0
n = TextBox3.Text
DataGridView1.Columns.Add("Колонка", 0)
For Me.i = 1 To n 'столбец'
DataGridView1.Columns.Add("Колонка", i)
DataGridView1.Columns(i).Width = 50
Next i
For Me.i = 0 To 1 'строка'
DataGridView1.Rows.Add()
Next i
DataGridView1.Rows(0).Cells(0).Value = "Исх. Массив"
DataGridView1.Rows(1).Cells(0).Value = "Нов. Массив"
DataGridView1.Rows(2).Cells(0).Value = "Сор. Массив"
Randomize()
For Me.i = 1 To n
A(i) = Int(Rnd() * 40 - 20)
DataGridView1.Rows(0).Cells(i).Value = A(i)
Next i
k = 0
For Me.i = 1 To n
If A(i) < 5 Then
k = k + 1
B(k) = A(i)
DataGridView1.Rows(1).Cells(k).Value = B(k)
End If
Next i
For Me.i = 1 To m - 1
d = i
For Me.j = i + 1 To m
If c(d) < c(j) Then
End If
Next j
Next i
For Me.i = 1 To m
DataGridView1.Rows(2).Cells(i).Value = c(i)
Next i
End Sub
только вот сортировку не делает по убыванию
For Me.j = i + 1 To m
If c(d) < c(j) Then
End If
Странный кусок программы... напрашивается какое-то переобозначение величин после THEN ...
мне кажется, что элементы массива должны тоже преобразовываться...
Public Class Form1
Dim i, j, h, t, u, n, k, c, e, A(100), B(100) As Integer
Dim f As Object
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
DataGridView1.ColumnCount() = 0
t = TextBox3.Text
DataGridView1.Columns.Add("Колонка", 0)
For Me.i = 1 To t 'столбец'
DataGridView1.Columns.Add("Колонка", i)
DataGridView1.Columns(i).Width = 50
Next i
For Me.i = 0 To 1 'строка'
DataGridView1.Rows.Add()
Next i
DataGridView1.Rows(0).Cells(0).Value = "Исх. Массив"
DataGridView1.Rows(1).Cells(0).Value = "Нов. Массив"
DataGridView1.Rows(2).Cells(0).Value = "Сор. Массив"
Randomize()
For Me.i = 1 To t
A(i) = Int(Rnd() * 40 - 20)
DataGridView1.Rows(0).Cells(i).Value = A(i)
Next i
c = 0
For Me.i = 1 To t
If A(i) < 5 Then
c = c + 1
B(c) = A(i)
DataGridView1.Rows(1).Cells(c).Value = B(c)
End If
Next i
For Me.j = 1 To c
For Me.i = 1 To c - j
If B(i) < B(i + 1) Then
k = B(i)
B(i) = B(i + 1)
B(i + 1) = k
End If
Next i
Next j
For Me.i = 1 To c
DataGridView1.Rows(2).Cells(i).Value = B(i)
Next i
End Sub
только это обмен или выбор?? не подскажете?
Я не владею такой терминологией...