Saturday, 13 May 2023

ARRAYS NOTES

                                                                ARRAYS

Collection of similar data types stored contiguous memory locations 

#include<stdio.h>


int main(){


int mark[3];

printf("Enter marks of phy: ");

scanf("%d", &mark[0]); 

printf("Enter mark of cem :");

scanf("%d", &mark[1]);

printf("Enter mark if math :");

scanf("%d", &mark[2]);


printf("phy=%d, math=%d, cem=%d", mark[0],mark[1], mark[2]);


    return 0;

}

OUTPUT :

Enter marks of phy: 97

Enter mark of cem :96

Enter mark if math :96

phy=97, math=96, cem=96


//Q write a program to enter price off 3 item and print their final with gst.

#include<stdio.h>

int main(){

    

    float item[3];

    printf("Enter first item prise :");

    scanf("%f", &item[0]);

    printf("Enter secont item prise :");

    scanf("%f", &item[1]);

    printf("Enter third ite, prise :");

    scanf("%f", &item[2]);

    

    printf("first item = %f, second item = %f, theid item = %f", item[0]+0.18, item[1]+0.18, item[2]+0.18);

    

    return 0;

}

look SS mob 

now 3:33:40 

                                         POINTER  ARITHMETIC 

decriment or INCRIMENT 

#include <stdio.h>


int main() {

    int age = 22;

    int *ptr = &age;

    printf("ptr = %u", ptr);

    ptr++;

    printf("ptr = %u", ptr);

    


    return 0;

}

OUTPUT 

ptr = 2559787388ptr = 2559787392


FOR FLOAT   (ye sub hamare bytes ke side pe depend hai ++ mai + 4 hoga )

int main() {

    float age = 22;

    float *ptr = &age;

    printf("ptr = %u", ptr);

    ptr++;

    printf("ptr = %u", ptr);

    


    return 0;

}

OUTPUT 

ptr = 4040130636ptr = 4040130640


NOW for CHAR

#include <stdio.h>

int main() {
    char star = '*';
    char *ptr = &star;
    printf("ptr = %u", ptr);
    ptr++;
    printf("ptr = %u", ptr);
    

    return 0;
}
OUTPUT :ptr = 783026479ptr = 783026480

ARRAY AS POINTER 
ARRAY AS FUNCTION 

viod printnumber(int arr[], int n)


// Online C compiler to run C program online
#include <stdio.h>
void printNumbers(int arr[], int n);

int main(){
   int arr[] = {1, 2, 3, 4, 5, 6};
   printNumbers(arr, 6);
    return 0;
    
}

void printNumbers(int arr[], int n){
    for(int i=0; i<n; i++ ){
        printf("%d \t", arr[i]);
    }
    printf("\n");
}

MULTIDIMENSIONAL ARRAYS 

2D ARRAYS 
int[][]={{1,2},{3,4}};


// Online C compiler to run C program online
#include <stdio.h>

int main(){
    //hame 2 bacho ke 3 suibject ke marks store karane hai 2x3 
    int mark[2][3];
    mark[0][0] = 98;
    mark[0][1] = 93;
    mark[0][3] = 95;
    
     mark[1][0] = 91;
    mark[1][1] = 94;
    mark[1][2] = 99;
    
    printf("%d", mark[0][0]);
    return 0;
}



Q  calculate odd numbers 
#include <stdio.h>

int countOdd(int arr[], int n);

int main() {
   int arr[]={1,2,3,4,5,6};
   printf("%d", countOdd(arr,6));

    return 0;
}
int countOdd(int arr[], int n){
    int count =0;
    for(int i=0; i<n; i++){
        if(arr[i]%2!=0){
            count++;
        }
    }
    return count;
}


Q    QQQQ
int main() {
    int arr[] = {1,2,3,4,5};
    printf("%d\n", *(arr+2)); //ye output dega 3 ko coz zero se countintg start hota hia so 2 position pe 3                                                         lie kae raha hai
    printf("%d", *(arr+5));  // ye zreo output dega coz position 5 pe koi number hi nhi hai 

    return 0;
}



// Q write a function to reverse an array 
#include<stdio.h>

void reverse (int arr[], int n );
void printarr(int arr[], int n);
int main() {

    int arr[]= {1,2,3,4,5};
    reverse(arr, 5);
    printarr(arr, 5);
    return 0;
}


void printarr(int arr[], int n) {
    for(int i=0; i<n; i++){
        printf("%d\t", arr[i]);
    }
     printf("\n");
}

