Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Массивы. Не могу найти ошибку 
:(
    Опции темы
ndec
  Дата 12.2.2007, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 3.2.2007

Репутация: нет
Всего: нет



Код

Option Explicit
Dim bytI, bytN, bytJ, bytK, bytR, bytMin, bytA(1 To 10) As Byte
Sub MinElement(bytI, bytN As Byte)
bytMin = bytA(bytI)
bytN = bytI
For bytJ = bytI + 1 To 10
If bytA(bytJ) < bytMin Then
bytMin = bytA(bytJ): bytN = bytJ
Next bytJ
End Sub

Private Sub cmdDim_Click()
Randomize
For bytI = 1 To 10
bytA(bytI) = Int(Rnd * 10)
txtDim.Text = txtDim.Text + Str(bytA(bytI))
Next bytI
End Sub

Private Sub cmdMin_Click()
bytMin = bytA(1)
bytN = 1
For bytI = 2 To 10
If bytA(bytI) < bytMin Then bytMin = bytA(bytI): bytN = bytI
Next bytI
Print "Минимальный элемент "; bytMin; "его индекс"; bytN
End Sub

[color=orange]Private Sub cmdSort_Click()[/color]
txtSort.Text = ""
For bytI = 1 To 9
Call MinElement(bytI, bytN)
bytR = bytA(bytI)
bytA(bytI) = bytA(bytN)
bytA(bytN) = bytR
For bytK = 1 To 10
txtSort.Text = txtSort.Text + Str(bytA(bytK))
Next bytK
Next bytI
End Sub


Ребят, вот весь код программы, при сортировке чисел (cmdSort_Click) происходит ошибка и указывает на переменную bytN (Compile error: ByRef argument type mismath). Как я понимаю, нужно присвоить тип перемнной, но и тут возникает ошибка, пишет: Excpected: list separator or ). Подскажите, что нужно сделать, для нормальной сортировки символов в массиве?

Спасибо заранее.
PM MAIL   Вверх
Kirill89
Дата 13.2.2007, 01:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 17.10.2006
Где: Питер

Репутация: 3
Всего: 4



Мне так кажется, что у тебя не сдесь ошибка. Ты хотел все переменные типа Byte создать?
Если да то надо так:
Код

Dim bytI As Byte, bytN As Byte, bytJ As Byte, bytK As Byte, bytR As Byte, bytMin As Byte, bytA(1 To 10) As Byte

Иначе у тебя остальные переменные типа variant.
Я так дописал, и он мне начал абсолютно другую ошибку выдавать... Думай дальше.

Кстати если я тебя неправилно понял, то всё-равно, не имей привычки создавать переменные без их описания... лучше написать dim a as variant, чем dim a.
Код становится намного читабилнее.

Это сообщение отредактировал(а) Kirill89 - 13.2.2007, 01:16


--------------------
PM MAIL WWW   Вверх
Akina
Дата 13.2.2007, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(Kirill89 @  13.2.2007,  02:13 Найти цитируемый пост)
Ты хотел все переменные типа Byte создать?
Если да то надо так:

ТО же касается объявления типов в заголовках функций.

Добавлено @ 11:56 
Цитата(Kirill89 @  13.2.2007,  02:13 Найти цитируемый пост)
не имей привычки создавать переменные без их описания... лучше написать dim a as variant, чем dim a.

аналогично дурным тоном счиается объявление в одной строке нескольких переменных (за исключением совершенно однотипных по назначению, если все они могут быть описаны одним КОММЕНТАРИЕМ), а равно отсутствие комментариев. И по коду, и по объявлению.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Кирилл
Дата 13.2.2007, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 7.11.2006
Где: Воронеж

Репутация: 1
Всего: 1



По-мойму Kirill89 прав. 
Могу даже предположить в каком месте это сказывается - в 32-й строке ты вызываешь процедуру и в качестве параметров ставишь Variant... Несовпадение типов...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0453 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.