<< Chapter < Page Chapter >> Page >
Низата како едноиндексно поле се користи и е погодна за пресметки со пообемни податоци бидејќи податоците во низа имаат исто име, а се разликуваат само по својата позиција-индекс кој е природен или цел број. Тоа овозможува лесно оперирање со податоците од низите бидејќи во пресметките се оперира само со нивните индекси.

Низи-едноиндексни полиња

Што е низа во програмските јазици?

  • Низите се структурирани податочни типови
  • колекција од повеќе индивидуални елементи со заедничко име
  • овозможуваат пристап до индивидуалните елементи во низата

За да се организираат повеќе податоци од ист тип, може да се креираат повеќе променливи и на секој податок му се доделува промелива. Но тоа е фукционално само ако се оперира со ограничен број променливи.

На пример, со програмскиот сегмент се собираат вредностите на три податока

int prom1, prom2, prom3; int suma;scanf(“%d%d%d”,&prom1,&prom2,&prom3); suma = prom1 + prom2 + prom3;

Но ако е потребнo да оперираме со многу повеќе променливи од исти тип (на пр. 100, 1000, ...), потребен е поинаков приод. За таа цел се формира низа од повеќе променливи од ист тип.

Низа е структура со релациски поврзани податоци, при што

  • бројот на елементи е однапред познат
  • сите елементи се променливи од ист тип

Дефиниција:

Низа е колекција од променливи од ист тип сместени во низа последователни мемориски локации, на кои им е доделено единствено име.

Низите уште се нарекуваат едноиндексни или еднодимензионални полиња.

За пристап до кој и да е елемент од полето се користи името и позицијата на елементот во полето, а позицијата се одредува со индекс.

Според бројот на индекси полињата се делат на

  • едноиндексни (полиња),
  • двоиндексни (матрици), итн..

Декларирање на едноиндексно поле

Секогаш кога во програма се користи поле, на почетокот од програмата тоа се декларира. За негово декларирање потребно е неговото име, типот на елементите (променливите) и бројот на елементи во полето.

Формат на наредбата за декларирање е

tip ImePole[BrojNaElementi];

Примери за декларирање на поле:

int c[10]; float moePole[3284]; double Tez[100]; int b[100], x[27];

Пример 1.

Да се дефинира едноиндексно поле temps што содржи 5 реални вредности.

Со наредбата

float temps[5];

се декларира поле temps со пет реални вредности, а тоа значи резервирање мемориски простор

Иницијализација на едноиндексно поле

Во наребата за декларација може да се иницијализираат и елементите на полето како што е наведено со следните две наредби:

int p[10] ={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, n[5]= {1, 2, 3, 4, 5 }; float broevi[4]= {1.0, 0.3, 2.25, 4.5};

Ако не се внесат доволно вредности за сите елементи од полето, најдесните елементи се иницијализираат на 0 како на пример:

int a[5] = {0,1,3}; /* preostanatite elementi se 0 */int b[10]={0}; /*najednostaven nacin za inicijalizacija na site vrednosti na 0 */int c[80] = {95}; /* prviot element ima vrednost 95, a site ostanati 0 */

Ако не е определена големината на полето, тогаш истата ја определува компјутерот

int n[] = { 1, 2, 3, 4, 5 }; - 5 почетни вредности, согласно полето ќе биде декларирано како поле со 5 елемента

int pogodi[] = {1,3,5,7,11,13}; - поле со 6 елементи

int golemina[] = {3, 1, 5, 99, 18, -1}; - поле со 6 елементи

Пристап до елемент на едноиндексно поле

За да се добие или промени елемент од полето, потребно е да се определи име на полето и позицијата на елементот во полето. Форматот на елемент од полето е

imePole[IndeksPozicija]

Поле со n елементи и име alfa е:

alfa[0], alfa[1]...alfa[n-1]

  • првиот елемент се наоѓа на позиција (има индекс) 0, вториот на позиција (има индекс) 1, итн.
  • индекс на поле може да биде само целобројна вредност
  • одговорност на програмерот е да обезбеди индексот да биде во интервалот [0,n-1]

Поле може да се иницијализира и со следната низа наредби:

int i, n[10];for (i=0; i<10; i++) n[i] = i;

Пример 2.

Програмски сегмент за собирање на вредностите на елементите на две полиња и нивно сместување во трето поле:

for(i=0; i<n; i++) c[i]=a[i]+b[i];

Пример 3.

Операторот што го одредува индексот има најголем приоритет, поради што во следниот израз

a[2]++

компјутерот ќе ја зголеми вредноста на променливата што се наоѓа на третата позиција во полето за 1.

Пример 4.

Да се најде минимален елемент во низа.

Програма:

#include<stdio.h>int main() {int min, i, pole[20];for(i = 0; i<20; i++) {printf(“Vnesete element %d:i”, i); scanf(“%d”,&pole[i]);} min = pole[0]; for(i = 0; i<20; i++) {if (pole[i]<min) min = pole[i];}printf(“Minimalen e elementot %d ”, min); return 0;}

Пример 5.

Да се изброи колку елементи од една низа припаѓаат на даден интервал.

Програма:

#include<stdio.h>int main() {int pocetok, kraj, i, pole[50], brojac = 0;printf (“Vnesi vrednoti za pocetok i kraj na intervalot”); scanf (“%d %d”,&pocetok,&kraj);for(i = 0; i<50; i++) {printf(“Vnesete element %d:i”, i); scanf(“%d”,&pole[i]);} for(i = 0; i<50; i++) {if (pole[i]>pocetok&&pole[i]<kraj) brojac++; }printf(“Vkupno elementi vo intervalot ima %d ”, brojac);return 0; }

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Вовед во програмирање. OpenStax CNX. Oct 28, 2013 Download for free at http://cnx.org/content/col11379/1.12
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Вовед во програмирање' conversation and receive update notifications?

Ask