0% found this document useful (0 votes)
45 views25 pages

One Dimensional Array-1

The document discusses one-dimensional arrays including declaring, initializing, accessing, and manipulating array elements. Key points covered include declaring arrays with a specified size, initializing array elements, reading and printing array elements, adding two arrays and storing in a third array, and reversing an array.

Uploaded by

Pratham Agarwal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views25 pages

One Dimensional Array-1

The document discusses one-dimensional arrays including declaring, initializing, accessing, and manipulating array elements. Key points covered include declaring arrays with a specified size, initializing array elements, reading and printing array elements, adding two arrays and storing in a third array, and reversing an array.

Uploaded by

Pratham Agarwal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

B.

TECH III SEM CSE


ACADEMIC YEAR: 2022-2023

Course Name: Data Structure and Algorithm

Topic: 1-Dimensional Array


Course code : CS 2103
Credits : 4
Mode of delivery : Hybrid (Power point presentation)
Faculty : Mr. Satpal Singh Kushwaha
Email-id : [email protected]
Assignment
quiz
Mid term examination – II Assessment criteria’s
End term Examination
8/29/2022 CSE 2103 Department of CSE 3
Session outcome

• At the end of session student will be able to

→Declare, initialize and access 1D array


→Write programs using 1D array

8/29/2022 CSE 2103 Department of CSE 4


Arrays
◼ Array form an important part of almost all
programming language.
◼ It provides a powerful feature and can be used as
such or can be used to form complex data
structures like stack and queue.
◼ An array can be defined as an infinite collection of
homogeneous (similar data type) elements.
◼ This means that an array can store either all integer,
all floating-point numbers, all characters or any
other complex data type but all same type.
Arrays

◼ Arrays are always stored in consecutive


memory locations.
◼ An array can store multiple value which can be
referenced by a single name unlike a simple
variable which store one value at a time.
Followed by an index or subscript, specified
inside a square bracket.
◼ Array name is actually a pointer to the first
location of the memory block allocation to the
name of the array.
Types of Arrays
◼ There are three types of arrays:
◼ One-Dimensional Arrays

◼ Two-Dimensional Arrays

◼ Multi-Dimensional Arrays
One-Dimensional Array
◼ A one-dimensional array is one in which only one
subscript specification is needed to specify a
particular element of the array.
◼ One dimensional array can be declared as
follows:
Datatype Array_Name [size];
◼ Data type is the type of elements to be stored in
the array.
◼ Variable name specifies the name of array, it may
be given any name like other simple variable.
Arrays
Array Declaration:
data-type name [size];

where data-type is a valid data type (like int, float, char...)


✓name is a valid identifier

✓size specifies how many elements the array has to contain.


▪ size field is always enclosed in square brackets [ ] and
takes static values.

▪ For example an array salary containing 5 elements is declared


as follows int salary [5];

8/29/2022 CSE 2103 Department of CSE 9


Arrays - One Dimensional

▪ A linear list of fixed number of data items of same type.


▪ These items are accessed using the same name using a single
subscript. E.g. roll[0], roll[1]…. or salary [1], salary [4]
▪ A list of items can be given one variable name using only one
subscript and such a variable is called a single-subscripted variable
or a one- dimensional array.

8/29/2022 CSE 2103 Department of CSE 10


Arrays - 1D
Total size:

The Total memory that can be allocated to 1Darray is


computed as

Total size =size *(sizeof(data_type));

where size→ number of elements in 1-D array

data_type→ basic data type.

sizeof()→ is an unary operator which returns the size


of data type in bytes.

8/29/2022 CSE 2103 Department of CSE 11


