Обработка одномерных массивов. — КиберПедия 

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Обработка одномерных массивов.

2017-12-13 144
Обработка одномерных массивов. 0.00 из 5.00 0 оценок
Заказать работу

Рассмотрим несколько примеров обработки одномерного массива.

Пример 6.1. Ввести значения элементов массива (размерностью 10) с клавиатуры. Составить программу для нахождения:

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

2) среднего арифметического значения элементов массива ;

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

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

5) максимального элемента массива;

program prog;

uses crt;

var a:array[1..10] of real;

s,p,max,sr:real; k,n:integer;

begin

clrscr;

 

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

for k:=1 to 10 do

begin

write('Введите a[',k:2,']=');

read(a[k]);

end;

 

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

writeln('Массива:');

for k:= to 10 do

write(a[k]:8:2,'');

writeln;

 

//суммаэлементовмассива

s:=0;

for k:=1 to 10 do

s:=s+a[k];

writeln('s=',s);

 

//среднеарифметическое значение элементов массива}

sr:=s/10;{s – сумма элементов массива,

10 – количество элементов массива}

 

//произведение элементов массива

p:=1;

for k:=1 to 10 do

p:=p*a[k];

writeln('p=',p);

 

//количество отрицательных элементов массива

n:=0;

for k:=1 to 10 do

if a[k]<0 then n:=n+1;

writeln('n=',n);

 

//максимальный элемент массива

max:=a[1];

for k:=1 to 10 do

if a[k]>max then

max:=a[k];

writeln('max=',max);

 

end.

Если необходимо найти сумму только положительных элементов массива:

s:=0;

for k:=1 to 10 do

if a[k]>0 then s:=s+a[k];

Если кроме самого максимального элемента массива необходимо найти его номер:

nmax:=1;

max:=a[1];

for k:=1 to 10 do

if a[k]>max then

begin

nmax:=k;

max:=a[k];

end;

Пример 6.2. Заполнить одномерный целочисленный массив (размерностью 10) с помощью генератора псевдослучайных чисел из интервала от –25 до 25. Составить программу для нахождения количества элементов массива кратных пяти.

program prog;

uses crt;

type mas=array[1..10] of integer;

var а:mas;

k,n:integer;

begin

clrscr;

randomize;

 

{Заполнение одномерного массива псевдослучайными числами}

for k:=1 to 100 do

a[k]:=random(50)+(-25);

 

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

writeln('Массива:');

for k:=to 100 do

write(a[k]:8:2,'');

writeln;

 

{количество элементов массива кратных пяти}

n:=0;

for k:=1 to 10 do

if (a[k] mod 5)=0 then n:=n+1;

writeln('n=',n);

end.

Если необходимо найти количество нечетных элементов целочисленного массива:

n:=0;

for k:=1 to 10 do

if (a[k] mod 2)<>0 then n:=n+1;

 

Пример 6.3. Даны два вектора и (размерностью 12). Составить программу для нахождения:

1) скалярного произведения векторов и ;

2) длины вектора .

{скалярное произведение векторов}

P:=0;

for k:=1 to 12 do

p:=p+c[k]*b[k];

writeln('p=',p);

 

{длинавектора}

s:=0;

for k:=1 to 12 do

s:=s+sqr(a[k]);

d:=sqrt(s);

writeln('d=',d);

Пример 6.4. Дан массив натуральных чисел a (4,2,1,5,8,13,7,3). Сформировать новый массив c по следующему правилу:

В массиве c найти значение пятого элемента.

program pr7;

const a:array[1..8] of byte=(4,2,1,5,8,13,7,3);

var c:array[1..8] of real; i,j:integer;

begin

for i:= 1 to 8 do

if (a[i] mod 2)=0 then c[i]:=sqr(a[i])

else c[i]:=exp(3*ln(a[i]))/2;

write('массива:');for i:=1 to 8 dowrite(a[i]:3);writeln;write('массив c:');for i:=1 to 8 dowrite(c[i]:8:2);writeln;for i:=1 to 8 doif i=5 then write('c[',i:2,']=',c[i]);

end.

Пример 6.5. Дан массив с (12), сформировать из его элементов массив b (12) по следующему правилу:

program prog;

uses crt;

var b,c:array[1..12] of real;

i:integer;

begin

clrscr;

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

for i:=1 to 12 do

begin

write('Введите c[',i:2,']=');

read(c[i]);

end;

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

writeln('Массив c:');

for i:= to 10 do

write(c[i]:8:2,'');

writeln;

 

{новыймассив}

for i:=1 to 12 do

if c[i]>0 then b[i]:=c[i]+1;

elseb[i]:=c[i]-1;

 

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

writeln('Массив b:');

for i:= to 10 do

write(b[i]:8:2,'');

writeln;

end.

 

Двумерные массивы

 

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

В случае двумерного массива для нумерации элементов массива используются два индекса. Первый (левый) индекс соответствует номеру строки в массиве, второй индекс (правый) – номеру столбца. Индексы элементов двумерного массива заключаются в квадратные скобки и разделяются между собой запятой. К элементу массива обращаются, указывая номер строки и столбца, на пересечении которых он находится, например, a14→a[1,4], a21→а[2,1] (рис. 6.4).

a11 a12 a13 a14
a21 a22 a23 a24
a31 a32 a33 a34

Рис. 6.4. Матрица из 3 строк и 4 столбцов

 


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

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.017 с.