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

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

Как и было обещано в статье об одномерном массиве, сегодня я затрону тему внесения данных в массив т.е заполнение массива. В паскале заполнение массива имеет некоторые особенности. Что здесь самое главное и что нужно заполнить? При произведении операций с элементами массива массив нельзя рассматривать как нечто целое. То есть ,например,если вы хотите заполнить массив информацией,то придется вносить данные для каждого элемента массива отдельно. Гораздо проще это реализовать в цикле. Способов внесения несколько,но для каждого используется цикл. Теперь собственно сам код
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 | 23 октября 2012 21:27 | ICQ: | Пользователь offline

Группа: Читатели
Публикаций: 0
Комментариев: 6

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

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

 


#2 | написал: Mr.Cheater | 23 октября 2012 21:55 | ICQ: 360239964 | Пользователь offline

Группа: Администраторы
Публикаций: 33
Комментариев: 68

sidrelena,

Читайте пожалуйста статью внимательнее

Это был пример заполнения массива путем присвоения элементов другого масива

Заполнение с клавиатуры идет выше

Заполнение из файла - ниже


#3 | написал: sidrelena | 23 октября 2012 22:15 | ICQ: | Пользователь offline

Группа: Читатели
Публикаций: 0
Комментариев: 6

это я поняла, но как буд-то что-то не хватает, может readln.Я вот вставила этот код тупо в АВС и ничего...я, наверное, совсем профан  request


#4 | написал: HardMaster | 10 июля 2013 12:46 | ICQ: |

Группа: Гости
Публикаций: 0
Комментариев: 0
Спасибо огромное!! Все изложено доступным языком, как говорится для "чайников". wink

#5 | написал: Mr.Cheater | 10 июля 2013 17:33 | ICQ: 360239964 | Пользователь offline

Группа: Администраторы
Публикаций: 33
Комментариев: 68
Цитата: HardMaster
Спасибо огромное!! Все изложено доступным языком, как говорится для "чайников". wink

не за что, специально для "чайников" и был создан этот сайт

Добавление комментария

Ваше Имя:
Ваш E-Mail:
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Вставка исходного кода Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера

Введите два слова, показанных на изображении: