Что нового

Как в массив занести числа от 1 до 100 ?

agikon

Знающий
Сообщения
789
Репутация
17
Подскажите пожалуйста как занести в массив числа от 1 до 100.
Имя массива $Array

То есть чтобы в каждый индекс массива не вписывать число ($Array[1] = 1 и т.д), а чтобы через "For... Next"

Чтобы получили результат:
Код:
$Array[1] = 1
$Array[2] = 2
...
$Array[100] = 100

а потом проверить через окно соответсвует ли индекс массива числу, например чтобы индекс 24, соответствовал числу 24.
Код:
MsgBox(64, 'значение $Array[24]', $Array[24] , '', '')
 

joiner

Модератор
Локальный модератор
Сообщения
3,570
Репутация
632
Код:
#include <array.au3>
Local $array[1]
For $i = 1 To 100
	_ArrayAdd($array,$i)
Next
_ArrayDisplay($array)
MsgBox(0,'',$array[24])
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
agikon,
Или так.
Код:
#include <Array.au3>

Global $aArray, $iEnd

$iEnd = Random(200, 500, 1)
ConsoleWrite('LastIndex = ' & $iEnd & @LF)
If _ArrayEnum($iEnd, $aArray) Then
	_ArrayDisplay($aArray, $iEnd)
Else
	ConsoleWrite('Error: LastIndex <= 0' & @LF)
EndIf

$iEnd = Random(-100, 100, 1)
ConsoleWrite('LastIndex = ' & $iEnd & @LF)
If _ArrayEnum($iEnd, $aArray) Then
	_ArrayDisplay($aArray, $iEnd)
Else
	ConsoleWrite('Error: LastIndex <= 0' & @LF)
EndIf
ConsoleWrite('LastIndex = 0' & @LF)
If _ArrayEnum(0, $aArray) Then
	_ArrayDisplay($aArray, $iEnd)
Else
	ConsoleWrite('Error: LastIndex <= 0' & @LF)
EndIf

Func _ArrayEnum($i_LastIndex, ByRef $a_Array)
	$i_LastIndex = Int($i_LastIndex)
	If $i_LastIndex <= 0 Then Return False
	If IsArray($a_Array) Then
		ReDim $a_Array[$i_LastIndex + 1]
	Else
		Dim $a_Array[$i_LastIndex + 1]
	EndIf
	For $i = 0 To $i_LastIndex
		$a_Array[$i] = $i
	Next
	Return True
EndFunc   ;==>_ArrayEnum
 

Dm666

Осваивающий
Сообщения
225
Репутация
48
А можно и вообще без udf
Код:
Local $Array[100]
For $i = 1 To UBound($Array) -1
    $Array[$i] = $i
Next
MsgBox(64, 'значение $Array[24]', $Array[24] , '', '')
 

joiner

Модератор
Локальный модератор
Сообщения
3,570
Репутация
632
вобщем то да, если это касается цифр.
в предыдущем сообщении тоже не используется библиотека. ну только что для показа массива :smile:
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
17
Спасибо за примеры.

а вот подскажите пожалуйста как присвоить каждому массиву от 1 до 100 рандомное число, например из диапазона 1000-2000, чтобы этот массив нёс смысловую нагрузку?
это уже надо делать двумерный массив?
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
17
madmasles [?]
например рандом в диапазоне числа от 1000 до 2000

вот так-то так, только это организовать через For Next.
Код:
$random = Random(1000, 2000, 1)
;$Array[1] сохранял $random
MsgBox(64, '1', $Array[1], 0, '')

$random = Random(1000, 2000, 1)
;$Array[2] сохранял $random
MsgBox(64, '2', $Array[2], 0, '')

$random = Random(1000, 2000, 1)
;$Array[100] сохранял $random
MsgBox(64, '3', $Array[100], 0, '')
 

InnI

AutoIT Гуру
Сообщения
4,982
Репутация
1,460
Код:
#include <Array.au3>

Global $Array[101] = [0]
For $i = 1 To 100
  $Array[$i] = Random(1000, 2000, 1)
Next
_ArrayDisplay($Array)
 
Верх