In this task, the goal is to create an array. Mention if the array base begins at a number other than zero.

Task
Creating an Array
You are encouraged to solve this task according to the task description, using any language you may know.
This task is about numeric arrays. For hashes or associative arrays, please see Creating an Associative Array.

ActionScript

//  ActionScript arrays are zero-based
// 
//  creates an empty array
var arr1:Array = new Array();
//  creates an array with 3 numerical values
var arr2:Array = new Array(1,2,3);

Ada

Compiler: GCC 4.1.2

Ada array indices may begin at any value, not just 0 or 1

type Arr is array (Positive range <>) of Integer;
Uninitialized : Arr (1 .. 10);
Initialized_1 : Arr (1 .. 20) := (others => 1);
Initialized_2 : Arr := (1 .. 30 => 2);
Const         : constant Arr := (1 .. 10 => 1, 11 .. 20 => 2, 21 | 22 => 3);
Centered      : Arr (-50..50) := (0 => 1, Others => 0);

Ada arrays may be indexed by enumerated types, which are discrete non-numeric types

type Days is (Mon, Tue, Wed, Thu, Fri, Sat, Sun);
type Activities is (Work, Fish);
type Daily_Activities is array(Days) of Activities;
This_Week : Daily_Activities := (Mon..Fri => Work, Others => Fish);

AppleScript

AppleScript supports "arrays" as "lists," and they are not limited by a single type.

set array1 to {}
set array2 to {1, 2, 3, 4, "hello", "world"}

BASIC

Interpeter: QuickBasic 4.5, PB 7.1

' $DYNAMIC
DIM SHARED myArray(-10 TO 10, 10 TO 30) AS STRING
REDIM SHARED myArray(20, 20) AS STRING
myArray(1,1) = "Item1"
myArray(1,2) = "Item2"

C

Compiler: GCC, MSVC, BCC, Watcom

Libraries: Standard

 /* Dynamic */
 #include <stdlib.h> /* for malloc */
 #include <string.h> /* for memset */
 int n = 10 * sizeof(int);
 int *myArray = (int*)malloc(n);
 if(myArray != NULL)
 {
   memset(myArray, 0, n);
   myArray[0] = 1;
   myArray[1] = 2;
   free(myArray);
   myArray = NULL;
 }
 /* Static */
 int myArray2[10] = { 1, 2, 0}; /* 3..9 := 0 */

C++

Compiler: GCC, Visual C++, BCC, Watcom


Using dynamically-allocated memory:

 const int n = 10;
 int* myArray = new int[n];
 if(myArray != NULL)
 {
   myArray[0] = 1;
   myArray[1] = 2;
   delete[] myArray;
   myArray = NULL;
 }

Using fixed memory:

 int myArray2[10] = { 1, 2, 0}; /* 3..9 := 0 */

Libraries: STL

 // STL
 std::vector<int> myArray3(10);
 myArray3.push_back(1);
 myArray3.push_back(2);

Libraries: Qt

 // Qt
 QVector<int> myArray4(10);
 myArray4.push_back(1);
 myArray4.push_back(2);

Libraries: Microsoft Foundation Classes

 // MFC
 CArray<int,int> myArray5(10);
 myArray5.Add(1);
 myArray5.Add(2);

C#

Example of array of 10 int types:

 int[] numbers = new int[10];

Example of array of 3 string types:

 string[] words = { "these", "are", "arrays" };

You can also declare the size of the array and initialize the values at the same time:

 int[] more_numbers = new int[3]{ 21, 14 ,63 };


For Multi-Deminsional arrays you delcare them the same except for a comma in the type declaration.

The following creates a 3x2 int matrix

 int[,] number_matrix = new int[3][2];

As with the previous examples you can also initialize the values of the array, the only difference being each row in the matrix must be enclosed in its own braces.

 string[,] string_matrix = { {"I","swam"}, {"in","the"}, {"freezing","water"} };

or

 string[,] funny_matrix = new string[2][2]{ {"clowns", "are"} , {"not", "funny"} };

ColdFusion

Creates a one-dimensional Array

<cfset arr1 = ArrayNew(1)>

Creates a two-dimensional Array in CFScript

<cfscript>
  arr2 = ArrayNew(2);
</cfscript>

ColdFusion Arrays are NOT zero-based, they begin at index 1

D

Compiler: DMD,GDC

// dynamic array
int[] numbers = new int[5];

// static array
int[5] = [0,1,2,3,4];

IDL

IDL doesn't really distinguish between scalars and arrays - the same operations that can create the one can usually create the other as well.

 a = 3
 help,a
 A               INT       =        3
 print,a^2
      9
 a = [3,5,8,7]
 help,a
 A               INT       = Array[4]
 print,a^2
      9      25      64      49

Perl

Interpeter: Perl

