Заполнение массива

Заполнение массива

Как и было обещано в статье об одномерном массиве, сегодня я затрону тему внесения данных в массив т.е заполнение массива. В паскале заполнение массива имеет некоторые особенности. Что здесь самое главное и что нужно заполнить? При произведении операций с элементами массива массив нельзя рассматривать как нечто целое. То есть, например, если вы хотите заполнить массив информацией, то придется вносить данные для каждого элемента массива отдельно. Гораздо проще это реализовать в цикле. Способов внесения несколько, но для каждого используется цикл. Теперь собственно сам код

var a:array [1..10] of integer;i:integer;
begin
for i:=1 to 10 do
readln(a[i]);
end.

Сейчас вы увидели самый простой способ заполнения одномерного массива, а именно ввод через клавиатуру. Я не говорю, что этот способ самый эффективный, отнюдь нет. Представьте, что необходимо произвести заполнение массива, состоящего из 1000 и более элементов. Вбивать каждый с клавиатуры будет естественно глупо и нерационально. Гораздо проще взять данные из другого массива или из файла. Ниже показано как заполнить массив код присвоением элементов одного массива другим элементам второго массива.

var a,b:array [1..10] of integer;i:integer;
begin
for i:=1 to 10 do
a[i]:=b[i];
end.

Уже лучше не правда ли? Не надо пользоваться клавиатурой и набирать каждый элемент. Однако еще проще произвести заполнение массива, взяв данные из файла. Подробнее об операциях с файлами я расскажу в отдельном уроке, а пока простой пример того, как заполнить массив из файла.

var a:array [1..10] of integer; f:text;
btgin
assign (f,’primer.txt’);
reset(f);
for i:=1 to 10 do
readln(f,a[i]);
end.

Можно добавить вывод заполненного массива на экран, тогда надо в цикл добавить строчку

write(a[i]);

1Комментарий

  • sidrelena

    Ответить 26.01.2020 02:28

    var a,b:array [1..10] of integer;i:integer;
    begin
    for i:=1 to 10 do
    a[i]:=b[i];
    end.

    Извините, а в этом примере что должно получится? как происходит заполнение после ввода кода? у меня ни с клавы ни так не происходит

Оставить комментарий