array presentation (engineerbabu.com)

23
SEMINAR ON ARRAYS UNDER THE GUIDENCE OF- Ms. PINKI MA’M PREPARED BY- SAURABH SHUKLA & SAURABH VYAS B.E. 2 nd Yr. 1Vth Sem

Upload: engineerbabu

Post on 20-Jan-2015

2.542 views

Category:

Education


0 download

DESCRIPTION

This is Array Presentation For All Engineers Visit http://www.engineerbabu.com/ for More

TRANSCRIPT

Page 1: Array Presentation (EngineerBaBu.com)

SEMINAR ON

ARRAYS

UNDER THE GUIDENCE OF-

Ms. PINKI MA’M

PREPARED BY-

SAURABH SHUKLA&

SAURABH VYAS

B.E. 2nd Yr. 1Vth Sem

Page 2: Array Presentation (EngineerBaBu.com)

04/10/23 2

ARRAYS

INTRODUCTION AND CHARACTERISTICS

AN ARRAY CAN BE DEFINED AS FINITE COLLECTION OF HOMOGENOUS (SIMILAR TYPE) ELEMENTS

AN ARRAY CAN STORE EITHER ALL INTEGERS,ALL FLOATING POINT NUMBERS,ALL CHARACTERS etc.

ARRAYS ARE ALWAYS STORED IN CONSECUTIVE MEMORY LOCATIONS IT CAN BE INITIALIZED EITHER DURING

DECLARATION TIME OR DURING RUN TIME

TYPES

ONE DIMENSIONAL ARRAY TWO DIMENSIONAL ARRAY . . MULTI DIMENSIONAL ARRAY

Page 3: Array Presentation (EngineerBaBu.com)

04/10/23 3

DECLARATION OF ONE DIMENSIONAL ARRAY

Data_type var_name[Expression]

Data Type is the type of elements to be stored in the array

Var_name is the name of the array like any Other variables

Expression specifies the number of elements to be stored In array

Example int num[10];

Num[0] =data1

Num[1] =data2

Num[2] =data3

Num[3] =data4

Num[4] =data5

Num[5] =data6

Num[6] =data7

Num[7] =data8

Num[8] =data9

Num[9] =data10

Page 4: Array Presentation (EngineerBaBu.com)

04/10/23 4

ACCESSING ONE DIMENSIONAL ARRAY ELEMENTS

#<Include<stdio.h>#include<conio.h>Void main() { Int a[10]; Clrscr();

Printf (“enter the array”);For (i=0;i<10;i++) {

Scanf(“%d”,&a[i]); }

Printf(“the entered array is”);For(i=0;i<10;i++)

{ printf(“%d”,a[i]);}

} getch();

}

Arrray declaration

Taking values from user

Printing the values

OUTPUT

Enter the array

1 2 3 4 5 6 7 8 9 10

Entered array is123456789

10

Page 5: Array Presentation (EngineerBaBu.com)

04/10/23 5

OPERATIONS IN ARRAY

INSERTION

DELETION

MERGING TWO ARRAYS

TRAVERSING

SORTING

SEARCHING

Page 6: Array Presentation (EngineerBaBu.com)

04/10/23 6

ALGORITHM

1.[INITIALIZE THE VALUE OF i] SET i =len

2.REPEAT FOR i=len DOWN TO pos {SHIFT ELEMENTS DOWN BY 1 POSITION}

SET a[i+1]=a[i] [END OF LOOP]

3.[INSERT THE ELEMENT AT REQUIRED POSITION]SET a[pos]=num

4.[RESET len] SET len =len +1

5.DISPLAY THE NEW LIST OF ARRAYS

6.END

INSERTION

Page 7: Array Presentation (EngineerBaBu.com)

04/10/23 7

INSERTIONINSERTIONInt i,len,pos,num;

Void main(){ int a[10];

Void insert (int a[ ],int,int,int);Printf(“enter integers to be read”);

Scanf(“%d”,&len);Printf(:enter ur array”);

For(i=0;1<len;i++){ scanf(“%d”,&a[i]); }

Printf(:enter position”);Scanf(“%d”,&pos);

--pos;Printf(:enter integer to be inserted”);

Scanf(“%d”,&num);Insert(a,len,pos,num);}

For(i=len;1pos;i--){a[i+1])=a[i]; }A{pos]=num;

Len ++;Printf(“new array is ”);

For(i=0;i<len;i++){ printf(“%d”,&a[i]); } }

ORIGINAL ARRAY

1 2 3 4 5 6 7 8

HOW IT WORKS

ENTER POSITION 4ENTER NUM 9

DURING PROCESSING

1 2 3 …….. 4 5 6 7 8

NEW ARRAY

1 2 3 …9…. 4 5 6 7 8

THE ACTUAL 4th POSITION

Page 8: Array Presentation (EngineerBaBu.com)

04/10/23 8

ALGORITHM

1.SET item=a[pos]

