Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Базовые алгоритмы работы с одномерными массивами
Будем считать, что объявили массив из 10 элементов, тип элементов в данном случае значение не имеет: 1. заполнение одномерного массива: · заполнение с клавиатуры: for i: =1 to 10 do begin writeln (‘Введите значение элемента’); readln(a[i]); end; · заполнение случайным образом: for i: =1 to 10 do a[i]: =random(n); {n должно быть задано заранее} · заполнение натуральными числами: for i: =1 to 10 do a[i]: =i; · поменять местами два заданных элемента массива: c: =a[i]; a[i]: = a[j]; a[j]: =c; · заполнение по формуле (например, ai=sin i): for i: =1 to 10 do a[i]: =sin(i); 2. вывод массива на экран: for i: =1 to 10 do writeln (‘элемент ’, i, ‘ массива ’, a[i]); 3. нахождение суммы элементов одномерного массива: s: =0; for i: =1 to 10 do s: =s+a[i]; 4. подсчёт количества элементов, удовлетворяющих заданному условию (например, положительных элементов): k: =0; for i: =1 to 10 do if a[i]> 0 then k: =k+1; 5. поиск максимального элемента одномерного массива и его номера: max: =a[1]; n: =1; for i: =2 to 10 do if a[i]> max then begin max: =a[i]; n: =i; end; Задача MaxMin. Программа для поиска максимального и минимального элемента массива, с указанием их номеров (maxmin.pas). program maxmin; uses crt; var a: array[1..5] of integer; i, max, nmax, min, nmin: integer; begin clrscr; for i: =1 to 5 do { ввод данных } begin writeln ('Введите значение элемента'); readln (a[i]); end; for i: =1 to 5 do { выдача массива на экран } writeln (a[i]: 7); nmax: =1; { задание начальных значений } max: =a[1]; nmin: =1; min: =a[1]; for i: =1 to 5 do{ нахождение минимума и максимума} if a[i]> max then begin max: =a[i]; nmax: =i; end; if a[i]< min then begin min: =a[i]; nmin: =i; end; end; writeln ('Максимальный элемент=', max); writeln ('Номер максимального элемента=', nmax); writeln ('Минимальный элемент=', min); writeln ('Номер минимального элемента=', nmin); repeat until keypressed; end.
Сортировка массивов
Сортировка массива – это упорядочение по возрастанию/убыванию значений его элементов. Сортировка методом «пузырька» Сущность метода: Начиная с 1-го или последнего элемента, производится попарное сравнение элементов и, если предыдущий больше последнего, то они меняются местами. Фрагмент. for i: =1 to n-1 do for j: =i+1 to n do if f[j]< f[i] then begin a: =f[i]; f[i]: =f[j]; f[j]: =a; end; Сортировка методом выбора Сущность метода: Находится минимальный элемент, затем 1-ый и минимальный меняются местами, затем ищется минимальный со 2-го по последний и 2-ой с минимальным меняются местами и т.д. Задача: Сдвинуть элементы массива влево на одну позицию. uses crt; const n=10; var a: array[1..n] of integer; i, c: integer; begin for i: =1 to n do { заполнение массива и его вы вод на экран} begin a[i]: =random(50); write (a[i]: 5); end; c: =a[1]; for i: =1 to n-1 do a[i]: =a[i+1]; a[n]: =c; writeln; for i: =1 to n do write(a[i]: 5); repeat until keypressed; end.
|