Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Копирование массива

Читайте также:
  1. А1. Ввод массива с клавиатуры
  2. Анализ элементов массива
  3. В качестве контрольного примера используйте пример пятиэлементного массива целых чисел из первого способа
  4. Ввод и вывод на экран двумерного массива
  5. Ввод и вывод элементов двумерного массива.
  6. Ввод и вывод элементов массива
  7. Ввод массива StringGrid

Действия над массивами.

Для работы с массивами как единым целым используются имена массивов без указателей индекса в скобках.

Массивы участвующие в этих действиях, должны быть равной размерности, иметь одинаковые типы индексов и одинаковые типы переменных.

Пусть А и В массивы.

А=В — истинна, если значение каждого элемента массива А равно соответствующему значению элемента массива В.

А<>В — истинна, если хотя бы одно значение элемента массива А не равно соответствующему значению элемента массива В.

А:=В — элементы массива А заменить элементами массива В.

Но не разрешено А:=2*В.

Описание одномерного массива

Если в программе используется массив, то он должен быть описан в разделе описаний переменных (т.е. задано место в памяти под его элементы и указан тип его элементов).

1) способ.

VAR

<имя массива>: array [t1..t2] of <тип элементов>;

 

t1— начальный индекс, t2 — конечный индекс; например [1...10] или [-2...2]

[t1...t2], где t1<t2 и t1, t2 заранее определены, порядкового типа (целые числа), определяющие диапазон изменения индексов (номеров) элементов массива.

Имя массива выбирается в соответствии с обычными правилами Паскаля.

Например,

Var

X: array [1..5] of real; {массив из 5 вещественных чисел с именем Х и индексами от 1 до 5}

X1: array [1..6] of integer; {массив из 6 целых чисел с именем Х1 и индексами от 1 до 6}

S: array [10..13] of char; {массив из 4 символов с именем S и индексами от 10 до 13}

Ошибка, если...ARRAY [5]...

Способ

Путём введения тип-массив.

TYPE

<имя типа> = array [ индексы ] of < тип элементов >;

VAR

<имя массива >:< имя типа>;

 

Например: type

mass = array [1..5] of real;

Var

X: mass;

 


Задание в программе размерности массива.

 

Что называется размерностью массива? (Максимальное количество элементов массива, которое определяется при описании)

 

Если по условию массив задан с переменной размерностью (например, дан массив с N элементами), тогда размерность можно задать несколькими способами:

1) CONST

n = 50; - размерность задаётся константой

VAR

X: array [1.. n] of real;

 

2) При описании массива задаётся максимально возможная размерность для массива в данном алгоритме, а затем конкретная размерность вводится с клавиатуры.

 

VAR

X: array [ 1..50 ] of real;

n: integer; {переменная для хранения конкретной размерности массива}

 

begin

....

write(‘ введите размерность массива n<= 50’);

readln (n);

....


Ввод с клавиатуры элементов одномерного массива.

Строкой описания лишь задаётся место в памяти для массива, но не сам массив.

Ввод и вывод элементов одномерного массива может осуществляться в столбец или в строку. Если количество вводимых или выводимых элементов в совокупности на­ходится в пределах 20, то вводить и выводить эти эле­менты удобно в столбец с указанием индекса вводимого или выводимого элемента. Для массивов с большим количеством элементов ввод элементов и их вывод лучше осуществлять по строкам.

Ввод в столбец элементов массива А из вещественных чисел с количествомэлементов n.

{Ввод размерности массива}

Write ('Введите количество элементов массива:');

Readln (n); На экране:

{Ввод элементов массива} введите A[1]=

For i: = 1 to n do введите А [2]=

Begin Write ('Введите A[',i,']='); … … …

Readln (A[i]) введите A [n]=

end;

Ввод элементов массива А из веществен­ных чисел с количеством элементов n в строку, через пробел.

{Ввод размерности массива}

Write ('Введите количество элементов массива:');

Readln (n);

{Ввод элементов массива в строке, через пробел}

For i: = 1 to n do

Readln (A[i])

End;

Элементы набираются через пробел или с новой строки.

 

Одним из способов заполнения элементов массива является генерирование с по­мощью функции случайных чисел.

Функция Random(H) возвращает целые числа в диапазоне от 0 до H-1

А:= Random(10); — переменная А получит значение случайного целого числа в диапазоне от 0 до 9

А:= Random(11); — переменная А получит значение случайного целого числа в диапазоне от 0 до 10

А:= Random(10) + 1; — переменная А получит значение случайного целого числа в диапазоне от 1 до 10

Write ('Введите количество элементов массива:');

Readln (n);

Randomize;

For i: = 1 to n do

Begin

A[i]:=Random(101);

Write (A[i], ‘ ‘)

end;

Randomize обеспечивает несовпадение последовательности случайных чисел, генерируемых функцией Random. Если генерировать без предварительного использования процедуры Randomize, то при каждом последующем перезапуске программы цепочка случайных чисел будет повторяться.

{Random(101) генерирует целые числа в диапазоне от 0 до 100}

 

Вывод элементов одномерного массива.

Вывод элементов массива на экран выпол­няется в строку, через пробел.

writeln (‘массив исходный (полученный)’);

for i: = 1 to n do Write(A[i], ' ');

 

или при выводе элементов массива в строку можно ис­пользовать форматный вывод.

 

for i:=1 to n do write (A[i]: 6:2); элементы массива вещественные.

 

Вывод элементов массива на экран выпол­няется в столбец.

for i: = 1 to n do

Writeln('A[',i,'] = ',A[i]);


Поиск, замена, работа с элементами

массива с заданными свойствами.

 

Элементы массива называются индексированными пе­ременными и могут быть использованы как простые переменные. С ними можно выполнять все операции, которые допускаются его типом.

Копирование массива

Дан массив А из N действительных. элементов. Получить из него такой же массив В.

for i: = 1 to m do A[i]:=B[i];


Дата добавления: 2015-07-11; просмотров: 66 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
int n; //р-ть массив| Перестановка элементов массива

mybiblioteka.su - 2015-2024 год. (0.011 сек.)