Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

5 6 Array

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 48

Data structure

 A Data structure is the organization of data in


memory.
 It defines how data are stored in computer
memory and the relationship among these data
 Also provide facilities to manipulate data in
memory
 Examples:
 Array, Linked List, Stack
 Queue, Graph, Tree
Ab xyz PQ
[0] 02.0
[1] 12.5 [0] [1] [2]

[2] 92.1
[3] 55.4
[4] 6.22
10 20 17 30 0
[0] [1] [2] [3] [4]
Types of Array
 One Dimentional Array

10 20 5 8 13

Three Dimentional Array


 Two Dimentional Array

14 56 78
45 23 31
12 56 32
Array
 Array organize similar type of data in
contigious memory location.

12 90 57 20

 This array containing all integer data


 An array can store either integer or float or
character type data
Example of declaring/creating Array in C

int roll [ 5] ;

Size of
Data Type of Array Array/Number of
element in array
Name of Array
Declaring Arrays

 To declare an array in C, a programmer


specifies
 Thetype of the elements
 Name of the Array and
 Number of elements(size of the array)

 Like this:
 ArrayType ArrayName [ArraySize];

Number of
elements in
Array
Create/declare an Array in C

 int roll[5];

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

 This array named as “roll” can store 5 integer


numbers
Assigning value in an Array

int roll[5]={10,20,17,30,9};
printf(“%d”, roll[4])
printf(“%d”, roll[2])

roll 10 20 17 30 9
[0] [1] [2] [3] [4]
int roll[5];
 roll[0]=10;
 roll[1]=20;
 roll[2]=17; printf(“%d”, roll[4])
printf(“%d”, roll[2])
 roll[3]=30;
 roll[4]=9;

roll 10 20 17 30 9
[0] [1] [2] [3] [4]
 How to declare a 2D array ?
 int abc[2][3];
How to take input from Keyboard
 int roll[5];
 scanf(“%d”,&roll[0]);
20
 scanf(“%d”,&roll[1]); 23
10
 scanf(“%d”,&roll[2]); 36
23
 scanf(“%d”,&roll[3]);
 scanf(“%d”,&roll[4]);
Advantages of arrays:
Advantage of Array
 Accessing Array is very fast.
 It is capable of storing many elements at a time
 It allows random accessing of elements
 i.e. any element of the array can be randomly
accessed using indexes.
 You can use one name for similar objects and save
then with the same name but different indices. 

 Arrays are very useful when you are working with


sequences of the same kind of data (similar to the
first point but has a different meaning).
Disadvantages of Array
Disadvantage of Array
 Can’t store different type of data
 Predetermining the size of the array is a
must.
 There is a chance of memory wastage
or shortage.
 To delete one element in the array, we
need to traverse throughout the array.
 Sometimes it's not easy to operate with