void reverse(int  arr[], int n){
   
   for(int i=0; i<n/2; i++){
        int firstVal = arr[i];
        int secondVal = arr[n-i-1];
        arr[i] = secondVal;
        arr[n-i-1] = firstVal;
    }
}

PW METHOD 
#include <stdio.h>
int main(){
    int arr[5];
    for(int i=0;i<=4;i++){
        printf("enter the element %d \n", i+1);
        scanf("%d",&arr[i]);
    }
    
    for(int i=4;i>=0;i--){
        printf("%d",arr[i]);
    }
    return 0;
}

// Q create a 2D array storing tje tables of 2 & 3 

//subse pehle ek table name ka tables name  wala 2D array banaya jiska size hai 2 by 10 yani 2 auurt hai iske andar aur har array ka size 10 hai fir ek function banaya storetable ke naam se jo kisi ek number ki table store kar raha tha ye 2d array lega kon se array ki baat kar rahe hai yani row aur konse collum pe hai auar ki number ki table hai ek loop chalaya hai jo 0 se 1o tak jae ga aur sari multiplication kar ke table store kar wa de ga kon se    

#include<stdio.h>

void storeTable(int arr[][10], int n, int m, int number);

int main(){
    
    int tables[2][10];
    storeTable(tables, 0, 10, 2);
    storeTable(tables, 1, 10, 3);
    
        for(int i=0; i<10; i++){
        printf("%d\t", tables[0][i]);
    }
        printf("\n");
        for(int i=0; i<10; i++){
        printf("%d\t", tables[1][i]);
    }
    printf("\n");
    return 0;
}

void storeTable(int arr[][10], int n, int m, int number){
    for(int i=0; i<m; i++){
        arr[n][i] = number * (i+1);
    }
}
// Q create a 2D array storing tje tables of 2 & 3 

//subse pehle ek table name ka tables name  wala 2D array banaya jiska size hai 2 by 10 yani 2 auurt hai iske andar aur har array ka size 10 hai fir ek function banaya storetable ke naam se jo kisi ek number ki table store kar raha tha ye 2d array lega kon se array ki baat kar rahe hai yani row aur konse collum pe hai auar ki number ki table hai ek loop chalaya hai jo 0 se 1o tak jae ga aur sari multiplication kar ke table store kar wa de ga kon se    

#include<stdio.h>

void storeTable(int arr[][10], int n, int m, int number);

int main(){
    
    int tables[2][10];
    storeTable(tables, 0, 10, 2);
    storeTable(tables, 1, 10, 3);
    
        for(int i=0; i<10; i++){
        printf("%d\t", tables[0][i]);
    }
        printf("\n");
        for(int i=0; i<10; i++){
        printf("%d\t", tables[1][i]);
    }
    printf("\n");
    return 0;
}

void storeTable(int arr[][10], int n, int m, int number){
    for(int i=0; i<m; i++){
        arr[n][i] = number * (i+1);
    }
}
// Q create a 2D array storing tje tables of 2 & 3 

//subse pehle ek table name ka tables name  wala 2D array banaya jiska size hai 2 by 10 yani 2 auurt hai iske andar aur har array ka size 10 hai fir ek function banaya storetable ke naam se jo kisi ek number ki table store kar raha tha ye 2d array lega kon se array ki baat kar rahe hai yani row aur konse collum pe hai auar ki number ki table hai ek loop chalaya hai jo 0 se 1o tak jae ga aur sari multiplication kar ke table store kar wa de ga kon se    

#include<stdio.h>

void storeTable(int arr[][10], int n, int m, int number);

int main(){
    
    int tables[2][10];
    storeTable(tables, 0, 10, 2);
    storeTable(tables, 1, 10, 3);
    
        for(int i=0; i<10; i++){
        printf("%d\t", tables[0][i]);
    }
        printf("\n");
        for(int i=0; i<10; i++){
        printf("%d\t", tables[1][i]);
    }
    printf("\n");
    return 0;
}

void storeTable(int arr[][10], int n, int m, int number){
    for(int i=0; i<m; i++){
        arr[n][i] = number * (i+1);
    }
}




Wednesday, 10 May 2023

C programming notes from FUNCTIONS

                                                             FUNCTIONS 

Function is a block of code that perform particular task 

TAKE ARGUMENT → DO WORK → RETURN RESULT 


#include<stdio.h>


void printHello();  //decelaration / prototype

int main() {

    printHello();  // function call  

  

    return 0;

}

 

 void printHello()   // function definition

 {

     printf("Hello !\n");

 }


