Sunteți pe pagina 1din 58

Total Number of Consonants in a String #include<stdio.h> #include<conio.h> #include<string.

h> void main() { int c=0,i,l,p; char a[10]; clrscr(); printf("program that gives total number of consonants in a string"); printf("\n\n\n\t\t------------INPUT-------------"); printf("\n\nenter any string");//taking input from the user scanf("%s",&a); l=strlen(a); for(i=0;i<l;i++)< div=""> { if(a[i]=='a' || a[i]=='e' || a[i]=='o' || a[i]=='i' || a[i]=='u') c++; } p=l-c; printf("\n\n\n\t\t------------OUTPUT------------"); printf("\n\nthe total no. of consonants in the string are=%d",p);//printing output getch(); }

2d example insertion sort #include <stdio.h> #include <conio.h> struct node { int number; struct node *next; }; struct node *head = NULL;

/* insert a node directly at the right place in the linked list */ void insert_node(int value); int main(void) { struct node *current = NULL; struct node *next = NULL; int test[] = {8, 3, 2, 6, 1, 5, 4, 7, 9, 0}; int i = 0; /* insert some numbers into the linked list */ for(i = 0; i < i =" 0;">next != NULL) { printf("%4d\t%4d\n", test[i++], head->number); head = head->next; } /* free the list */ for(current = head; current != NULL; current = next) next = current->next, free(current); return 0; } void insert_node(int value) { struct node *temp = NULL; struct node *one = NULL; struct node *two = NULL; if(head == NULL) { head = (struct node *)malloc(sizeof(struct node *)); head->next = NULL; } one = head; two = head->next; temp = (struct node *)malloc(sizeof(struct node *)); temp->number = value; while(two != NULL && temp->number <>number) { one = one->next; two = two->next; }

one->next = temp; temp->next = two; }

A bubblesort routine # include # include void bubblesort(int array[],int size); void main() { int values[10],j; for(j=0;j<10;j++) values[j] = rand()%100; /*unsorted*/ printf("\nUnsorted values.\n"); for(j=0;j<10;j++) printf("%d ",values[j]); /*sorted*/ printf("\nSorted values.\n"); bubblesort(values,10); for(j=0;j<10;j++) printf("%d ",values[j]); } void bubblesort(int array[],int size) { int tmp ,i,j; for(i = 0;i for(j=0;j < size;j++) if(array[i] < array[j]) { tmp = array[i]; array[i] = array[j]; array[j] = tmp;

} }

A simple example showing some comparison operators #include int main() { int number1 , number2; printf("Enter the number1 number to compare.\n"); scanf("%d",&number1); printf("Enter the number2 number to compare.\n"); scanf("%d",&number2); printf("number1 > number2 has the value %d\n", number1 > number2); printf("number1 < number2 has the value %d\n", number1 < number2); printf("number1 == number2 has the value %d\n", number1 == number2); return 0; }

AREA OF CIRCLE WAP to find out areA of circle #include void main () { float r,c; clrscr(); printf ("Enter Radius: "); scanf ("%f",&r); c=3.14*r*r; printf ("\nArea is : %.2f",c); getch (); } Output [IMG]file:///C:/Users/JEYAKI%7E1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.jpg[ /IMG] ARRANGE THE ELEMENTS IN ARRAY IN DESSENDING ORDER

main() { int a[100],i,n,j,search,temp; printf("\n how many no's in array"); scanf("%d",&n); printf("\n enter %d elements in array",n); for(i=0;i scanf("%d",&a[i]); for(i=0;i { for(j=i+1;j { if(a[i] { temp=a[i]; a[i]=a[j]; a[j]=temp; } } printf("%4d",a[i]); } getch(); }

Basic example showing constants usage in C #include /*constants for bonus rates and sales*/ #define BONUSRATE1 0.1 #define BONUSRATE2 0.15 #define BONUSRATE3 0.2 #define SALES1 2000 #define SALES2 5000 #define SALES3 10000 int main() { int sales; double commission; /*get employees sales*/ printf("Please enter your total sales to the nearest dollar.\n"); scanf("%d", &sales); /*calculate employees bonus based on info*/ if(sales <=2000) {

commission = sales * BONUSRATE1; printf("%g\n" , commission); } else if(sales > 2000 && sales <=5000) { commission = sales * BONUSRATE2; printf("%g\n" , commission); } else { commission = sales * BONUSRATE3; printf("%g\n" , commission); } return 0; }

Binary search #define TRUE 0 #define FALSE 1 int main(void) { int array[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int left = 0; int right = 10; int middle = 0; int number = 0; int bsearch = FALSE; int i = 0; printf("ARRAY: "); for(i = 1; i <= 10; i++) printf("[%d] ", i); printf("\nSearch for Number: "); scanf("%d", &number); while(bsearch == FALSE && left <= right) { middle = (left + right) / 2; if(number == array[middle])

{ bsearch = TRUE; printf("** Number Found **\n"); } else { if(number < array[middle]) right = middle - 1; if(number > array[middle]) left = middle + 1; } } if(bsearch == FALSE) printf("-- Number Not found --\n"); return 0; }

Bubble sort - linked list #define MAX 10 struct lnode { int data; struct lnode *next; } *head, *visit; /* add a new entry to the linked list */ void llist_add(struct lnode **q, int num); /* preform a bubble sort on the linked list */ void llist_bubble_sort(void); /* print the entire linked list */ void llist_print(void); int main(void) { /* linked list */ struct lnode *newnode = NULL; int i = 0; /* a general counter */ /* load some random values into the linked list */ for(i = 0; i < MAX; i++) { llist_add(&newnode, (rand() % 100)); } head = newnode; printf("Before bubble sort:\n");

llist_print(); printf("After bubble sort:\n"); llist_bubble_sort(); llist_print(); return 0; } /* adds a node at the end of a linked list */ void llist_add(struct lnode **q, int num) { struct lnode *tmp; tmp = *q; /* if the list is empty, create first node */ if(*q == NULL) { *q = malloc(sizeof(struct lnode)); tmp = *q; } else { /* go to last node */ while(tmp->next != NULL) tmp = tmp->next; /* add node at the end */ tmp->next = malloc(sizeof(struct lnode)); tmp = tmp->next; } /* assign data to the last node */ tmp->data = num; tmp->next = NULL; } /* print the entire linked list */ void llist_print(void) { visit = head; while(visit != NULL) { printf("%d ", visit->data); visit = visit->next; } printf("\n"); }

/* preform a bubble sort on the linked list */ void llist_bubble_sort(void) { struct lnode *a = NULL; struct lnode *b = NULL; struct lnode *c = NULL; struct lnode *e = NULL; struct lnode *tmp = NULL; /* // the `c' node precedes the `a' and `e' node // pointing up the node to which the comparisons // are being made. */ while(e != head->next) { c = a = head; b = a->next; while(a != e) { if(a->data > b->data) { if(a == head) { tmp = b -> next; b->next = a; a->next = tmp; head = b; c = b; } else { tmp = b->next; b->next = a; a->next = tmp; c->next = b; c = b; } } else { c = a; a = a->next; } b = a->next; if(b == e) e = a; } }

bubble sort #include <stdio.h>

void bubble_sort(int a[], int size); int main(void) { int arr[10] = {10, 2, 4, 1, 6, 5, 8, 7, 3, 9}; int i = 0; printf("before:\n"); for(i = 0; i < 10; i++) printf("%d ", arr[i]); printf("\n"); bubble_sort(arr, 10); printf("after:\n"); for(i = 0; i < 10; i++) printf("%d ", arr[i]); printf("\n"); return 0; } void bubble_sort(int a[], int size) { int switched = 1; int hold = 0; int i = 0; int j = 0; size -= 1; for(i = 0; i < size && switched; i++) { switched = 0; for(j = 0; j < size - i; j++) if(a[j] > a[j+1]) { switched = 1; hold = a[j]; a[j] = a[j + 1]; a[j + 1] = hold; }

} }

Bubble sort in string array #include <stdio.h> #include <conio.h> #include <string.h>

#define MAX 50 #define N 2000 void sort_words(char *x[], int y); void swap(char **, char **); int main(void) { char word[MAX]; char *x[N]; int n = 0; int i = 0; for(i = 0; scanf("%s", word) == 1; ++i) { if(i >= N) printf("Limit reached: %d\n", N), exit(1); x[i] = calloc(strlen(word)+1, sizeof(char)); strcpy(x[i], word); } n = i; sort_words(x, n); for(i = 0; i < n; ++i) printf("%s\n", x[i]); return(0); } void sort_words(char *x[], int y) {

int i = 0; int j = 0; for(i = 0; i < y; ++i) for(j = i + 1; j < y; ++j) if(strcmp(x[i], x[j]) > 0) swap(&x[i], &x[j]); } void swap(char **p, char **q) { char *tmp; tmp = *p; *p = *q; *q = tmp; }

C Program to calcuate interest and total amount at the end of each year #include <stdio.h> #include <conio.h> void main() { int t=1; int r=2; int y;

int y1=0; long int p,a; float i1; double total;; clrscr(); printf("enter starting amount&year"); scanf("%ld""%d",&p,&y); while(y1<2009) i1="(p*r*t)/100;" total="i1+a+p;" p="p+a;" style="color: rgb(255, 0, 0);">

calculate the power in watts #include int main() { float power,voltage,current; voltage = current = 0; printf("Power calculator.\n"); printf("This will calculate the power in watts , "); printf("when you input the voltage and current."); /*get the voltage*/ printf("Enter the voltage in volts.\n"); scanf("%f",&voltage); /*get the current*/ printf("Enter the current in amps.\n"); scanf("%f",t); /*calculate the power*/ power = voltage * current; printf("The power in watts is %.2f watts\n",power); return 0; }

count occurrences of values in an array #include void print_arr(int grades[], int elements); int count_passes(int grades[], int elements,int value); int main(void) { int grades[10] = {70,80,95,65,35,85,54,78,45,68}; int result; print_arr(grades,10); result = count_passes(grades,10,70); if(result == 1)

printf("There was %d pass.\n",result); else printf("There were %d passes.\n",result); return 0; } void print_arr(int grades[], int elements) { int i; for(i = 0;i < elements;i++) { printf("%d ",grades[i]); } printf("\n"); } int count_passes(int grades[], int elements,int value) { int i ,passes = 0 ; for(i = 0;i < elements;i++) { if(grades[i] >= value) passes++; } return(passes); }

Qserch , string, dynamic pointer array #include "stdio.h" #include "stdlib.h" #include "string.h" void sortstrarr(void *array, unsigned n); static int cmpr(const void *a, const void *b); int main (void) { char **strarray = NULL; int i = 0, strcount = 0; char line[1024]; while((fgets(line, 1024, stdin)) != NULL)

{ if(strlen(line) == 1) continue; strarray = (char **)realloc(strarray, (strcount + 1) * sizeof(char *)); strarray[strcount++] = strdup(line); } printf("### Before ###\n"); for(i = 0; i < strcount; i++) printf("%2d: %s", i, strarray[i]); sortstrarr(strarray, strcount); printf("### After ###\n"); for(i = 0; i < strcount; i++) printf("%2d: %s", i, strarray[i]); /* free mem... */ for(i = 0; i < strcount; i++) free(strarray[i]); free(strarray); return 0; } static int cmpr(const void *a, const void *b) { return strcmp(*(char **)a, *(char **)b); } void sortstrarr(void *array, unsigned n) { qsort(array, n, sizeof(char *), cmpr); }

Factorial Function In C #include "stdio.h" #include "conio.h" long int factorial(int n); void main() { int n,i; float s,r; char c;

clrscr(); repeat : printf("You have this series:- 1/1! + 2/2! + 3/3! + 4/4!"); printf("To which term you want its sum? "); scanf("%d",&n); s=0; for (i=1;i<=n;i++) { s=s+((float)i/(float)factorial(i)); } printf("The sum of %d terms is %f",n,s); fflush(stdin); printf ("Do you want to continue?(y/n):- "); scanf("%c",&c); if (c=='y') goto repeat; getch(); } long int factorial(int n) { if (n<=1) return(1); else n=n*factorial(n-1); return(n); }

FIND THE SUM OF DIGIT THREE Numbers /* FIND THE SUM OF DIGIT THREE NO'S*/ #include "math.h" main() { int d,d1,d2,d3,r1,r2,sum; clrscr(); printf("\n enter any three digit no's"); scanf("%d",&d); d1=d/100; r1=d%100; if(r1!=0) { d2=r1/10; r2=r1%10; if(r2!=0) d3=r2; else

d3=0; } else d2=0; d3=0; } sum=d1+d2+d3; printf("\n sum of 3 digit no is %d",sum); getch(); } Hsort, heap sort /* array of MAXARRAY length ... */ #define MAXARRAY 5 /* preform the heapsort */ void heapsort(int ar[], int len); /* help heapsort() to bubble down starting at pos[ition] */ void heapbubble(int pos, int ar[], int len); int main(void) { int array[MAXARRAY]; int i = 0; /* load some random values into the array */ for(i = 0; i < MAXARRAY; i++) array[i] = rand() % 100; /* print the original array */ printf("Before heapsort: "); for(i = 0; i < MAXARRAY; i++) { printf(" %d ", array[i]); } printf("\n"); heapsort(array, MAXARRAY); /* print the `heapsorted' array */ printf("After heapsort: "); for(i = 0; i < MAXARRAY; i++) { printf(" %d ", array[i]); } printf("\n");

return 0; } void heapbubble(int pos, int array[], int len) { int z = 0; int max = 0; int tmp = 0; int left = 0; int right = 0; z = pos; for(;;) { left = 2 * z + 1; right = left + 1; if(left >= len) return; else if(right >= len) max = left; else if(array[left] > array[right]) max = left; else max = right; if(array[z] > array[max]) return; tmp = array[z]; array[z] = array[max]; array[max] = tmp; z = max; } } void heapsort(int array[], int len) { int i = 0; int tmp = 0; for(i = len / 2; i >= 0; --i) heapbubble(i, array, len); for(i = len - 1; i > 0; i--) { tmp = array[0];

array[0] = array[i]; array[i] = tmp; heapbubble(0, array, i); } } Program for demonstration of Tree Operations - INSERTION, INORDER . #include <stdio.h> #include <conio.h> # include struct node { struct node *left; int data; struct node *right; }; void main() { void insert(struct node **,int); void inorder(struct node *); void postorder(struct node *); void preorder(struct node *); struct node *ptr; int will,i,num; ptr = NULL; ptr->data=NULL; clrscr(); printf("Enter the number of terms you want to add to the tree."); scanf("%d",&will); /* Getting Input */ for(i=0;i { printf("Enter the item"); scanf("%d",&num); insert(&ptr,num); } getch(); printf("INORDER TRAVERSAL"); inorder(ptr); getch(); printf("PREORDER TRAVERSAL");

preorder(ptr); getch(); printf("POSTORDER TRAVERSAL"); postorder(ptr); getch(); }

void insert(struct node **p,int num) {

if((*p)==NULL) { printf("Leaf node created."); (*p)=malloc(sizeof(struct node)); (*p)->left = NULL; (*p)->right = NULL; (*p)->data = num; return; } else { if(num==(*p)->data) { printf("REPEATED ENTRY ERROR VALUE REJECTED"); return; } if(num<(*p)->data) { printf(" Directed to left link."); insert(&((*p)->left),num); } else { printf("Directed to right link."); insert(&((*p)->right),num); } } return; }

void inorder(struct node *p) {

if(p!=NULL) { inorder(p->left); printf("Data :%d",p->data); inorder(p->right); } else return; }

void preorder(struct node *p) { if(p!=NULL) { printf("Data :%d",p->data); preorder(p->left); preorder(p->right); } else return; }

