Реферат: Массивы

             B.I.Березн,С.Б.Березн(С.83) МАСИВИ  ПОКАЖЧИКИ             
Ранше ми ввели типи даних в мов С, як називаються нод банзовими або
вбудованими. На основ цих типв даних мова С дозволя будувати нш типи даних
 структури даних. Масив - один з найнбльш простих  вдомих структур даних. 
Пд масивом в мов С розунмють набр даних одного  того ж типу,
збраних пд одним м'ям. Кожний елемент масиву визначаться м'ям масиву 
порядковим номенром елемента,  який називаться ндексом. ндекс в
мов С завжди цле число.
                       ОГОЛОШЕННЯ МАСИВУ В ПРОГРАМ                       
Основна форма оголошення масиву розмрност N така:
          тип <м'я масиву>[размер1][размер2]...[размерН]          
Частше за все використовуються одновимрн масиви:
                    тип <м'я масиву> [розмр] ;                    
     тип - базовий тип елементв масиву, розмр - кльксть
елементв одновимрного масиву.
При опис двовимрного масиву оголошення ма наступний вигляд:
               тип <м'я масиву> [размер][размер2];               
У цьому опис можна трактувати оголошення двовимрного масиву як оголошення
масиву масивв, т. е. масив розмру [размер2], еленментами якого  одновимрн
масиви <м'я масиву>[размер1].
     Розмр масиву в мов С може задаватися константою або 
констаннтним виразом. Не можна задати масив змнного розмру. Для цього
сну окремий механзм, званий динамчним видленням пам'ят.
                            ОДНОВИМРН МАСИВИ                            
У мов С ндекс завжди починаться з нуля. Коли ми говоримо про
перший елемент масиву, то мамо на уваз елемент з ндексом 0. Есл ми
оголосили масив
int a[100] ;
це означа, що масив мстить 100 елементв вд а[0] до а[99]. Для
одновимрного масиву легко пдрахувати, скльки байт в пам'ят бунде займати
цей масив:
кльк.байтв=<розмр базового типу>*<кльк.елементв>.
У мов С пд масив завжди видляться безперервне мсце в опенративнй пам'ят.
У мов С не перевряться вихд ндексу за меж масиву. Якщо масив
а[100] описаний як цлочисельний масив, що ма 100 елеменнтв, а ви в
програм вкажете а[200], то повдомлення про помилку не буде видане, а
як значення елемента а[200] буде видано деяке число, що займа
вдповдн 2 байти. Можна визначити масив будь-якого визначеного ранше типу,
наприклад
unsigned arr[40], long double al[1000], char ch[80].
     

/*помняти мсцями max з min*/

#include <iostream.h> main()

{ int i,j,a[10], max. nmax, min, nmin, temp; clrscr(); for (i=0; i<10; i++) сп a[i]; max=min=a[0]; nmax=nmin=0; for (i=0; i<10; i++) if(a[i]>max) { max=a[i]; nmax=i;} else if(a[i]<min) {min=a[i], nmin=i;} tern p= a[n m ax]; a[n max]=a[nm n]; a[nm n]=temp; for (i=0; i<10; i++) cout л a[i] л" "; }

// Сортування програвання масиву

#include<iostream.h> #include<dos. h> #'\ nclude<conio. h> void main() { int temp, , j, a[ 1 0]; clrscr(); for (i=0;i<10;i++) сп a [ ]; for (i=0;i<9;i++) for (j=i+1 ;j<10;j++) if (a[i]>a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } for (i=0;i<1 0;i++) { cout л a[i]л" "; sound(a[i]*80); delay(500); nosou nd(); } getch(); }

МАСИВИ СИМВОЛВ. РЯДКИ Однак масиви типу char - символьн масиви - займають в мов осонбливе мсце. У багатьох мовах е спецальний тип даних - рядок симнволв (string). У мов С окремого типу рядка символв нема, а реналзована робота з рядками шляхом використання одновимрних масинвв типу char. У мов С символьний рядок - це одновимрний масив типу char, що закнчуться нульовим байтом. Нульовий байт - це байт, кожний бт якого рвний нулю. Для нульового байта визначена спецальна символьна константа ' \0 ' . Це потрбно враховувати при опис вдповдного масиву символв. Так, якщо рядок повинен мстинти N символв, то в опис масиву потрбно указати N+1 елемент. Наприклад, опис char str[11] ; передбача, що рядок мстить 10 символв, а останнй байт зарезернвований пд нульовий байт. Звичайно, ми задали звичайний одновимнрний масив, але якщо ми хочемо трактувати його як рядок символв, то це буде рядок максимум з 10 елементв. Хоча в мов С нема спецального типу рядка, мова допуска ряднков константи. Рядкова константа - це список лтер, взятих в пондвйн лапки. Наприклад, "Borland C++ ", "Це рядкова константа". У кнець рядково