2.REPEAT FOR i=pos to (n-1) [SHIFTING ELEMENTS 1 POSITION DOWNWARDS]SET a[i]=a[i+1] [END OF LOOP]

3.RESET n=n-1

4.DISPLAY ELEMENTS OF NEW ARRAY

5.END

DELETION

Page 9: Array Presentation (EngineerBaBu.com)

04/10/23 9

DELETIONDELETIONInt i,n;

Void main(){ Int a[10],pos;

Void delete(int a[ ],int,int);Printf(“enter no of elements in array”);

Scanf(“%d”,&n);Printf(“enter ur array”);

For(i=0;i<n;i++)Scanf(“%d”,&a[i]);

Printf(:enter position”);Scanf(“%d”,&pos);

--pos;delete(a[ ],pos,n);

Void delete(int a [ ],int pos,int n){ int j item;

Item =a[pos];For(j=pos;j<n;j++)

a[j]=a[j+1];n=n-1; }

For(i=0;i<n;i++)printf(“%d”,&a[i]); }

HOW IT WORKSORIGINAL ARRAY

1 2 3 4 5 6 7 8

ENTER POSITION 4

DURING PROCESSING

1 2 3 4 5 6 7 8

NEW ARRAY

1 2 3 5 6 7 8

THE ACTUAL 4th POSITION

Page 10: Array Presentation (EngineerBaBu.com)

04/10/23 10

ALGORITHM

Letr LB be the lower bound andUB be the upper bound of linear array a

1.[initialize the counter] Set I at lower bound LB

2.Repeat for i=LB to UB

[visit element]Display element a[i][end of the loop]

3.EXIT

TRAVERSING

Page 11: Array Presentation (EngineerBaBu.com)

04/10/23 11

TRAVERSING AN ARRAYTRAVERSING AN ARRAY

#include<stdio.h>Void main ( )

{Int i,n,a[10];

printf)(“enter length of the array”);Scanf(“%d”,&n);

Printf(“enter ur array”);For(i=0;i<n;i++)

Scanf(“%d”,&a [ i ]);Printf(“traversing the array”);

For(i=0;i<n;i++)printf(“%d”,&a [ i ]);

}

OUTPUT

12345

TRAVERSING THE ARRAY

ENTER UR ARRAY1 2 3 4 5

ENTER LENGTH OF ARRAY 5

Page 12: Array Presentation (EngineerBaBu.com)

04/10/23 12

MERGING OF THE TWO ARRAYS

MERGING MEANS COMBINING ELEMENTS OF TWO ARRAYSTO FORM A NEW ARRAY

THIS CAN BE DONE IN 2 WAYS----

1. FIRST COPY ALL ELEMENTS OF ARRAY 1 TO ARRAY3 THEN ARRAY2 TO ARRAY3 THEN SORT THE RESULTANT ARRAY3

2. SECOND WAY IS TO SORT THE ARRAY DURING MERGING. THIS TECHNIQUE IS CALLED SORTING WHILE MERGING

AND IT IS MORE EFFICIENT ONE

Page 13: Array Presentation (EngineerBaBu.com)

04/10/23 13

void main(){int a[10],b[10],c[10],i,j,k=0,l,m,n;

cout<<"Enter sizeof array1 and array2” ; cin>>m>>n;

cout<<"Enter elements of 1st:\n"; for(i=0;i<m;i++){cin>>a[i];}

cout<<"Elements of 2nd list:\n"; for(i=0;i<n;i++) {cin>>b[i];} for(i=0;i<m;i++)

{c[i]=a[i];} for(j=0;j<n;j++) {c[j+m]=b[j];} for(i=0;i<(m+n);i++)

{for(j=0;j<(m+n);j++){if(c[i]<c[j])

{k=c[j]; c[j]=c[i];

c[i]=k; }}}cout<<"New merged array :";

for(i=0;i<(m+n);i++){cout<<c[i]<<"\t";}}

PROGRAM

OUTPUTOUTPUT

Enter size of array1 and array2

5

6

Enter elements of 1st:

5 9 16 50 80

Elements of 2nd list:

11 32 49 58 75 98

New merged array :

5 9 11 16 32 49 50 58 75 80 98

Page 14: Array Presentation (EngineerBaBu.com)

04/10/23 14

ALGORITHM SEARCHING

[ Insert item at the end of data ] set data[n+1]=item.

[ Initialize counter ] set loc = 1.

[ Search for item ]

Repeat while data[loc] =! Item

Set loc = loc +1.

[ Successful ] if loc=n+1 , then set loc = 0.

Exit

Page 15: Array Presentation (EngineerBaBu.com)

04/10/23 15

SEARCHINGSEARCHING

Int i,n;Void main(){ Int a[10],pos=-1,k;Printf(“enter no of elements in array”);Scanf(“%d”,&n);Printf(“enter ur array”);For(i=0;i<n;i++)Scanf(“%d”,&a[i]);Printf(:enter no. to be searched :”);Scanf(“%d”,&k); For(j=0;j<n;j++){if (k==a[j]){pos=i;break;} }If (pos>=0)printf(“\n%d is found in position %d”,k,pos+1);Elseprintf(“\nelement does not exist”);getch(); }