Arrays - 1D
If the values of array are 3, 2, 6, 1, 9 then these values are
stored in array arr as follows.
int main()
{
int arr[50],n; // declaration of ‘arr’
printf(" enter value of n\n“); // no of elements
scanf(“%d”, &n); // reading the limit into n
for(int i=0;i<n;i++)
{
scanf(“%d”,&arr[i]); // reading n elements
}
for(int i=0; i<n; i++) //displaying n elements

{ printf(“%d”,arr[i]);
printf(“\t”);}
return 0;
}
8/29/2022 CSE 2103 Department of CSE 12
Initializing one-dimensional array
int number[3] ={0,0,0}; or {0} ;
→ declares the variable number as an array of size 3
and will assign 0 to each element.

int age[ ] ={16,25,32,48,52,65};


→ declares the age array to contain 6 elements with
initial values 16, 25, 32, 48, 52, 65 respectively

8/29/2022 CSE 2103 Department of CSE 13


Initializing one-dimensional array with zeros

Initialize all the elements of an integer array


‘values’ to zero
int values[20];
Begin for loop
Initialize counter
Set limit for counter for ( int i=0; i<20; i++)
Increment counter

Initialize element in array ‘values’


values[i]=0;

8/29/2022 CSE 2103 Department of CSE 14


Printing one-dimensional array

For example

int x[3] = {9,11,13};

printf(“%d\n”,x[0]); Output:
9
printf(“%d\n”,x[1]);
11
printf(“%d\n”,x[2]); 13

int x[3] = {9,11,13};

for (int i = 0; i<3; i++)

printf(“%d\n”,x[i]);
8/29/2022 CSE 2103 Department of CSE 15
Program to read n elements into an array and
print it
int a[10], i, n;
printf("enter no of numbers“); Output:
scanf(“%d”,&n); enter no of numbers
3
printf(“enter n numbers \n”);
enter n numbers
for(i=0;i<n;i++) 9
scanf(“%d\n”,&a[i]); 11
13
Numbers entered are:
printf(“\nNumbers entered are:\n”); 9
for(i=0;i<n;i++) 11
printf(“%d\n”,a[i]); 13
8/29/2022 CSE 2103 Department of CSE 16
Program to add two array elements and store the
corresponding elements sum in another array

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


printf("enter no. of elements in if(m==n)
first array\n“); {
for(i=0;i<m;i++)
scanf(“%d”,&n);
c[i]=a[i]+b[i];
//first array
for(i=0;i<n;i++) printf(“Sum of given array
scanf(“%d”,&a[i]); elements\n”);
printf("enter no of elements in
for(i=0;i<n;i++)
second array\n“);
printf(“%d\n”,c[i]);
scanf(“%d”,&m); }
for(i=0;i<m;i++) //second array else
scanf(“%d”,&b[i]); printf("cannot add“);
}
8/29/2022 CSE 2103 Department of CSE 17
Displaying elements of an array in reverse order.

int a[10], n, i;
Example : a[ ]={1, 2, 3, 4, 5}
printf(“Enter values\n“); Enter values
n=5
for(i=0;i<n;i++) 12345
Reverse printing of array
scanf(“%d”,&a[i]); 5 4 3 2 1
Array before Array after
printf(“\nReverse order printing a[0]=1 a[0]=1
a[1]=2 a[1]=2
of array\n”); a[2]=3 a[2]=3
a[3]=4 a[3]=4
for(i=n-1;i>=0;i--) // reverse loop a[4]=5 a[4]=5

printf(“%d\n”,a[i]);
8/29/2022 CSE 2103 Department of CSE 18
Write a program to reverse an array using only
one array

{
Example : a[ ]={1, 2, 3, 4, 5}
int a[20], i, j, n, temp;
Enter values
printf("enter n \n“); n=5
12345
scanf(“%d”,&n); Reversed array
5 4 3 2 1
printf("\n Enter values for an array“); Array Reversed
array
for(i=0;i<n;i++) a[0]=1 a[0]=5
a[1]=2 a[1]=4
scanf(“%d”,&a[i]); a[2]=3 a[2]=3
a[3]=4 a[3]=2
Contd… a[4]=5 a[4]=1

8/29/2022 CSE 2103 Department of CSE 19


Reversing an array
for(i=0, j=n-1; i<n/2; i++, j--) Example :
a[ ]={1, 2, 3, 4, 5}
{
temp=a[i];
a[i]=a[j];
a[j]=temp;

printf("\n Reversed array: \n“); Output:


Enter values for an array
for(i=0;i<n;i++)
n=5
printf(“%d\t”,a[i]); 12345
Reversed array
} 5 4 3 2 1

8/29/2022 CSE 2103 Department of CSE 20


WAP to insert an element to an array at a given position
int a[100], n,i, pos,ele;
scanf(“%d”,&n); // number of elements Example : insert 9 at 2nd position
printf("\nEnter the elements of array:“); a[ ]={1, 2, 3, 4, 5}
for(i=0;i<n;i++)
New array after inserting 9 :
scanf(“%d”,&a[i]); a[ ]={1, 9, 2, 3, 4, 5}
printf("\nEnter the element and position of insertion:“);
scanf(“%d %d”,&ele,&pos);
for(i=n; i>=pos; i--) //shift the elements to right
a[i]=a[i-1];
a[pos-1] = ele;//ele is inserted at the specified pos.
n = n + 1; // increment the count of no of elements
printf("\nThe array after insertion is:“);
for(i=0;i<n; i++) printf(“%d\n”,a[i]);
8/29/2022 21
WAP to delete an element from an array

printf("enter no of elements in array“); Example : delete ele at 2nd position


a[ ]={1, 2, 3, 4, 5}
scanf(“%d”,&n);
printf("enter n elements \n“); New array after deleting 2:
a[ ]={1, 3, 4, 5}
for(i=0;i<n;i++)
scanf(“%d”,&a[i]);
printf("enter the position at which the element to be deleted“);
scanf(“%d”,&pos);
for(i=pos-1; i<n-1; i++)
a[i] =a[i+1]; //shift the elements to left
n = n-1;//decrement the count of no of elements
for(i=0;i<n;i++)
8/29/2022 printf(“%d”,a[i]); 22
Insert an element into a sorted array

Read array elements (in sorted order) & element ‘ele’ to be


inserted
Example: insert 3 into the array
/ / f indin g p o s it ion
a[ ] = {1, 2, 4, 5,6}
for(i=0;i<n;i++)
if (ele<a[i]) break;
New array after inserting 3 :
pos = i+1; //position of insertion a[ ] = {1, 2, 3, 4, 5,6}
for(i=n; i>=pos; i--) //shift the elements to right
a[i]=a[i-1];
a[pos-1] = ele;//ele is inserted at the specified pos.
n = n + 1; // increment the count of no of elements

8/29/2022 23
Address Calculation

Address of A[I] = B + W * (I – LB)

I = Index of element whose address to be found,


B = Base address,
W = Storage size of one element store in any array(in byte),
LB = Lower Limit/Lower Bound of subscript(If not specified assume zero).

8/29/2022 24
Address Calculation
Example: Given the base address of an array A[1300 ………… 1900] as 1020 and the size of
each element is 2 bytes in the memory, find the address of A[1700].
Solution:
Given:
Base address B = 1020
Lower Limit/Lower Bound of subscript LB = 1300
Storage size of one element store in any array W = 2 Byte
Index of element whose address to be found I = 1700
Formula used:
Address of A[I] = B + W * (I – LB)
Solution:
Address of A[1700] = 1020 + 2 * (1700 – 1300)
= 1020 + 2 * (400)
= 1020 + 800
Address of A[1700] = 1820

8/29/2022 25

You might also like