Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Поиск в массиве




Алгоритмы работы с массивами

Объявление массива.

Одномерные массивы.

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

Перед использованием массив, как и любая переменная, должен быть объявлен в разделе объявления переменных. В общем виде объявление массива выглядит так:

имя: array [нижний_индекс..верхний_индекс] of тип; где

имя – имя переменной – массива.

array – ключевое слово, обозначающее, что переменная является массивом;

нижний_индекс и верхний_индекс – целые числа, определяющие диапазон изменения индексов (номеров) элементов массива и, неявно, количество элементов (размер) массива;

тип – тип элементов массива.

Примеры объявления массивов: Примеры заполнения массивов
t: array[1..31] of real; k: array[0..2] of integer; n: array[1..30] of longint; Чтобы в программе использовать элемент массива, надо указать имя массива и номер элемента (индекс), заключив его в квадратные скобки. индекс может быть константой или выражением целого типа. Например: t[1]:=1.22; d:=k[1]*k[1]-4*k[2]*k[1]; readln (n[i+1]); writeln (t[m]); Оператор присваивания. А[1]:=3; или B[1]:=’Иванов’; B[2]:=’Петров’; Такой способ задания значений используется, если массив небольшой. Вывод массива. For i:=1 to 10 do writeln(a[i]); Вывод пятого элемента массива записывается так: write(a[5]); 1) Оператором ввода с клавиатуры. For i:=1 to 10 do begin Writeln(‘введите ’,i,’-ый элемент массива’); Readln(a[i]); end; {в качестве индекса используется параметр цикла } Этот способ задания значений используется для небольших массивов. 2) Заполнение массива с использованием генератора случайных чисел. RANDOMIZE; For i:=1 to 10 do a[i]:=Random(x); {массив заполнится целыми числами в диапазоне от 0 до Х} 3) Заполнение по формуле. Каждый элемент массива должен быть рассчитан по формуле (например ai=sin i - cos i) for i:=1 to 10 do a[i]:=sin(i)-cos(i);
1) Сумма элементов массива. s:=0; for i:=1 to 10 do begin s:=s+a[i]; end; writeln (‘Сумма=’,s); 2) Сумма положительных элементов. s:=0; for i:=1 to 10 do if a[i]>0 then s:=s+a[i]; writeln (‘Сумма положительных элементов = ’,s); 3) Сумма и количество четных элементов. s:=0; k:=0; for i:=1 to 10 do if a[i] mod 2=0 then begin k:=k+1; s:=s+a[i]; end; writeln (‘Сумма ’,s, ‘ количество’, k);
4) Поиск заданного элемента в массиве. Найти элементы массива большие числа 5. for i:=1 to 10 do if a[i]>5 then writeln(a[i]); 5) Поиск наибольшего элемента в массиве. max:=a[1]; for i:=1 to 10 do begin if a[i]>max Then max:=a[i]; end; writeln (‘max=’,max); 6) Сортировка массива q:=n-1; For i:=1 to n-1 do begin For i:=1 to q do begin If a[i]>a[i+1] then begin w:=a[i]; a[i]:=a[i+1]; a[i+1]:=w; end; end; q:=q-1; end;

Например: определить сколько раз в массиве встречается число t.

k:=0;

writeln (‘Введите искомое число’); readln (t);

for i:=1 to n do if a[i]=a then inc(k);

writeln (‘Количество элементов равных ’,t,’ в массиве =’,k);

Задачи на одномерные массивы:

1) Заполнить массив:

а) десятью первыми членами арифметической прогрессии с известным первым членом прогрессии a и ее разностью p;

б) двадцатью первыми членами геом-кой прогрессии с известным первым членом прогрессии a и ее знаменателем z.

2) Дан массив. Все его элементы:

а) уменьшить на 20;

б) умножить на последний элемент;

в) увеличить на число b.

3) Определить:

а) сумму всех элементов массива;

б) произведение всех элементов массива;

в) сумму квадратов всех элементов массива;

г) сумму шести первых элементов массива;

д) сумму элементов массива с k1-го по k2-й (значения k1 и k2 вводятся с клавиатуры; k2>k1);

е) среднее арифметическое всех элементов массива;

ж) среднее арифметическое элементов массива с s1-го по s2-й (значения s1 и s2 вводятся с клавиатуры; s2>s1).

4) Дан массив из 30 целых чисел массив. Напечатать:

а) все неотрицательные элементы;

б) все элементы, не превышающие числа 100.

в) все четные элементы;

г) все элементы, оканчивающиеся нулем.

5) Дан массив натуральных чисел. Напечатать:

а) все элементы массива, являющиеся двузначными числами;

б) все элементы массива, являющиеся трехзначными числами.

в) второй, четвертый и т.д. элементы;

г) третий, шестой и т.д. элементы.

6) Дан массив целых чисел. Выяснить:

а) верно ли, что сумма элементов массива есть четное число;

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




Поделиться с друзьями:


Дата добавления: 2015-06-27; Просмотров: 1067; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.