OUTPUT

Enter no of elements in array:

6

Enter ur array:

10 20 30 40 50 60

Enter no to be searched :

50

50 is found in position 5

OUTPUT

Enter no of elements in array:

6

Enter ur array:

10 20 30 40 50 60

Enter no to be searched :

45

Element does not exist

Page 16: Array Presentation (EngineerBaBu.com)

04/10/23 16

SORTINGSORTING

SORTING REFERS TO THE OPERATION OFARRANGING DATA IN SOME GIVEN SEQUENCE ie. ASCENDING OR DESCENDING ORDER.

SORTING IS OF 2 TYPES----

1.INTERNAL SORTING—MEANS ARRANGING THE NOs. WITHIN THE ARRAY ONLY WHICH IS IN CXOMPUTER PRIMARY

MEMORY.

2.EXTERNAL SORTING----IT IS THE SORTING OF NOs. FROM EXTERNAL FILE BY RADING IT FROM SECONFDARY

MEMORY.

TYPESTYPES

1.BUBBLE SORT 2.SELECTION SORT3.INSERTION SORT 4.QUICK SORT 5.MEARGE SORT etc.

Page 17: Array Presentation (EngineerBaBu.com)

04/10/23 17

SELECTION SORTINNG

THIS TECHNIQUE IS BASED UPON THE EXTENSION OF MINIMUM / MAXIMUM TECHNIQUE.

BY MEANS OF NESTED FOR LOOPS ,MINIMUM VALUE IS FOUND OUT.

ONCE THIS IS FOUND ,IT IS PLACED IN 1st POSITION OF ARRAY ie. Position 0

THEN WE’LL FIND THE NEXT SMALLEST ELEMENT FROM REMAINING ELEMENTS

AND NOW THIS ELEMENT IS PLACED IN 2nd POSITIONie. Position 1

Page 18: Array Presentation (EngineerBaBu.com)

04/10/23 18

PROGRAM

#include<stdio.h>void main()

{int a[10],i,n,j,x;printf("enter the value of n \n");

scanf("%d",&n);printf("enter array \n");

for(i=0;i<n;i++){ scanf("%d",&a[i]);}

printf(" ur unsorted array is \n");for(i=0;i<n;i++)

{ printf("%d ",a[i]);}for(i=0;i<n;i++)

{ for(j=0;j<n;j++) { if(a[j]>a[i]) { x=a[i]; a[i]=a[j];

a[j]=x; } } } printf(" ur sorted array is \n");

for(j=0;j<n;j++){printf("%d ",a[j]);}}

SELECTION SORTING

Page 19: Array Presentation (EngineerBaBu.com)

04/10/23 19

interchange

16 1315

EXAMPLE

ENTERED ARRAY a[0] a[1] a[2] a[3] a[4]

6PASS 1

1316 62 15PASS 2

1316 152 6PASS 3

1613 152 6PASS 4

1513 162 6PASS 5

132 616 15

2

Page 20: Array Presentation (EngineerBaBu.com)

04/10/23 20

BUBBLE SORTING

IN BUBBLE SORT, EACH ELEMENT IS COMPARED WITH ITS ADJECENT ELEMENT.IF 1st ELEMENT IS LARGER THAN THE 2nd ONE THE

POSITION GETS INTERCHANGED,OTHERWISE NOT.

AND NEXTELEMENT IS COMPARED WITH ITS ADJECENT ELEMENT AND SAME PROCESS IS REPEATED

EXAMPLE

INITIAL ELEMENTS (without sorting)11 15 2 13 6

Page 21: Array Presentation (EngineerBaBu.com)

04/10/23 21

EXAMPLE

11 13

ENTERED ARRAY a[0] a[1] a[2] a[3] a[4]

6PASS 1

613 1511 2PASS 2

136 152 11PASS 3

1113 152 6PASS 4

1311 152 6RESULT

132 611 15

215

Page 22: Array Presentation (EngineerBaBu.com)

04/10/23 22

LIMITATIONS OF LINEAR ARRAYS

THE PRIOR KNOWLEDGE OF NO. OF ELEMENTS IN THE LINEAR ARRAY IS NECESSARY

THESE ARE STATIC STRUCTURES STATIC IN THE SENSE THAT MEMORY IS ALLOCATED AT COMPILATION TIME, THEIR MEMORY USED BY THEM CAN’T BE REDUCED OR EXTENDED

SINCE THE ELEMENTS OF THIS ARRAYS ARE STORED IN THESE ARRAYS ARE TIME CONSUMING THIS IS B’COZ OF MOVING DOWN OR UP TO CREATE A SPACE OF NEW ELEMENT OR TO OCCUPY THE SPACE VACATED BY DELETED ELEMENT

Page 23: Array Presentation (EngineerBaBu.com)

04/10/23 23FROM SAURABH SHUKLA & SAURABH VYAS