use vars qw{ @Array };
@Array=(
        [0,0,0,0,0,0],
        [1,1,1,1,1,1],
        [2,2,2,2,2,2],
        [3,3,3,3,3,3]
      );
#You would call the array by this code. This will call the 3rd 1 on the second list
print $Array[1][3];
 # Alternative:
 my @array_using_qw = qw/coffee sugar cream/;
 # Alternative:
 my @Array3 = ();
 push @Array3,   "Item1";
 push @Array3,   "Item2";
 $Array3[2]    = "Item3";
 $Array3[3][0] = "Item4";
 @Array = ('This', 'That', 'And', 'The', 'Other');
 $ArrayRef = ['This', 'That', 'And', 'The', 'Other'];
 print $ArrayRef->[2]; # would print "And"

PHP

For a single dimension array with 10 elements:

 $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)    //$array[3] == 3
  
 $array = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j")    //$array[3] == "c"

For a multi-dimension array:

$array = array(
               array(0, 0, 0, 0, 0, 0),
               array(1, 1, 1, 1, 1, 1),
               array(2, 2, 2, 2, 2, 2),
               array(3, 3, 3, 3, 3, 3)
         );
#You would call the array by this code. This will call the 3rd 1 on the second list
echo $array[1][3];

Python

Interpeter: Python 2.3, 2.4, 2.5

A Python list() is implemented as a dynamical array.

array = [[0, 0, 0, 0, 0, 0],
         [1, 1, 1, 1, 1, 1],
         [2, 2, 2, 2, 2, 2],
         [3, 3, 3, 3, 3, 3]]

You would call the array by this code. This will call the 3rd 1 on the second list:

 array[1][3]

Alternatively you can create it programmatically with a list comprehension:

array = [[i]*6 for i in xrange(4)]

Create an empty array:

array = []

Ruby

my_array = Array.new
# This is the most basic way to create an empty one-dimensional array in Ruby.
my_array = 1, 2, 3, 4, 5
# Ruby treats comma separated values on the right hand side of assignment as array. You could optionally surround the list with square bracks
# my_array = [ 1, 2, 3, 4, 5 ]
array = [
  [0, 0, 0, 0, 0, 0],
  [1, 1, 1, 1, 1, 1],
  [2, 2, 2, 2, 2, 2],
  [3, 3, 3, 3, 3, 3]
]

# You would call the array by this code. This will call the 4th 1 on the second list
array[1][3]
# You can also create a sequential array from a range using the 'splat' operator:
array = [*0..3]
# or use the .to_a method for Ranges
array = (0..3).to_a

#=> [0,1,2,3]

# This lets us create the above programmatically:
array = [*0..3].map {|i| [i] * 6}
# or use the .map (.collect which is the same) method for Ranges directly
# note also that arrays of length 6 with a default element are created using Array.new
array = (0..3).map {|i| Array.new(6,i)}

#=> [[0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1], [2, 2, 2, 2, 2, 2], [3, 3, 3, 3, 3, 3]]

Scala

 val array = new Array[int](10) // a 10 element array
 val stringArray = new Array[String](20) // a 20 element string array
 List("Elwood", "Madeline", "Archer").toArray
 (List(1,2,3) ::: List(4,5,6)).toArray
 (1 :: 2 :: 3 :: 4 :: 5 :: Nil).toArray

Java

For example for an array of 10 int values:

 int[] intArray = new int[10];

Creating an array of Strings:

 String[] s = {"hello" , "World" };

JavaScript

 var myArray = new Array();
 var myArray2 = new Array("Item1","Item2");
 var myArray3 = ["Item1", "Item2"];

MaxScript

Interpreter: 3D Studio Max 8

 myArray = #()
 myArray2 = #("Item1", "Item2")

mIRC Scripting Language

Interpeter: mIRC Script Editor Libraries: mArray Snippet

alias creatmearray { .echo -a $array_create(MyArray, 5, 10) }

OCaml

Using an array literal:

 let array = [| 1; 2; 3; 4; 5 |];;

To create an array of five elements with the value 0:

 let num_items = 5 and initial_value = 0;;
 let array = Array.make num_items initial_value

To create an array with contents defined by passing each index to a callback (in this example, the array is set to the squares of the numbers 0 through 4):

 let callback index = index * index;;
 let array = Array.init 5 callback

Smalltalk

  array := Array withAll: #('an' 'apple' 'a' 'day' 'keeps' 'the' 'doctor' 'away').
  "Access the first element of the array"
  elem := array at: 1.
  "Replace apple with orange"
  array at: 2 put: 'orange'.

Visual Basic .NET

Compiler: Visual Basic .NET 2005

Dim myArray() as String = New String() {"Hello", "World", "!"}

VBScript

VBScript

Dim myArray(2) myArray(0) = "Hello" myArray(1) = "World" myArray(2) = "!"