void postorder(struct node *p) { if(p!=NULL) { postorder(p->left); postorder(p->right); printf(" Data :%d",p->data); } else return; } Program for demonstration of Tree Operations - INSERTION, INORDER . # include # include # include struct node { struct node *left; int data; struct node *right;

}; void main() { void insert(struct node **,int); void inorder(struct node *); void postorder(struct node *); void preorder(struct node *); struct node *ptr; int will,i,num; ptr = NULL; ptr->data=NULL; clrscr(); printf("Enter the number of terms you want to add to the tree."); scanf("%d",&will); /* Getting Input */ for(i=0;i { printf("Enter the item"); scanf("%d",&num); insert(&ptr,num); } getch(); printf("INORDER TRAVERSAL"); inorder(ptr); getch(); printf("PREORDER TRAVERSAL"); preorder(ptr); getch(); printf("POSTORDER TRAVERSAL"); postorder(ptr); getch(); }

void insert(struct node **p,int num) {

if((*p)==NULL) { printf("Leaf node created."); (*p)=malloc(sizeof(struct node));

(*p)->left = NULL; (*p)->right = NULL; (*p)->data = num; return; } else { if(num==(*p)->data) { printf("REPEATED ENTRY ERROR VALUE REJECTED"); return; } if(num<(*p)->data) { printf(" Directed to left link."); insert(&((*p)->left),num); } else { printf("Directed to right link."); insert(&((*p)->right),num); } } return; }

void inorder(struct node *p) { if(p!=NULL) { inorder(p->left); printf("Data :%d",p->data); inorder(p->right); } else return; }

void preorder(struct node *p) { if(p!=NULL) { printf("Data :%d",p->data);

preorder(p->left); preorder(p->right); } else return; }

void postorder(struct node *p) { if(p!=NULL) { postorder(p->left); postorder(p->right); printf(" Data :%d",p->data); } else return; }

Isort, insertion sort #include <stdio.h>

void isort(float arr[], int n); int fm(float arr[], int b, int n); int main(void) { float arr1[5] = {4.3, 6.7, 2.8, 8.9, 1.0}; float arr2[5] = {4.3, 6.7, 2.8, 8.9, 1.0}; int i = 0; isort(arr2, 5); printf("\nBefore\tAfter\n--------------\n"); for(i = 0; i < 5; i++) printf("%.2f\t%.2f\n", arr1[i], arr2[i]); return 0; } int fm(float arr[], int b, int n) {

int f = b; int c; for(c = b + 1; c < n; c++) if(arr[c] < arr[f]) f = c; return f; } void isort(float arr[], int n) { int s, w; float sm; for(s = 0; s < n - 1; s++) { w = fm(arr, s, n); sm = arr[w]; arr[w] = arr[s]; arr[s] = sm; } }

Insertion sort in linked list struct lnode { char *str; struct lnode *next; }; struct lnode *insert(char *data, struct lnode *list); void free_list(struct lnode *list); void print_list(struct lnode *list); int main(void) { char line[1024]; struct lnode *list; list = NULL; while((fgets(line, 1024, stdin)) != NULL) list = insert(line, list); print_list(list); free_list(list); return 0;

} struct lnode *insert(char *data, struct lnode *list) { struct lnode *p; struct lnode *q; /* create a new node */ p = (struct lnode *)malloc(sizeof(struct lnode)); /* save data into new node */ p->str = strdup(data); /* first, we handle the case where `data' should be the first element */ if(list == NULL || strcmp(list->str, data) > 0) { /* apperently this !IS! the first element */ /* now data should [be|becomes] the first element */ p->next = list; return p; } else { /* search the linked list for the right location */ q = list; while(q->next != NULL && strcmp(q->next->str, data) < 0) { q = q->next; } p->next = q->next; q->next = p; return list; } } void free_list(struct lnode *list) { struct lnode *p; while(list != NULL) { p = list->next; free(list); list = p; } } void print_list(struct lnode *list) { struct lnode *p; for(p = list; p != NULL; p = p->next) printf("%s", p->str); }

UPPER, LOWER AND REVERSE WAP to find length of string and show it in upper, lower and reverse order void main () { char str [20]; clrscr (); printf ("Enter your name: "); gets (str); printf("\nLength is : %d",strlen(str)); printf("\nUpper is : %s",strupr(str)); printf("\nLower is : %s",strlwr(str)); printf("\nReverese is : %s",strrev(str)); getch (); }

[IMG]file:///C:/Users/JEYAKI%7E1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg[ /IMG]

Linked List implementation #include"m_list.h" void main() { list *first=NULL,*second=NULL,*third=NULL; int choice,i; char ch='y'; while(1) { clrscr(); printf(" case 1: Create list"); printf(" case 2: Add in the list"); printf(" case 3: Delete in the list"); printf(" case 4: Append two list"); printf(" case 5: show list"); printf(" case 6: Exit"); printf(" Enter your choice : "); scanf("%d",&choice);

switch(choice) { case 1: //create list while(ch!='n') { printf("Enter element : "); scanf("%d",&i); create(&first,i); printf("Enter element (y/n) : "); fflush(stdin); scanf("%c",&ch); } break; case 2: //add in the list int c; clrscr(); printf("case 1: Add in Beginning"); printf("case 2: Add in End"); printf("case 3: Add After a given element"); printf("case 4: Return to main menu"); printf("Enter your choice : "); scanf("%d",&c); switch(c) { case 1: add_at_beg(&first); break; case 2: add_at_end(&first); break; case 3: add_after_given_element(&first); break; case 4: break; } break; case 3: clrscr(); printf("case 1: Delete in Beginning"); printf("case 2: Delete in End"); printf("case 3: Delete a specified element"); printf("case 4: Return to main menu"); printf("Enter your choice : "); scanf("%d",&c); switch(c) { case 1: del_at_beg(&first); break; case 2: del_at_end(&first);

break; case 3: del_specified_element(&first); break; case 4: break; } break; case 4: char ch='y'; printf("Enter element in second list : "); while(ch!='n') { printf("Enter element : "); scanf("%d",&i); create(&second,i); printf("Enter element (y/n) : "); fflush(stdin); scanf("%c",&ch); } append(&third,first,second); break; case 5: //show list clrscr(); printf(" case 1: List 1"); printf(" case 2: List 2"); printf(" case 3: List 3"); printf(" Enter choice : "); scanf("%d",&choice); switch(choice) { case 1: show(first);break; case 2: show(second);break; case 3: show(third);break; } break; case 6: exit(0); }

} }

********************************* #include #include #include #include typedef struct list { int info; struct list *next; }; //.................Function Declaration ........... void create(struct list **p,int i) { struct list *temp,*q=*p; temp=(struct list*)malloc(sizeof(struct list)); temp->info=i; temp->next=NULL; if(*p==NULL) *p=temp; else { while(q->next!=NULL) q=q->next; q->next=temp; } } int append(struct list **t,struct list *f,struct list *s) { struct list *temp=*t; if(f==NULL && s==NULL) return 0; while(f) { create(t,f->info); f=f->next; } while(s) { create(t,s->info); s=s->next; }

return 0; } void show(struct list *p) { if(p==NULL) printf(" List is Empty"); else while(p) { printf("%d ",p->info); p=p->next; } getch(); } void add_at_beg(struct list **l) { struct list *temp=(struct list *)malloc(sizeof(struct list)); printf(" Enter element : "); scanf("%d",&temp->info); temp->next=NULL; if(*l==NULL) *l=temp; else { temp->next=*l; *l=temp; } } void del_at_beg(struct list **l) { list *temp; if(*l==NULL) { printf(" List is empty"); getch(); } else { temp=*l; *l=(*l)->next; free(temp); } } void add_at_end(struct list **l)

{ list *temp,*p; temp=(struct list *)malloc(sizeof(struct list)); printf(" Enter element : "); scanf("%d",&temp->info); temp->next=NULL; if(*l==NULL) *l=temp; else { p=*l; while(p->next!=NULL) p=p->next; p->next=temp; } } void del_at_end(struct list **l) { list *temp,*p; if(*l==NULL) { printf(" List is Empty"); getch(); } else if((*l)->next==NULL) { temp=*l; *l=NULL; free(temp); } else { p=*l; while(p->next->next!=NULL) p=p->next; temp=p->next->next; p->next=NULL; free(temp); } } void add_after_given_element(list **l) { list *temp,*p;

int m; temp=(struct list *)malloc(sizeof(struct list)); printf(" Enter element : "); scanf("%d",&temp->info); printf(" Enter position after which element inserted : "); scanf("%d",&m); temp->next=NULL; if(*l==NULL) *l=temp; else { p=*l; while(p->next!=NULL) if(p->info==m) break; else p=p->next; temp->next=p->next; p->next=temp; } } void del_specified_element(list **l) { list *temp,*p,*q; int m; printf(" Enter element which is deleted : "); scanf("%d",&m); if(*l==NULL) { printf(" List is Empty"); getch(); } else if((*l)->next!=NULL && (*l)->info==m) { temp=*l; *l=(*l)->next; free(temp); } else if((*l)->next==NULL && (*l)->info==m) {

temp=*l; *l=NULL; free(temp); } else { p=*l; while(p!=NULL) if(p->info==m) break; else { q=p; p=p->next; } temp=p; q->next=p->next; free(temp); } } UPPER, LOWER AND REVERSE WAP to find length of string and show it in upper, lower and reverse order void main () { char str [20]; clrscr (); printf ("Enter your name: "); gets (str); printf("\nLength is : %d",strlen(str)); printf("\nUpper is : %s",strupr(str)); printf("\nLower is : %s",strlwr(str)); printf("\nReverese is : %s",strrev(str)); getch (); }

[IMG]file:///C:/Users/JEYAKI%7E1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg[ /IMG]

Matrix Multiplication void main() { int row1=0, col1=1,

row2=0, col2=0, **matrix1, **matrix2, **result; clrscr(); printf(" Enter number of row for first matrix "); scanf("%d",&row1); while (col1!=row2) { printf(" Enter number of column for first matrix "); scanf("%d",&col1); printf(" Enter number of row for second matrix "); scanf("%d",&row2); if (col1!=row2) { clrscr(); printf("Column number of first matrix must be same as the row number of second matrix"); }

printf(" Enter number of column for second matrix "); scanf("%d",&col2); matrix1=init(matrix1,row1,col1); matrix2=init(matrix2,row2,col2); /* setting values in matrix */ printf("First matrix \n"); set(matrix1,row1,col1); printf("Second matrix \n"); set(matrix2,row2,col2); /* printint matrix */ clrscr(); printf(" [ First matrix ]\n"); get(matrix1,row1,col1); printf(" [ Second matrix ]\n"); get(matrix2,row2,col2); printf(" [ Multiplication Result ]\n");

result=mul(matrix1,matrix2,row1,col2,col1); get(result,row1,col2); printf("\n\t\t Thanks from debmalya jash"); getch(); free(matrix1); free(matrix2); fress(result);

} /* end main */

/* to initialize matrix */ int** init(int** arr,int row,int col) { int i=0, j=0; arr=(int**)malloc(sizeof(int)*row*col); for(i=0;i { for(j=0;j { *((arr+i)+j)=(int*)malloc(sizeof(int)); *(*(arr+i)+j)=0; } } return arr; } /* to set value in matrix */ int** set(int** arr,int row,int col) { int i=0, j=0, val=0; for(i=0;i { for(j=0;j { printf("Enter value for row %d col %d :",(i+1),(j+1)); scanf("%d",&val); *(*(arr+i)+j)=val; }

} return arr; }

/* print values of the passed matrix */ void get(int** arr,int row,int col) { int i=0, j=0; for(i=0;i { for(j=0;j { printf("%d\t",*(*(arr+i)+j)); } printf("\n"); } } /* mutiply two matrices and return the resultant matrix */ int** mul(int** arr1,int** arr2,int row,int col,int col1) { int **result, i=0, j=0, k=0; result=init(result,row,col); for(i=0;i { for(j=0;j { for(k=0;k { printf("%dX%d(%d)",*(*(arr1+i)+k),*(*(arr2+k)+j),( *(*(arr1+i)+k))*(*(*(arr2+k)+j))); *(*(result+i)+j)+=(*(*(arr1+i)+k))*(*(*(arr2+k)+j) ); if (k!=(col1-1)) printf("+"); } printf("\t"); } printf("\n");

} return result;

Merge sort - linked list struct node { int number; struct node *next; }; /* add a node to the linked list */ struct node *addnode(int number, struct node *next); /* preform merge sort on the linked list */ struct node *mergesort(struct node *head); /* merge the lists.. */ struct node *merge(struct node *head_one, struct node *head_two); int main(void) { struct node *head; struct node *current; struct node *next; int test[] = {8, 3, 2, 6, 1, 5, 4, 7, 9, 0}; int i; head = NULL; /* insert some numbers into the linked list */ for(i = 0; i < 10; i++) head = addnode(test[i], head); /* sort the list */ head = mergesort(head); /* print the list */ printf(" before after\n"), i = 0; for(current = head; current != NULL; current = current->next) printf("%4d\t%4d\n", test[i++], current->number); /* free the list */ for(current = head; current != NULL; current = next) next = current->next, free(current); /* done... */ return 0; } /* add a node to the linked list */

struct node *addnode(int number, struct node *next) { struct node *tnode; tnode = (struct node*)malloc(sizeof(*tnode)); if(tnode != NULL) { tnode->number = number; tnode->next = next; } return tnode; } /* preform merge sort on the linked list */ struct node *mergesort(struct node *head) { struct node *head_one; struct node *head_two; if((head == NULL) || (head->next == NULL)) return head; head_one = head; head_two = head->next; while((head_two != NULL) && (head_two->next != NULL)) { head = head->next; head_two = head->next->next; } head_two = head->next; head->next = NULL; return merge(mergesort(head_one), mergesort(head_two)); } /* merge the lists.. */ struct node *merge(struct node *head_one, struct node *head_two) { struct node *head_three; if(head_one == NULL) return head_two; if(head_two == NULL) return head_one; if(head_one->number < head_two->number) { head_three = head_one; head_three->next = merge(head_one->next, head_two);

} else { head_three = head_two; head_three->next = merge(head_one, head_two->next); } return head_three; } SUM,SUB,PRODUCT,DIVISION WAP to Sum, Subtract, Multiply & Division of two numbers (5 Variables) #include void main () { int a,b,c,d,e,f; clrscr(); printf ("Enter A: "); scanf ("%d",&a); printf ("Enter B: "); scanf ("%d",&b); c=a+b; d=a-b; e=a*b; f=a/b; printf ("\nSum is : %d",c); printf ("\nSubtraction is : %d",d); printf ("\nMultiplication is : %d",e); printf ("\nDivision is : %d",f); getch (); } Output [IMG]file:///C:/Users/JEYAKI%7E1/AppData/Local/Temp/msohtmlclip1/01/clip_image003.jpg[ /IMG]

Method #2 WAP to Sum, Subtract, Multiply & Division of two numbers (3 Variables) #include void main () { int a,b,c; clrscr();

printf ("Enter A: "); scanf ("%d",&a); printf ("Enter B: "); scanf ("%d",&b); c=a+b; printf ("\nSum is %d",c); c=a-b; printf ("\nSubtraction is %d",c); c=a*b; printf ("\nMultiplication is %d",c); c=a/b; printf ("\nDivision is %d",c); getch (); } Output

[IMG]file:///C:/Users/JEYAKI%7E1/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg[ /IMG]

Ohms law example In C #include #include #include int main() { char ch; float voltage , current , resistance , result; printf("Ohms law calculator.\n"); printf("Please choose from following calculcations.\n"); printf("1. choose 1 to calculate the voltage.\n"); printf("2. choose 2 to calculate the current.\n"); printf("3. choose 3 to calculate the resistance.\n"); printf("Anything else to quit.\n"); scanf("%c",&ch); switch(ch) { case '1' : printf("please enter the current in amps.\n"); scanf("%f",t); printf("Now enter the resistance in ohms.\n"); scanf("%f",&resistance); result = current * resistance; printf("The voltage is %0.2f volts.\n",result);

break; case '2' : printf("please enter the voltage in volts.\n"); scanf("%f",&voltage); printf("Now enter the resistance in ohms.\n"); scanf("%f",&resistance); result = voltage / resistance; printf("The current is %0.2f amps.\n",result); break; case '3' : printf("please enter the voltage in volts.\n"); scanf("%f",&voltage); printf("Now enter the current in amps.\n"); scanf("%f",t); result = voltage / current; printf("The resistance is %0.2f ohms.\n",result); break; default : exit(0); break; } return 0; }

Print a double pyramid void main(void) { clrscr(); int i,j,k,l,b,n; printf("Enter the value of N:"); scanf("%d",&n); for(i=0;i { printf(""); for(l=0;l printf(" "); for(j=i+1;j<=n;j++) printf("%d",j); for(k=n-1;k>i;k--) printf("%d",k); } b=n-1; for(i=0;i { printf("");

for(l=n-2;l>i;l--) printf(" "); for(j=b;j<=n;j++) printf("%d",j); for(k=n-1;k>=b;k--) printf("%d",k); b--; } getch(); }

Progam that gives length of side of a Triangle //Progam that gives all details of a Triangle given the lengths of its sides #include #include #include #include main() { clrscr(); float a,b,c,S,D,A,B,C,Area,R; printf("Enter the lengths of the three sides of the triangle :"); scanf("%f%f%f",&a,&b,&c); S = (a+b+c)/2.0; // S is the semiperimeter of the triangle D = S*(S-a)*(S-b)*(S-c);//D is the square of the area of the triangle if(D<=0) { printf("The triangle cannot be formed"); getch(); exit(0); } if((a==b || b==c || c==a) && !(a==b && b==c && c==a)) // this complex logic is to eliminate interpretting a triangle with all three // sides equal as both isosceles and equilateral. printf("The triangle is ISOSCELES"); if(a==b && b==c && c==a) printf("The triangle is EQUILATERAL Type"); if(a!=b && b!=c && c!=a) printf("The triangle is SCALENE"); Area = sqrt(D);

R = (a*b*c)/(4.0*Area); printf("PERIMETER = %.2f units",(2.0*S)); printf("AREA = %.2f sq.units",Area); printf("CIRCUM RADIUS = %.2f units",R); // using sine rule,we get... A = (180.0/3.1415926)*asin(a/(2.0*R));// value of pi should be upto 7 B = (180.0/3.1415926)*asin(b/(2.0*R));// decimal places of accuracy and also C = (180.0/3.1415926)*asin(c/(2.0*R));// note that the 7th decimal place // 6 and not 7 as it had to be if were if(A==90.0 || B==90.0 || C==90.0) // approximated to 7 decimalplaces printf("The triangle is RIGHT ANGLED"); if(A<90.0 && B<90.0 && C<90.0) printf("The triangle is ACUTE ANGLED"); if(A>90.0 || B>90.0 || C>90.0) printf("The triangle is OBTUSE ANGLED"); printf("The angles are as follows :"); printf("A = %.2f degrees",A); printf("B = %.2f degrees",B); printf("C = %.2f degrees",C); printf("Where A,B,C stand for angles opposite to sides%.2f,%.2f,%.2f",a,b,c); printf(" respectively");

getch(); return 0; }

Program for conversion of Decimal to Roman Number #include main() { int a,b,c,d,e; clrscr(); printf("Input a number (between 1-3000):"); scanf("%d",&e); while (e==0||e>3000) { printf ("ERROR: Invalid Input!"); printf ("Enter the number again:"); scanf ("%d",&e); }

if (e>3000) printf("Invalid"); a = (e/1000)*1000; b = ((e/100)%10)*100; c = ((e/10)%10)*10; d = ((e/1)%10)*1; if (a ==1000) printf("M"); else if (a ==2000) printf("MM"); else if (a ==3000) printf("MMM"); if (b == 100) printf("C"); else if (b == 200) printf("CC"); else if (b == 300) printf("CCC"); else if (b == 400) printf("CD"); else if (b ==500) printf("D"); else if (b == 600) printf("DC"); else if (b == 700) printf("DCC"); else if (b ==800) printf("DCCC"); else if (b == 900) printf("CM");

if (c == 10) printf("X"); else if (c == 20) printf("XX"); else if (c == 30) printf("XXX"); else if (c == 40) printf("XL"); else if (c ==50) printf("L"); else if (c == 60) printf("LX");

else if (c == 70) printf("LXX"); else if (c ==80) printf("LXXX"); else if (c == 90) printf("XC"); if (d == 1) printf("I"); else if (d == 2) printf("II"); else if (d == 3) printf("III"); else if (d == 4) printf("IV"); else if (d ==5) printf("V"); else if (d == 6) printf("VI"); else if (d == 7) printf("VII"); else if (d ==8) printf("VIII"); else if (d == 9) printf("IX"); getch(); } Program for demonstration of Tree Operations - INSERTION, INORDER . #include <stdio.h> #include <conio.h> # include struct node { struct node *left; int data; struct node *right; }; void main() { void insert(struct node **,int); void inorder(struct node *); void postorder(struct node *); void preorder(struct node *);

struct node *ptr; int will,i,num; ptr = NULL; ptr->data=NULL; clrscr(); printf("Enter the number of terms you want to add to the tree."); scanf("%d",&will); /* Getting Input */ for(i=0;i { printf("Enter the item"); scanf("%d",&num); insert(&ptr,num); } getch(); printf("INORDER TRAVERSAL"); inorder(ptr); getch(); printf("PREORDER TRAVERSAL"); preorder(ptr); getch(); printf("POSTORDER TRAVERSAL"); postorder(ptr); getch(); }

void insert(struct node **p,int num) {

if((*p)==NULL) { printf("Leaf node created."); (*p)=malloc(sizeof(struct node)); (*p)->left = NULL; (*p)->right = NULL; (*p)->data = num; return; } else { if(num==(*p)->data) {

printf("REPEATED ENTRY ERROR VALUE REJECTED"); return; } if(num<(*p)->data) { printf(" Directed to left link."); insert(&((*p)->left),num); } else { printf("Directed to right link."); insert(&((*p)->right),num); } } return; }

void inorder(struct node *p) { if(p!=NULL) { inorder(p->left); printf("Data :%d",p->data); inorder(p->right); } else return; }

void preorder(struct node *p) { if(p!=NULL) { printf("Data :%d",p->data); preorder(p->left); preorder(p->right); } else return; }

void postorder(struct node *p) { if(p!=NULL) { postorder(p->left); postorder(p->right); printf(" Data :%d",p->data); } else return; } Program for demonstration of Tree Operations - INSERTION, INORDER . # include # include # include struct node { struct node *left; int data; struct node *right; }; void main() { void insert(struct node **,int); void inorder(struct node *); void postorder(struct node *); void preorder(struct node *); struct node *ptr; int will,i,num; ptr = NULL; ptr->data=NULL; clrscr(); printf("Enter the number of terms you want to add to the tree."); scanf("%d",&will); /* Getting Input */ for(i=0;i { printf("Enter the item"); scanf("%d",&num); insert(&ptr,num); }

getch(); printf("INORDER TRAVERSAL"); inorder(ptr); getch(); printf("PREORDER TRAVERSAL"); preorder(ptr); getch(); printf("POSTORDER TRAVERSAL"); postorder(ptr); getch(); }

void insert(struct node **p,int num) {

if((*p)==NULL) { printf("Leaf node created."); (*p)=malloc(sizeof(struct node)); (*p)->left = NULL; (*p)->right = NULL; (*p)->data = num; return; } else { if(num==(*p)->data) { printf("REPEATED ENTRY ERROR VALUE REJECTED"); return; } if(num<(*p)->data) { printf(" Directed to left link."); insert(&((*p)->left),num); } else { printf("Directed to right link."); insert(&((*p)->right),num); } }

return; }

void inorder(struct node *p) { if(p!=NULL) { inorder(p->left); printf("Data :%d",p->data); inorder(p->right); } else return; }

void preorder(struct node *p) { if(p!=NULL) { printf("Data :%d",p->data); preorder(p->left); preorder(p->right); } else return; }

void postorder(struct node *p) { if(p!=NULL) { postorder(p->left); postorder(p->right); printf(" Data :%d",p->data); } else return; } Program for finding the transpose of a martix in sparse form #include <stdio.h> #include <conio.h>

int a[100][100],b[100][100]; void main() { int i,m,n,p,q,col,t; clrscr(); printf("Enter the no. of rows"); scanf("%d", &a[0][0]); printf("Enter the no. of cols"); scanf("%d", &a[0][1]); printf("Enter the number of non zero terms"); scanf("%d", &a[0][2]); for(i=1;i<=a[0][2];i++) { printf("Enter the value (that is non zero)"); scanf("%d",&a[i][2]); printf("Enter the row for %d : ",a[i][2]); scanf("%d",&a[i][0]); printf("Enter the col for %d : ",a[i][2]); scanf("%d",&a[i][1]); } /* Printing for testing the sparse input */ printf(" ***************************** The martix you entered is ************************ Row Col Value "); for ( i = 0;i <= a[0][2];i++) { printf("%d %d %d " , a[i][0],a[i][1],a[i][2]); } /* Calling function for evaluation of transpose */ m = a[0][0]; n = a[0][1]; t = a[0][2]; b[0][0] = n; b[0][1] = m; b[0][2] = t; q=1;

for( col = 1; col <=n; col++) { for(p = 1; p<=t;p++) { if(a[p][1] == col) { b[q][0] = a[p][1]; b[q][1] =a[p][0]; b[q][2] = a[p][2]; q++; } } } //end of outer for loop /* Printing the transposed matrix */ getch(); printf(" The Transpose of the above matrix is "); for ( i = 0;i <= a[0][2];i++) { printf("%d %d %d " , b[i][0],b[i][1],b[i][2]); } getch(); } Program for rotating circles using maths Function #include "stdio.h" #include "graphics.h>" #include "conio.h>" #include "dos.h" #include "stdlib.h" #include "math.h" #include "iostream.h" main() { int gd=DETECT,gm,x=295,y=222,a,j,i; initgraph(&gd,&gm,"c:\tc\bgi"); setcolor(14); outtextxy(x-10,y,"POP"); while(!kbhit()) { i++; delay(1);

setcolor(16); circle(x+(200*cos(i)),y+(200*sin(i)),8); setcolor(10); circle(x+(200*cos(i+40)),y+(200*sin(i+40)),8); //set2 setcolor(16); circle(x+(160*sin(i)),y+(160*cos(i)),7); //anti clockwise:-sin,cos interchanged circle(x+(160*sin(i)),y+(160*cos(i)),5); setcolor(i); circle(x+(160*sin(i+40)),y+(160*cos(i+40)),7); circle(x+(160*sin(i+40)),y+(160*cos(i+40)),5); setcolor(16); circle(x+(120*sin(i)),y+(120*cos(i)),6);//anti clockwise:-sin,cos interchanged setcolor(12); circle(x+(120*sin(i+40)),y+(120*cos(i+40)),6); setcolor(16); circle(x+(90*cos(i)),y+(90*sin(i)),5); setcolor(i); circle(x+(90*cos(i+40)),y+(90*sin(i+40)),5); } getch(); return 0; }

PROGRAM TO ARRANGE THE ELEMENTS IN ARRAY IN ASSENDING ORDER /*ARRANGE THE ELEMENTS IN ARRAY IN ASSENDING ORDER*/ #include "stdio.h" #include "conio.h" main() { int a[100],i,n,j,search,temp; printf("\n how many no's in array"); scanf("%d",&n); printf("\n enter %d elements in array",n); for(i=0;i scanf("%d",&a[i]); for(i=0;i { for(j=i+1;j { if(a[i]>a[j])

{ temp=a[i]; a[i]=a[j]; a[j]=temp; } } printf("%4d",a[i]); } getch(); }

program to calculate sum all of the elments in an array #include void print_arr(int myArray[], int elements); int sum_arr(int myArray[], int elements); int main(void) { int myArray[5] = {78,34,25,98,12 }; int sum; printf("Array info: "); print_arr(myArray,5); sum = sum_arr(myArray,5); printf("The sum of the array is : %d\n",sum); return 0; } void print_arr(int myArray[], int elements) { int i; for(i = 0;i < elements;i++) { printf("%d ",myArray[i]); } printf("\n"); } int sum_arr(int myArray[], int elements) { int i, sum = 0; for(i = 0;i < elements;i++) { sum = sum + myArray[i]; }

return(sum); }

Program to compute difference between two dates #include "stdio.h" #include "math.h" void main() { int day1,mon1,year1,day2,mon2,year2; int ref,dd1,dd2,i; clrscr(); printf("Enter first day, month, year"); scanf("%d%d%d",&day1,&mon1,&year1); scanf("%d%d%d",&day2,&mon2,&year2); ref = year1; if(year2 ref = year2; dd1=0; dd1=func1(mon1); for(i=ref;i { if(i%4==0) dd1+=1; } dd1=dd1+day1+(year1-ref)*365; printf("No. of days of first date fronm the Jan 1 %d= %d",year1,dd1); /* Count for additional days due to leap years*/ dd2=0; for(i=ref;i { if(i%4==0) dd2+=1; } dd2=func1(mon2)+dd2+day2+((year2-ref)*365); printf("No. of days from the reference year's first Jan = %d",dd2); printf("Therefore, diff between the two dates is %d",abs(dd2-dd1)); getch(); }

int func1(x) //x for month y for dd { int y=0;

switch(x) { case 1: y=0; break; case 2: y=31; break; case 3: y=59; break; case 4: y=90; break; case 5: y=120;break; case 6: y=151; break; case 7: y=181; break; case 8: y=212; break; case 9: y=243; break; case 10:y=273; break; case 11:y=304; break; case 12:y=334; break; default: printf("Error encountered"); exit(1); } return(y); }

Program to construct a pyramid of any input numbers main() { int n,row=1,col=40,i=0,j,k=0,count=1; int a[10]; clrscr(); i=n-1; printf("Pyramid of how many numbers? "); scanf("%d",&n); for (j=0;j\<=n;j++) { printf("Enter no.:- "); scanf("%d",&a[j]); } clrscr(); for (row=n;row>=1;row--) { k=0; k=40-(4*(row-1)); i=row-1; for (col=40;col>=k;col=(col-4)) { gotoxy(col,row); printf("%d",a[i]); --i; }

} for (count=n;count>=1;count--) { k=0; k=40+(4*(count-1)); i=count-1; for (col=40;col<=k;col=(col+4)) { gotoxy(col,count); printf("%d",a[i]); --i; } } getch(); }

S-ar putea să vă placă și