#include<stdio.h>


void printHello();

void printGoodbye();


int main()

{

    printHello();            // jitne bar int mai hum printHello(); likhenge utne bar vo function print hoga                                                    simply   jo hum ne niche likha hai printHello() mai vo print hoga 

    printGoodbye();     

    

    

    return 0;

}


void printHello() 

{

  printf("Hello! \n");  

}

void printGoodbye()

{

    printf("Good bye!\n");

}


// Print namaste is user in indian or if french print bonjour


#include<stdio.h>


void namaste();

void boujour();


int main()

{

printf("Enter country first letter :");

char ch;

scanf("%c ", &ch);


if (ch =='i') 

{

    namaste();

}

else 

{

    boujour();

}    

    

    return 0;

}

 

 void namaste()

 {

     printf("Namaste\n");

 }

 void bonjour()

 {

     printf("bonjour\n");

 } 

Q    DO SUM OF NATURAL NUMBERS  in function

 #include<stdio.h>


int sum(int a, int b);


int main()

{

    int a,b;

    printf("enter first number : ");

    scanf("%d",&a);

    printf("enter second number :");

    scanf("%d",&b);

    

    int s = sum(a, b);

    printf("sum is %d  ", s );

    

    return 0;

}


int sum(int x, int y)

{

    return x+y;

}


Q PRINT ANY TABLE IN FUNCTION 

#include<stdio.h>


void printTable(int n);


int main() {

    int n; 

    printf("enter the number :");

    scanf("%d", &n);

    

    printTable(n);  // argument / actual parameter 

    

    return 0;

}


void printTable(int n) {   // parameter / formal parameter 

    for(int i=1; i<=10; i++) {

        printf("%d\n", i*n);

    }

}         

   DIFFERENCE between argument and parameter 

1) values that are passed in function cell       1) values in function deceleration & definition

2) used to send value                                    2) used to receive value 

3) actual parameter                                        3) formal parameters 


NOTE : a) Function can only return one value at a time

b) changes to parameter in function don't change te value in calling function.


#include<stdio.h>


void calculatePrice(float value);


int main()

{

    float value = 100;

    calculatePrice(value);  // yaha pe jo hum niche function banaya hai vo work kare ga 

    printf("value is : %f \n", value);     // ye bus value jo original hai jo hum ne 100 likha hai vo print 

                                                             //   karega  iska niche ke function se koi lena dena nhi hai 

    

    return 0;

}


void calculatePrice(float value)

{

    value = value + (0.18*value);

    printf("final value : %f", value);

}


~ )  library function  pow(n, 2)  //ye simple power calculate kar ta hai means n ki jage koi bhi nhiber                                          rakho ye uski  power 2 kar dega and hum vo 2 ki jage 3 ya koi aur number likha                                                 tho n ki power vo numbe rho jae gi 

 // Q write function to calculate area of a square , a circle, & a recangle. 

 

 #include<stdio.h>

float squareArea(float side);

float circleArea(float radius);

float rectangleArea(float l, float b);

 

 int main()

 { float l = 5;

   float b = 10;

   printf("area is : %f", rectangleArea(l, b));

  

     return 0;

 }

 

 float squareArea(float side)

 {

     return side * side;

 }

 float circleArea(float radius)

 {

     return 3.14 * radius * radius;

 }

 float rectangleArea(float l, float b)

 {

     return l * b;

 }

SAME PROGRAME MAI BUS PRINT KA THODA STYLE CHANGE KIYA HAI 

 // Q write function to calculate area of a square , a circle, & a recangle. 

 

 #include<stdio.h>

float squareArea(float side);

float circleArea(float radius);

float rectangleArea(float l, float b);

 

 int main()

 { float l = 5;

   float b = 10;

   rectangleArea(l, b);

  

     return 0;

 }

 

 float squareArea(float side)

 {

     return side * side;

 }

 float circleArea(float radius)

 {

     return 3.14 * radius * radius;

 }

 float rectangleArea(float l, float b)

 {

     printf("area is %f", l*b);

 }


                                                RECURSION         


print hello world n times 

#include<stdio.h>


void printHw(int count);


int main()

{

    printHw(5);     // yaha pe   n=5

    return 0;

}

void printHw(int count)

{

    if (count ==0)

    {

        return;

    }

    printf("Hello world\n");

    printHw(count - 1);

}



//Q 30 sum of first n natural numbers


#include<stdio.h>


int sum(int n);


int main()

