I. Инициализация массива

Основные действия с массивами

1) Ввод элементов массива с клавиатуры (см. выше) или с заранее подготовленного файла.

2) Задание значения элементов массива можно (проинициализировать) на этапе его описания:

<тип> <имя_массива> [размер]={список значений};

где в фигурных скобках записываются значения элементов массива соответствующего типа, разделённые запятыми. Например:

const N=5;

float A[N]={-1.1, 22, 3, -4.4, 50};

Замечание. Если в списке меньше N значений, то недостающие элементы массива примут нулевое значение. Наоборот, если указать больше N значений, “компилятору это не понравится”.

в)Ввод массива символов (или строку)можно выполнить по-разному.

* Можно указать размерность, достаточную для размещения текста и символа конца строки (‘\0’). Этот символ надо явно записать в конце списка, например:

char T[11]={‘м’,’а’,’т’,’е’,’м’,’а’,’т’,’и’,’к’,’а’,’\0’};

* Второй способ проще и удобнее: char T[11]=“математика”;

В этом случае нулевой символ добавляется к концу строки автоматически. Кроме того, как для числовых, так и для символьных массивов необязательно указывать размерность. Она будет определена в зависимости от количества записанных элементов или длины строки. Например,

int V[]={11, 2, -3, 44, -5}; // объявляет и инициализирует целочисленный массив из пяти элементов,

сhar S[]=”ВМФ”; // строку из четырёх символов, так как добавлен символ конца строки.

Указанный способ определения массива удобен для отладки программы, так как не надо тратить время на многократный ввод его элементов. При тестировании достаточно изменить несколько элементов массива.

г) Задание значения элементов массива с помощью генератора случайных чисел:

const n=5;

int Y[n];

randomize(); //srand(time(0));

for (int i=0; i<n; i++)

{ Y[i]=random(100); //Y[i]=rand()%100;

cout<<Y[i]<<" ";

}

Функция randomize() (или srand(time(0))) – генерирует новую последовательность случайных чисел, которая может использоваться для функции random() (rand()). (рекомендуют использовать, чтобы массив был «более случайным», в противном случае массив может быть таким же, каким был при предыдущем выполнении программы).

Параметр функции random (в нашем примере 100) (или rand()%100) означает, что числа массива будут целыми на промежутке от 0 до 99 включительно. Если надо, чтобы числа были не только положительными, можно записать, например, так: Y[j]=random(100)-50; или Y[i]= -50+rand()%100; Тогда числа будут на промежутке от –50 до 49.

Если надо получить вещественные числа, можно в цикле записать, например, так: A[i]=random(5)/10.-0.25; При этом массив A объявляется как float, а константу 10 надо записать обязательно с символом «.», то есть как вещественное число. Иначе получатся все одинаковые числа (-0.25), так как при делении любого целого числа, меньшего 5, на целое число 10 получится целая часть результата, то есть нуль.

д) Задание массива по некоторому правилу (закону), например:

for (int j=0; j<n; j++)

if (j%2) A[j]= j*10;

else A[j]=j/100.;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: