1d arrays classnotesmit.pptx

33
Arrays What is an array? An array is a derived data type from fundamental data type. It is a collection of variables of the same type that are referenced by a common name which are stored in a contiguous memory locations. Declaring Arrays Array are declared by specifying its data type, name and the number of elements the array holds between square brackets immediately following the array name. For Example: int marks[20] or int student_marks[5][20];

Upload: hacralo

Post on 20-Jul-2016

233 views

Category:

Documents


1 download

DESCRIPTION

Information theory & coding (ECE) - SlideShare www.slideshare.net/nitmittal/information-theory-coding-eceMar 4, 2011 - This book offers a comprehensive review of the Information Theory and Coding. Themain text can be divided into four sections on Probability ...[PDF]An introduction to information theory and entropy www.fi.muni.cz/usr/staudek/infteo/info-lec.pdfby T Carter - ‎2011 - ‎Cited by 27 - ‎Related articlesBasics of information theory. 15. Some entropy theory ... This approach has been described as information theory. 7 ...... contemporary information, coding, and.Information and Coding Theory - AbeBooks www.abebooks.com/book-search/title/coding-theory/n/200000098/Information Theory And Coding by Anoop Singh Poonia and a great selection of similar Used, New and Collectible Books available now at AbeBooks.com.[PDF]Elements of Information Theory - FTP Directory Listing ftp://ftp.esat.kuleuven.ac.be/pub/sista/decock/voor_xander/.../0.pdfby TM Cover - ‎1991 - ‎Cited by 35479 - ‎Related articles

TRANSCRIPT

Page 1: 1D Arrays Classnotesmit.pptx

Arrays

• What is an array?

An array is a derived data type from fundamental data type. It is a collection of variables of the same type that are referenced by a

common name which are stored in a contiguous memory locations.

• Declaring Arrays

Array are declared by specifying its data type, name and the number

of elements the array holds between square brackets immediately following the array name.

For Example: int marks[20] or int student_marks[5][20];

Page 2: 1D Arrays Classnotesmit.pptx

•Types of arrays One dimensional array Multi dimensional array

Two dimensional Three dimensional …….. N dimensional

• One Dimensional Array A list of items can be given one variable name using one

subscript and such a variable is called single-subscript variable or one dimensional(1D) array.

• Declaration Syntax: Data_type Array_name[ Max_size];

Where Data_type one among built-in-data type or user defined data type.

Arra_name is a valid identifier. Max_size specifies how many elements the array has to contain.

8/2

3/2

01

4

De

pt.

ofC

SE

2

Page 3: 1D Arrays Classnotesmit.pptx

• One Dimensional Array For example: float marks[5];

8/2

3/2

01

4

De

pt.

ofC

SE

3

marks

[0] [1] [2] [3] [4]

The individual components are accessed by using the array name

together with an integral valued index in square brackets. The index

indicates the position of the component within the collection .

The subscript/index value ranges from 0 to one less than the

maximum size specified in [ ]. That is, the first array element always

has subscript 0, the second array element has subscript 1, the Third

array element has subscript 2 etc. In general the subscript is

assigned to an integer variable.( like I or j )

A subscript can be integer constants, Integer variables like i, or

expressions that yield integers.

By default all the locations are initialized with unknown value.

Page 4: 1D Arrays Classnotesmit.pptx

• Initialization of arrays

Syntax:Type array_name[ Max_size]={ val0, val1,…..,valMax_size-1};

Example 1: int marks[6]={11,21};

0 1 2 3 4 5

marks

Will initialize 11 to marks[0]

21 to marks[1] and 0 to remaining locations if the elements assigned are less than the size of the array.

Example 2: static int marks[6];

0 1 2 3 4 5

marks

Will initialize all locations of the array to zero because an array is declared as static.

8/2

3/2

01

4

De

pt.

ofC

SE

4

0 0 0 0 0 0

11 21 0 0 0 0

Page 5: 1D Arrays Classnotesmit.pptx

• Assigning elements to an array

The elements can be assigned to any positions of the array.

Example: int a[10];

a[0]=12; a[3]=13; … etc.

• Accessing the elements from an array

int s=a[2]; or cout<< a[3].

• Some of the operations carried using 1D array

To Read and display elements

To do arithmetic operations on two arrays

To search for the element

To sort the elements

To insert and delete an element …etc

