Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL, YURIY  
Сравнение неизвестного кол-ва переменных
MicroCipДата: Чт, 25 Августа 2011, 11:42 | Сообщение # 1
Участник
Возникла такая трабла: нужно сравнить неизвестное количество переменных.
Т.д. Есть массив переменных: [stat_dans[x]]
[x] - может быть равен как 3, так и 500.
[stat_dans] - равен числу, также неизвестному.
Так вот, нужно вытащить из этих переменных наибольшее [stat_dans]
------------------------------------------------------------------------------------------------
Ну, опишу ситацию подробнее, проводится опрос, допустим, человек выбирает, где бы он хотел отдыхать, например, Турция.
Жмет кнопку, идет проверка существования файла.
Если файл существует:
Читается 1 строка в файле, к полченным данным прибавляется +1, и обратно записывается в тот же файл
Если файла нету:
В 1 строку файла Турция.txt записывается значение 1
Конец...
Ну, думаю, вы суть поняли, как будет проверятся статистика, читается каждый файл, и файл, содержимое которого больше, чем у других (например, Египет.txt с содержимым 509) выводится в определенную переменную


В каждом человеке солнце. Только дайте ему светить.(с)Сократ

Сообщение отредактировано
MicroCip - Чт, 25 Августа 2011, 11:56
 
СообщениеВозникла такая трабла: нужно сравнить неизвестное количество переменных.
Т.д. Есть массив переменных: [stat_dans[x]]
[x] - может быть равен как 3, так и 500.
[stat_dans] - равен числу, также неизвестному.
Так вот, нужно вытащить из этих переменных наибольшее [stat_dans]
------------------------------------------------------------------------------------------------
Ну, опишу ситацию подробнее, проводится опрос, допустим, человек выбирает, где бы он хотел отдыхать, например, Турция.
Жмет кнопку, идет проверка существования файла.
Если файл существует:
Читается 1 строка в файле, к полченным данным прибавляется +1, и обратно записывается в тот же файл
Если файла нету:
В 1 строку файла Турция.txt записывается значение 1
Конец...
Ну, думаю, вы суть поняли, как будет проверятся статистика, читается каждый файл, и файл, содержимое которого больше, чем у других (например, Египет.txt с содержимым 509) выводится в определенную переменную

Автор - MicroCip
Дата добавления - 25 Августа 2011 в 11:42
Format-X22Дата: Чт, 25 Августа 2011, 12:05 | Сообщение # 2
Участник
Да это же классика.
Создаем переменную [stat_dans_tmp] = 0.
Сравниваем её с первым элементом массива (видимо [stat_dans1]).
Если [stat_dans[x]] > [stat_dans_tmp], то присваиваем [stat_dans_tmp] значение переменной [stat_dans[x]], иначе - не делаем ничего. Прибавляем [x]+1 и прокручиваем ещё раз и до тех пор, пока [x] не примет максимальное значение. В итоге в [stat_dans_tmp] окажется максимальное.
А вообще это способ для любого языка.
Код писать не буду, думаю и сам догадаешься, простая конструкция.

P.S. Если вдруг возникнет вопрос как же определить кол-во элементов в массиве - читай справку, там это команда есть.


Мой сайт - http://фирмы.онлайн
 
СообщениеДа это же классика.
Создаем переменную [stat_dans_tmp] = 0.
Сравниваем её с первым элементом массива (видимо [stat_dans1]).
Если [stat_dans[x]] > [stat_dans_tmp], то присваиваем [stat_dans_tmp] значение переменной [stat_dans[x]], иначе - не делаем ничего. Прибавляем [x]+1 и прокручиваем ещё раз и до тех пор, пока [x] не примет максимальное значение. В итоге в [stat_dans_tmp] окажется максимальное.
А вообще это способ для любого языка.
Код писать не буду, думаю и сам догадаешься, простая конструкция.

P.S. Если вдруг возникнет вопрос как же определить кол-во элементов в массиве - читай справку, там это команда есть.

Автор - Format-X22
Дата добавления - 25 Августа 2011 в 12:05
GorezcaidДата: Чт, 25 Августа 2011, 12:09 | Сообщение # 3
Ветеран форума
Вот пример:
Code
.Заполняем массив случайными числами (для примера)
Loop "3" "500" "[x]"
    Random "10000" "[stat_dans[x]]"
EndLoop
.================
SetVar "[max]" "-1"
Loop "3" "500" "[x]"
    If "[max]" "<" "[stat_dans[x]]"
       SetVar "[max]" "[stat_dans[x]]"
    Else
    EndIf
EndLoop
.вывод результата:
If "[max]" "<>" "-1"
    AlertBox "Вывод" "Max = [max]"
Else
    AlertBox "Ошибка" "Ошибка"
EndIf


Win7 Pro SP1 x64; NBv5.5.4rus,v5.6.2rus, v5.7.0en, Opera
 
СообщениеВот пример:
Code
.Заполняем массив случайными числами (для примера)
Loop "3" "500" "[x]"
    Random "10000" "[stat_dans[x]]"
EndLoop
.================
SetVar "[max]" "-1"
Loop "3" "500" "[x]"
    If "[max]" "<" "[stat_dans[x]]"
       SetVar "[max]" "[stat_dans[x]]"
    Else
    EndIf
EndLoop
.вывод результата:
If "[max]" "<>" "-1"
    AlertBox "Вывод" "Max = [max]"
Else
    AlertBox "Ошибка" "Ошибка"
EndIf

Автор - Gorezcaid
Дата добавления - 25 Августа 2011 в 12:09
MicroCipДата: Чт, 25 Августа 2011, 12:18 | Сообщение # 4
Участник
Quote (Format-X22)
Да это же классика.

Большое спасибо...


В каждом человеке солнце. Только дайте ему светить.(с)Сократ
 
Сообщение
Quote (Format-X22)
Да это же классика.

Большое спасибо...

Автор - MicroCip
Дата добавления - 25 Августа 2011 в 12:18
СергейДата: Чт, 25 Августа 2011, 13:34 | Сообщение # 5
Необукер
можно сделать через ListBox
В свойствах ListBox поставить галку "Сортировать по алфавиту (Sort alphabetically)"
Можно и не ставить, а сделать программно (ListBoxSort "ListBox1" "True")
Quote
ListBoxSize "ListBox1" "[saiz]"
.Максимальное число
ListBoxGetItem "ListBox1" "[saiz]" "[max]"
.Минимальное
ListBoxGetItem "ListBox1" "1" "[min]"


Сообщение отредактировано
Сергей - Чт, 25 Августа 2011, 13:39
 
Сообщениеможно сделать через ListBox
В свойствах ListBox поставить галку "Сортировать по алфавиту (Sort alphabetically)"
Можно и не ставить, а сделать программно (ListBoxSort "ListBox1" "True")
Quote
ListBoxSize "ListBox1" "[saiz]"
.Максимальное число
ListBoxGetItem "ListBox1" "[saiz]" "[max]"
.Минимальное
ListBoxGetItem "ListBox1" "1" "[min]"

Автор - Сергей
Дата добавления - 25 Августа 2011 в 13:34
  • Страница 1 из 1
  • 1
Поиск: