У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент



Лабораторна робота - Одновимірні масиви
2

Лабораторна робота

Тема:

 

Одновимірні масиви

Мета роботи: вивчення засобiв мови Сi для обробки масивiв да-

них, оволодiння прийомами складання алгоритмiв i

програм з застосуванням масивiв.

Завдання:дано одновимірний масив В, який складається з 12 елементів. Сформувати вектор С, що повинен складатися з елементів вектора В, які знаходяться перед максимальним елементом. Вивести на друк вектори В і С.

Короткі теоретичні відомості:

Мова Сi передбачаї використання тiльки одновимiрних масивiв

даних. Ознакою масиву пiд час його оголошення ї квадратнi дужки,

якi ставляться пiсля iдентифiкатора масиву, в дужках вказуїться

кiлькiсть елементiв масиву. Мiнiмальне значення iндекса (порядко-

вого номера) елемента масиву завжди дорiвнюї нулю. Пiд час оголо-

шення масив може бути iнiцiалiзований. Мова Сi дозволяї обробляти

багатовимiрнi масиви, тодi вони розглядаються як масиви масивiв.

Приклади оголошення масивiв:

char h[]="Система", t[25], s[9]="Комп'ютер";

float a[20], b[5][3], c[2][3]={{2,3,7},{6,,12}};

Тут для масиву h буде зарезервовано в пам'ятi мiсце для зберi-

гання 8 букв, причому h[0]='C', h[1]='и', h[2]='c',..., h[6]='a'

та h[7]='\0', в цьому випадку компiлятор добавить до масиву нуль.

40

Масиви t i s займуть, вiдповiдно, 25 i 9 комiрок пам'ятi типу

char. Так само, як i масив c, вектор s буде iнiцiалiзований, про-

те вiн не буде доповнений нульовим елементом. Для масиву a буде

видiлено 20, масиву b - 15, масиву c - 6 комiрок пам'ятi типу

float, причому пiд час оголошення вiдбудеться iнiцiалiзацiя маси-

ву c п'ятьма елементами, тобто c[0][0]=2, c[0][1]=3, c[0][2]=7,

c[1][0]=6 та c[1][2]=12.

Звернення до елемента масиву в програмi вiдбуваїться шляхом

вказування iдентифiкатора масиву, пiсля якого в квадратних дужках

задаються значення всiх його iндексiв за допомогою констант або

виразiв цiлого типу.

Iдентифiкатор масиву сприймаїться компiлятором як адреса його

першого елемента, тому фрагменти float *p, a[7]; p=&a[0]; або

float *p, a[7]; p=a; виконаються однаково.

Ідентифікація змінних:

Змінна | a | Порядковий номер елемента | Макси-

мальний

елемент | Номер

макси-

мального

елемента

Ідентифікатор | a | і | m | k

Програма:

#define NUM 12

main()

{

int i,k;

float a[NUM]={45.3, 12, 1.45, 34.4, -0.2, 0.455, 89.456,

-56, 2, 4.6, -7, 5.5}, m;

clrscr();

printf("\nВектор B:\n");

for(i=0;i<NUM;i++) printf("a[%i]=%.3f\n",i,a[i]);

printf("\nВектор C:\n");

m=a[0];

for(i=0;i<NUM;i++)

{

if(m<a[i])

{

m=a[i];

k=i;

}

}

for(i=0;i<k;i++) printf("a[%i]=%.3f\n",i,a[i]);

getch();

}

Результати:

Вектор В:

a[0]=45.300

a[1]= 12.000

a[2]= 1.450

a[3]= 34.400

a[4]= -0.200

a[5]= 0.455

a[6]= 89.456

a[7]= -56.000

a[8]= 2.000

a[9]= 4.600

a[10]= -7.00

a[11]= 5.500 | Вектор C:

a[0]= 45.300

a[1]= 12.000

a[2]= 1.450

a[3]=34.400

a[4]=-0.200

a[5]=0.455

Висновок: Я вивчив засоби мови Сi для обробки масивiв да-

них, оволодiв прийомами складання алгоритмiв i

програм з застосуванням масивiв.