8/2

3/2

01

4

De

pt.

ofC

SE

5

Page 6: 1D Arrays Classnotesmit.pptx

8/2

3/2

01

4

De

pt.

ofC

SE

6

#include<iostream.h> #include<conio.h> void main() { int n,i,a[10]; clrscr(); cout<<"enter no of elements and it should be less than or equal to 10"; cin>>n; cout<<"\nenter elements\n"; for(i=0;i<n;i++) cin>>a[i]; for(i=0;i<n;i++) cout<<a[i]<<endl; getch();}

WAP to read n elements to an array a and print it

Page 7: 1D Arrays Classnotesmit.pptx

8/2

3/2

01

4

De

pt.

ofC

SE

7

#include<iostream.h>

#include<conio.h>

void main()

{

int n,m,i,j,a[10],b[10],c[10];

clrscr();

cout<<"enter no of elements for the first array\n";

cin>>n;

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

{

cout<<"enter number\n";

cin>>a[i];

}

WAP to add two array elements and store the corresponding

elements sum in another array

Page 8: 1D Arrays Classnotesmit.pptx

8/2

3/2

01

4

De

pt.

ofC

SE

8

cout<<"enter no of elements for the second array\n"; cin>>m; for(i=0;i<m;i++) { cout<<"enter number\n"; cin>>b[i]; } if(m==n) { for(i=0;i<m;i++) c[i]=a[i]+b[i]; cout<<“the resultant array is\n”; for(i=0;i<n;i++) cout<<c[i]<<endl; } else cout<<"cannot add"; getch(); }

Page 9: 1D Arrays Classnotesmit.pptx

To display elements of an array in reverse order.

#include<iostream.h> #include<conio.h> void main() { clrscr(); int a[10],i,j,n; cout<<"enter values"; for(i=0;i<10;i++) cin>>a[i]; for(j=i-1;j>=0;--j) cout<<a[j]<<"\t"; getch(); }

8/2

3/2

01

4

De

pt.

ofC

SE

9

Page 10: 1D Arrays Classnotesmit.pptx

Write a program to reverse an array using only one array.

void main()

{

int a[20],i,j,n, temp;

cout<<"enter n \n";

cin>>n;

cout<<“enter values for an array";

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

cin>>a[i];

8/2

3/2

01

4

De

pt.

ofC

SE

10

j=n-1; for(i=0;i<n/2; i++) {temp=a[i]; a[ i]=a[ j]; a[ j]=temp; j--; } cout<<"\n reverse\n\n"; for(i=0;i<n;i++) cout<<a[i]<<"\t"; getch(); }

Page 11: 1D Arrays Classnotesmit.pptx

8/2

3/2

01

4

De

pt.

ofC

SE

11

#include<iostream.h> #include<conio.h> void main() { int n,i,j,a[10],pos; clrscr(); cout<<"enter no of numbers"; cin>>n; cout<<"enter n numbers \n"; for(i=0;i<n;i++) cin>>a[i]; cout<<"enter the position, i.e index at which the element to

be deleted";

cin>>pos;

for(i=pos; i<n; i++) a[i] =a[i+1]; for(i=0;i<n-1;i++) cout<<a[i]<<endl; getch();}

WAP to delete an element from a specified position in a given array

Page 12: 1D Arrays Classnotesmit.pptx

Sorting-Ascending Selection sort algorithm

1. Find the minimum value in the list

2. Swap it with the value in the first position

3. Repeat the steps 1 and 2 for the remainder of the list (starting at the second position and advancing each time)

Example:

64 25 12 22 11

11 25 12 22 64

11 12 25 22 64

11 12 22 25 64

11 12 22 25 64

8/2

3/2

01

4

De

pt.

ofC

SE

13

Page 13: 1D Arrays Classnotesmit.pptx

void main() { int i,n,j,min,temp,a[30],k,pos; cout<<“\nHow many elements you want to sort: “

cin>>n; cout<<\nEnter the values one by one: “; for (i = 0; i < n i++) cin>>a[i];

//display before sorting for (i = 0; i < n-1; i++) { min = a[i];

pos=i; for (j = i+1; j < n; j++) { if (a[j] < min) {min = a[j];

pos=j;} }

a[pos] = a[i]; a[i] = min;

} //display after sorting }

8/2

3/2

01

4

De

pt.

ofC

SE

14

Page 14: 1D Arrays Classnotesmit.pptx

Bubble sort algorithm(Ascending order)

1. Compare the first and the second elements. If the first element is greater than the second element then interchange them.

2. Compare the second and the third elements. If the second element is greater than the third element then interchange them.

3. The process is repeated till the last element is reached and largest element occupies the N location. This is called as the first pass.

4. Repeat steps 1, 2 and 3 for the elements between 1 to (N-1), because Nth element is all ready sorted. At the end of this the next largest element occupies (N-1) Location. This is called as second pass.

5. The process is repeated for N-1 pass. At the end of this all the elements will be in a sorted order.

8/2

3/2

01

4

De

pt.

ofC

SE

15

Page 15: 1D Arrays Classnotesmit.pptx

Bubble Sort Example

8/2

3/2

01

4

De

pt.

ofC

SE

16

9, 6, 2, 12, 11, 9, 3, 7

6, 9, 2, 12, 11, 9, 3, 7

6, 2, 9, 12, 11, 9, 3, 7

6, 2, 9, 12, 11, 9, 3, 7

6, 2, 9, 11, 12, 9, 3, 7

6, 2, 9, 11, 9, 12, 3, 7

6, 2, 9, 11, 9, 3, 12, 7 6, 2, 9, 11, 9, 3, 7, 12

Page 16: 1D Arrays Classnotesmit.pptx

Bubble Sort Example

8/2

3/2

01

4

De

pt.

ofC

SE

17

6, 2, 9, 11, 9, 3, 7, 2, 6, 9, 11, 9, 3, 7 2, 6, 9, 9, 11, 3, 7, 2, 6, 9, 9, 3, 11, 7, 2, 6, 9, 9, 3, 7, 11, 12

6, 2, 9, 11, 9, 3, 7, 12 First Pass

Second Pass

Page 17: 1D Arrays Classnotesmit.pptx

Bubble Sort Example

8/2

3/2

01

4

De

pt.

ofC

SE

18

2, 6, 9, 9, 3, 7, 11, 2, 6, 9, 3, 9, 7, 11, 2, 6, 9, 3, 7, 9, 11, 12

6, 2, 9, 11, 9, 3, 7, 12

2, 6, 9, 9, 3, 7, 11, 12 Second Pass

First Pass

Third Pass

Page 18: 1D Arrays Classnotesmit.pptx

Bubble Sort Example

8/2

3/2

01

4

De

pt.

ofC

SE

19

2, 6, 9, 3, 7, 9, 11, 2, 6, 3, 9, 7, 9, 11, 12 2, 6, 3, 7, 9, 9, 11, 12

6, 2, 9, 11, 9, 3, 7, 12

2, 6, 9, 9, 3, 7, 11, 12 Second Pass

First Pass

Third Pass

2, 6, 9, 3, 7, 9, 11, 12 Fourth Pass

Page 19: 1D Arrays Classnotesmit.pptx

Bubble Sort Example

8/2

3/2

01

4

De

pt.

ofC

SE

20

2, 6, 3, 7, 9, 9, 11, 2, 3, 6, 7, 9, 9, 11, 12

6, 2, 9, 11, 9, 3, 7, 12

2, 6, 9, 9, 3, 7, 11, 12 Second Pass

First Pass

Third Pass

The list is now sorted but the algorithm does not know this until it

completes a pass with no exchanges.

2, 6, 9, 3, 7, 9, 11, 12 Fourth Pass

2, 6, 3, 7, 9, 9, 11, 12 Fifth Pass

Page 20: 1D Arrays Classnotesmit.pptx

Bubble Sort Example

8/2

3/2

01

4

De

pt.

ofC

SE

21 2, 3, 6, 7, 9, 9, 11, 12

6, 2, 9, 11, 9, 3, 7, 12

2, 6, 9, 9, 3, 7, 11, 12 Second Pass

First Pass

Third Pass

2, 6, 9, 3, 7, 9, 11, 12 Fourth Pass

2, 6, 3, 7, 9, 9, 11, 12 Fifth Pass

Sixth Pass 2, 3, 6, 7, 9, 9, 11, 12

Page 21: 1D Arrays Classnotesmit.pptx

Example Let the array contains "5 1 4 2 8“ elements. In each step, elements written in bold are being compared and swapped if required. First Pass:

( 5 1 4 2 8 ) ( 1 5 4 2 8 ), Swap since 5>1

( 1 5 4 2 8 ) ( 1 4 5 2 8 ), Swap since 5 > 4

( 1 4 5 2 8 ) ( 1 4 2 5 8 ), Swap since 5 > 2

( 1 4 2 5 8 ) ( 1 4 2 5 8 ), No swap Second Pass:

( 1 4 2 5 8 ) ( 1 4 2 5 8 )

( 1 4 2 5 8 ) ( 1 2 4 5 8 ), Swap since 4 > 2

( 1 2 4 5 8 ) ( 1 2 4 5 8 )

( 1 2 4 5 8 ) ( 1 2 4 5 8 )

8/2

3/2

01

4

De

pt.

ofC

SE

22

Page 22: 1D Arrays Classnotesmit.pptx

Third Pass:

( 1 2 4 5 8 ) ( 1 2 4 5 8 )

( 1 2 4 5 8 ) ( 1 2 4 5 8 )

( 1 2 4 5 8 ) ( 1 2 4 5 8 )

( 1 2 4 5 8 ) ( 1 2 4 5 8 )

Finally, the array is sorted, and the algorithm can terminate.

8/2

3/2

01

4

De

pt.

ofC

SE

23

Page 23: 1D Arrays Classnotesmit.pptx

void main() { int i,j,a[50],n,temp; clrscr(); cout<<"how many numbers"; cin>>n; cout<<"\n enter terms "; for(i=0;i<n;i++) cin>>a[i];

Cout<<“\Elemets before sort”; cout<<"\n sorted array is"; for(i=0;i<n;i++) cout<<a[i]<<"\n";

8/2

3/2

01

4

De

pt.

ofC

SE

24

for(i=0;i<n-1;i++) { for(j=0;j<n-i-1;j++) { if(a[j]>a[j+1]) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } cout<<"\n sorted array is"; for(i=0;i<n;i++) cout<<a[i]<<"\n"; getch(); }

Write a program to sort the elements in ascending order using bubble sort.

Page 24: 1D Arrays Classnotesmit.pptx

8/2

3/2

01

4

De

pt.

ofC

SE

25

Page 25: 1D Arrays Classnotesmit.pptx

8/2

3/2

01

4

De

pt.

ofC

SE

26

Page 26: 1D Arrays Classnotesmit.pptx

8/2

3/2

01

4

De

pt.

ofC

SE

27

Page 27: 1D Arrays Classnotesmit.pptx

8/2

3/2

01

4

De

pt.

ofC

SE

28

Page 28: 1D Arrays Classnotesmit.pptx

8/2

3/2

01

4

De

pt.

ofC

SE

29

#include<iostream.h> #include<conio.h> #include<stdio.h> void main() { int n,i,j,a[10],key,pos,found=0; clrscr(); cout<<"enter no of numbers"; cin>>n; for(i=0;i<n;i++) { cout<<"enter number\n"; cin>>a[i]; } cout<<"enter the element to be searched"; cin>>key;

WAP to search an element in an array using linear search

for(i=0;i<n;i++) { if(a[i]==key) { found=1; pos=i+1; break; } } if(found==1) { cout<<"element is found in "<<pos<<"position"<<endl; } else cout<<"no is not found"; getch(); }

Page 29: 1D Arrays Classnotesmit.pptx

8/2

3/2

01

4

De

pt.

ofC

SE

30

Page 30: 1D Arrays Classnotesmit.pptx

8/2

3/2

01

4

De

pt.

ofC

SE

31

Page 31: 1D Arrays Classnotesmit.pptx

8/2

3/2

01

4

De

pt.

ofC

SE

32

Page 32: 1D Arrays Classnotesmit.pptx

8/2

3/2

01

4

De

pt.

ofC

SE

33

low=0;high=n-1; while(low<=high) { mid=(low high)/2; if(a[mid]==key) { flag=1;break; } else if(a[mid]<key) low=mid+1; else high=mid-1; } if(flag==1) cout<<"\n search success"; else cout<<"\n search unsuccessful";

BINARY SEARCH PROCEDURE

Page 33: 1D Arrays Classnotesmit.pptx

Downloaded

From www.classnotesmit.blogspot.com

8/2

3/2

014

D

ep

t o

f C

.S.E

34