{

    printf("sum is : %d", sum(5));

    

    return 0;

}


int sum(int n)

{

  if (n==1)

  {

      return 1;

  }


int sumNm1 = sum(n-1);

int sumN = sumNm1 + n;

return sumN;

}


Q  PRINT N FACORIAL 

// Online C compiler to run C program online

#include <stdio.h>


int fact(int n);

int main() {

    

    printf("Factorial is %d", fact(5));  //here we put n=5



    return 0;

}


int fact(int n)

{

    

        if(n==1)         // this line is base case 

        {

            return 1;

        }

    

    int factNm1= fact(n-1);

    int factN = (factNm1 * n);

}


#include <stdio.h>


int factorial(int n);


int main() {

    int n;

    printf("enter the number :");

    scanf("%d", &n);

    int fact = factorial(n);     //ye nhi bhi likha tho chalega sidha niche print karwaya factorial(n) tho                                                                                                                                                     chalega 

    printf("factorial is %d", fact);


    return 0;

}

int factorial(int n){

    if(n==1){

        return 1;

    }

    else{

        return n*factorial(n-1);

    }

}

Q 32 Do degree to farhenite 5:05:00


//Q  33 write function to calculate % of a student from marks in science math & sanskrit.


#include<stdio.h>


int percrn(int science, int maths, int sanskrit);


int main()

{

    int sc = 98;

    int san = 99;

    int math = 95;

    

    printf("Percentage is : %d", percen(sc, san, math));

    

    return 0;

}

int percen(int science, int maths, int sanskrit)

{

    return ((science + maths + sanskrit)/3 ); 

}    

    // function ko niche recall kiya aur fir aur fir return likha ki vo kya hamare liye kya karega . 

//Q write function to print n termss of the fihonacci sequence  


#include<stdio.h>


int fib(int n);


int main()

{

    

    fib(6);

    

    return 0;

}

int fib(int n)

{

    if(n==0 || n ==1) // har recussive functon base case ke bina aadhura  hota hai ya fir galat hota hai tho base case likh na bauth zaruri hai pehele pura function liklo fir baad mai bsaae case likhne upper aao if wala . simply base case vo hai vo pehele se hi define ho like fibnochi of 0 and 1 pehele se hi difine hote hai jise 0 == 0 hota hai aur 1==1 hota hai 

    {

        if(n==0)

        {

            return 0;

        }

        if(n==1)

        {

            return 1;

        }

    }

    int fibNm1= fib(n-1);   // jo fin(int n ) hai vo khud hi ko cal laga raha hai jaise n ke liye calculate kar                                                   na tha tho pehele n-1 calculate kiye aur  usko finNm1 mai store kar diya 

    int fibNm2= fib(n-2);

    int fibN= fibNm1 + fibNm2;

    

    printf("fib of %d is : %d \n", n, fibN);

    return fibN;

}


//Q write function to print n termss of the fihonacci sequence  


// IS PROGRAM MAI FIB OF EVERY TERM PRINT HOGA AUR FIBNOCHI HO N TERM LAST WALA VO BHI PRINT HO GA  KYU KYUKI HUM NE MAIN FUNCTION MAI PRINT WALA STATEMENT LIKHA aur agar maine niche jo function banaya hai ussme vo print wala statement nikal diya aur main mai print wala bus rakha tho bus N term hi print hoga means ex: fibnochi of 6 = 8 bus 8 peint hoga 


#include<stdio.h>




int fib(int n);




int main()


{


    


    printf("%d", fib(6));


    


    return 0;


}


int fib(int n)


{


    if(n==0 || n ==1) // har recussive functon base case ke bina aadhura  hota hai ya fir galat hota hai tho base case likh na bauth zaruri hai pehele pura function liklo fir baad mai bsaae case likhne upper aao if wala . simply base case vo hai vo pehele se hi define ho like fibnochi of 0 and 1 pehele se hi difine hote hai jise 0 == 0 hota hai aur 1==1 hota hai 


    {


        if(n==0)


        {


            return 0;


        }


        if(n==1)


        {


            return 1;


        }


    }


    int fibNm1= fib(n-1); // jo fin(int n ) hai vo khud hi ko call                   laga raha hai jaise n ke liye calculate kar                    na tha tho pehele n-1 calculate kiye aur                    usko finNm1 mai store kar diya 


    int fibNm2= fib(n-2);


    int fibN= fibNm1 + fibNm2;


    


    printf("fib of %d is : %d \n", n, fibN);


    return fibN;


}