Module 3 Arrays
Module 3 Arrays
Introduction:
2. Multi-dimensional array
data_type array_name[size];
Here,
A is the array
w is the word size of one element in memory, for example, size of int is 2.
Example 1:
=1000+2*4
=1000+8
=1008
Example 2:
=1000+4*4
=1000+16
=1016
where
Example 1:
Length=Upper_bound-Lower_bound+1
=4-0+1=5
Store
values in
the array
int a[5]={10,20,30,40,50}
int a[5]={10,20}
int a[ ]={10,20,30,40,50}
int a[5]={0}
int i, marks[10];
for(i=0;i<10;i++)
scanf(“%d”, &marks[i]);
arr1[i]={0,1,2,3,4,5,6,7,8,9};
for(i=0;i<10;i++)
arr2[i] = arr1[i];
#include<stdio.h>
void main()
int i,a[5];
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(i=0;i<5;i++)
printf("Array a[%d]=%d\n",i,a[i]);
Output:
Array a[0]=1
Array a[1]=2
Array a[2]=3
Array a[3]=4
Array a[4]=5
#include<stdio.h>
void main()
int i,a[20],n,key;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
scanf("%d",&key);
for(i=0;i<n;i++)
if(key==a[i])
Output:
#include<stdio.h>
void main()
int i,a[20],n,small,pos;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
small=a[0];
pos=0;
for(i=0;i<n;i++)
if(a[i]<small)
small=a[i];
pos=i;
Output:
Operations on array
1. Traversing an array
4. Merging 2 arrays
1. Traversing an array
• Traversing an array means accessing each and every element of the array
for a specific purpose.
a[i+1]=a[i];
a[pos]=num;
n++;
printf("The array after insertion of %d is :",num);
for(i=0;i<n;i++)
printf("\t%d",a[i]);
}
Output:
Step 2: EXIT
Step 6: EXIT
#include<stdio.h>
void main()
int i,a[20],n,pos;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
scanf("%d",&pos);
for(i=pos;i<n-1;i++)
a[i]=a[i+1];
n--;
for(i=0;i<n;i++)
printf("\nA[%d]=%d",i,a[i]);
Output:
A[0]=1
A[1]=2
A[2]=3
A[3]=4
4. Merging 2 arrays
#include <stdio.h>
void main()
int a1[10],a2[10],a3[10],i,n1,n2,m,index=0;
scanf("%d",&n1);
for(i=0;i<n1;i++)
scanf("%d",&a1[i]);
scanf("%d",&n2);
for(i=0;i<n2;i++)
scanf("%d",&a2[i]);
m=n1+n2;
for(i=0;i<n1;i++)
a3[index]=a1[i];
index++;
for(i=0;i<n2;i++)
a3[index]=a2[i];
index++;
for(i=0;i<m;i++)
printf("\t Arr3[%d]=%d\n",i,a3[i]);
Output:
Arr3[0]=1
Arr3[1]=2
Arr3[2]=3
Arr3[3]=4
Arr3[4]=5
Arr3[5]=6
• If the value is not present, the search process displays the appropriate
message.
SET POS=I
PRINT POS
Go to Step 6
[END OF IF]
SET I=I+1
[END OF LOOP]
[END OF IF]
Step6: EXIT
Nisha S K, Dept. of ECE, SVIT Page 14
Module-3: Functions and Arrays
Program:
#include<stdio.h>
void main()
int a[10],num,i,n,found=0,pos=-1;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
scanf("%d",&num);
for(i=0;i<n;i++)
if(a[i]==num)
found=1;
pos=i;
break;
if(found==0)
Output:
Binary Search:
#include<stdio.h>
void main()
int i,low,high,mid,n,key,a[20];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
scanf("%d",&key);
low=0;
high=n-1;
while(low<=high)
mid=(low+high)/2;
if(a[mid]==key)
break;
else if(a[mid]<key)
low=mid+1;
else
high=mid-1;
if(low>high)
Output:
3 found at location 3
#include<stdio.h>
void main()
int i,j,n,temp,a[20];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(a[j]>a[j+1])
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
for(i=0;i<n;i++)
printf("%d\t",a[i]);
Output:
#include<stdio.h>
void main()
int i,j,n,temp,a[20];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(a[j]<a[j+1])
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
for(i=0;i<n;i++)
printf("%d\t",a[i]);
Output:
#include<stdio.h>
void main()
int n,a[10],i;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
square(a[i]);
void square(int x)
printf("%d\t",x*x);
return;
Output:
#include<stdio.h>
void main()
int b[6]={1,2,3,4,5,6};
avg(b);
int i,Average,sum=0;
for(i=0;i<6;i++)
sum=sum+a[i];
Average=sum/6;
printf("Average=%d",Average);
Output:
Average=3