many indices arrays. 
Store some data (5 data) in an array and
shows it
 main()
 {
 int roll[5],i;
 for(i=0;i<=4;i=i+1)
 {
 scanf("%d",&roll[i]);
 }
 for(i=0;i<=4;i=i+1)
 {
 printf(“\t %d",roll[i]);
 }
 }
Store some data in array and shows it in
reverse order
 main()
 {
 int roll[5],i;
 for(i=0;i<=4;i++)
 {
 scanf("%d",&roll[i]);
 }
 for(i=4;i>=0;i--)
 {
 printf("%d",roll[i]);
 }
 getch();
 }
Takes some values from array and calculate
summation
 #include<stdio.h>
 main()
{
 int a[5]={2,6,1,3,7},i,s=0;
 for(i=0;i<=4;i=i+1)
 {
 s=s+a[i];
 }
 printf("%d",s);
}
How can u change the program for
adding 10 numbers
#include<stdio.h>
main()
{
 int A,B,Sum;
 scanf("%d %d" , &A, &B);
 Sum=A+B;
 printf("%d" , Sum);

}
Take 10 integer numbers from user and calculate
summation
 main()
{
 int a[10],i,s=0;
 for(i=0;i<=9;i++)
 {
 scanf("%d",&a[i]);
 s=s+a[i];
 }
 printf("%d",s);
}
Stem: solve the program by using
loop
 #include<stdio.h>
 main()
{
 int a,b,c, S;
 scanf(“%d %d %d" , &a, &b, &c);
 S=a+b+c;
 printf("%d",S);
}
Stem

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

Write a C program to take user data from


keyboard and store in the stem above.
How can the show the data at 2nd
position?
main()
{

 int a[5]={9,7,1,12,5},mx,i;

 mx=a[0];
 for(i=0;i<=4;i++)
 {
 if(a[i]>mx)
 mx=a[i];
}
 printf("maximum=%d",mx);
}
Count how many charecter and
digit in a string
 For 0 to 9 ASCII 48 to 57
 For A to Z and a to z ASCII 65 to 96 and 97 to
122
Sequential search using array
 main()
{
 int array[6], i,q;
 printf("Give 6 numbers of the Array ");
 for(i=1;i<=6;i++)
 {
 scanf("%d",&array[i]);
 }
 printf("Give a number to search in this array");
 scanf("%d",&q);
 for (i=1;i<=6;i++)
 {
 if (q==array[i])
 {
 printf("Found");
 break;
 }
 }
 getch();
 }
Sorting

 #include<conio.h>
 #include<stdio.h>
 main()
 {
 int n,i,j,tmp;

 int a[6];
 for(i=1;i<=6;i++)
 {
 scanf("%d",&a[i]);
 }

 for (i=1; i<=6;i++)
 {
 for (j=i+1; j<=6;j++)
 {
 if (a[i]>a[j])
 {
 tmp=a[i];
 a[i]=a[j];
 a[j]=tmp;
 }
 }
 }

 for(i=1;i<=6;i++)
 {
 printf("%d",a[i]);
 }
 getch();
 }
Reverse a string
 main()
 {
 int l,i,j;
 char a[20]={"RED WHITE"},tmp;
 l=strlen(a);
 j=l-1;

 for(i=0;i<l/2;i++)
 {
 tmp=a[i];
 a[i]=a[j];
 a[j]=tmp;
 j--;
 }
 puts(a);
 }
this program find how many 'x' in a
input string
 #include<conio.h>
 #include<stdio.h>
 #include<string.h>
 main()
 {
 char a[20];
 int i,l;
 gets(a);
 l=strlen(a);
 int count=0;
 for(i=0;i<l;i++)
 {
 if (a[i]=='x')
 count++;
 }
 printf(“%d”,count)
 getch();
 }
finds the largest number from a given
array
 main()
 {
 int a[4]={4,61,1,7},i;
 int max=a[0];
 for(i=0;i<=3;i++)
 {
 if (max<a[i])
 {
 max=a[i];
 }
 }
 printf("\n the maximum number is= %d",max);
 }
this program takes an integer value
and reverse it
 #include<conio.h>
 #include<iostream.h>

 void main()
 {
 clrscr();
 int n,x,r;
 cin>>n;
 do {
 r=n%10;
 x=n/10;
 n=x;
 cout<<r;
 }while(n>0);

 getch();
 }
this program takes n number of integer and
reverse it (not only shows it)
 #include<conio.h>
 #include<iostream.h>

 void main()
 {
 clrscr();
 int n,i,j,a[10],b[10];
 cin>>n;
 for(i=0;i<n;i++)
 {
 cin>>a[i];
 }
 // copy from a[] to b[]
 i=n-1;
 for(j=0;j<n;j++)
 {
 b[j]=a[i];
 i--;
 }
this program takes n number of integer and
reverse it use only one array which it used to
store first
 #include<conio.h>
 #include<iostream.h>
 void main()
 {
 int n,i,j,a[10],tmp;
 cin>>n;
 for(i=0;i<n;i++)
 {
 cin>>a[i];
 }
 j=n-1;
 for(i=0;i<n/2;i++)
 {
 tmp=a[i];
 a[i]=a[j];
 a[j]=tmp;
 j--;
 }
 for(i=0;i<n;i++)
 {
 cout<<a[i];
 }
 }
 // copy from b[] to a[]
 j=0;
 for(i=0;i<n;i++)
 {
 a[i]=b[j];
 j++;
 }
 // show the first array (it has been changed in reverse order)
 for(i=0;i<n;i++)
 {
 cout<<a[i];
 }

 getch();
 }
Adding two matrix( both are 2x3) A &
B and produce matrix C
 #include<conio.h>
 #include<iostream.h>
 main()
 {
 int a[2][3]={{1,2,3},{4,5,6}}, b[2][3]={{2,4,6},{8,10,12}},c[2][3];
 int i,j;
 cout<<"matrix A \n";
 for (i=0;i<=1;i++)
 {
 for(j=0;j<=2;j++)
 {
 cout<<a[i][j];
 }
 cout<<"\n";
 }
 cout<<"matrix B \n";
 for (i=0;i<=1;i++)
 {
 for(j=0;j<=2;j++)
 {
 cout<<b[i][j];
 }
 cout<<"\n";
 }
 cout<<"matrix C=A+B \n";
 for (i=0;i<=1;i++)
 {
 for(j=0;j<=2;j++)
 {
 c[i][j]=a[i][j]+b[i][j];
 cout<<c[i][j];
 }
 cout<<"\n";
 }

 getch();
C Program to Sort the Array in an Ascending
Order
 #include <stdio.h>
  
 void main()
 {
 int i, j, a, n, number[30];
  
 printf("Enter the value of N \n");
 scanf("%d", &n);
 printf("Enter the numbers \n");
 for (i = 0; i < n; ++i)
 scanf("%d", &number[i]);
 for (i = 0; i < n; ++i)
 {
 for (j = i + 1; j < n; ++j)
 {
 if (number[i] > number[j])
 {
 a = number[i];
 number[i] = number[j];
 number[j] = a;
 }
 }
 }
 printf("The numbers arranged in ascending order are given below \n");
 for (i = 0; i < n; ++i)
 printf("%d\n", number[i]);
 }
 $ cc pgm66.c
 $ a.out
 Enter the value of N
 6
 Enter the numbers
 3
 78
 90
 456
 780
 200
 The numbers arranged in ascending order are given below
 3
 78
 90
 200
 456
 780
Linear search c program

 #include <stdio.h>
  int main()
 {
 int array[100], search, c, n;
  
 printf("Enter the number of elements in array\n");
 scanf("%d",&n);
  
 printf("Enter %d integer(s)\n", n);
  
 for (c = 0; c < n; c++)
 scanf("%d", &array[c]);
  
 printf("Enter the number to search\n");
 scanf("%d", &search);
  
 for (c = 0; c < n; c++)
 {
 if (array[c] == search) /* if required element found */
 {
 printf("%d is present at location %d.\n", search, c+1);
 break;
 }
 }
 if (c == n)
 printf("%d is not present in array.\n", search);
  
 return 0;
 }
C Program to Read an Array and
Search(Binary) for an Element
 #include <stdio.h>
 void main()
 {
 int array[20];
 int i, low, mid, high, key, size;
  
 printf("Enter the size of an array\n");
 scanf("%d", &size);
 printf("Enter the array elements\n");
 for (i = 0; i < size; i++)
 {
 scanf("%d", &array[i]);
 }
 printf("Enter the key\n");
 scanf("%d", &key);
 /* search begins */
 low = 0;
 high = (size - 1);
 while (low <= high)
 {
 mid = (low + high) / 2;
 if (key == array[mid])
 {
 printf("SUCCESSFUL SEARCH\n");
 return;
 }
 if (key < array[mid])
 high = mid - 1;
 else
 low = mid + 1;
 }
 printf("UNSUCCESSFUL SEARCH\n");
 }

You might also like