Thứ Năm, 8 tháng 3, 2012

Bài 7.1 ./ C : Cấp phát động tìm số min và max của một dãy số thực (bao hàm cả bài 7) .



#include<stdio.h>
#include<conio.h>
#include<stdlib.h>


int taoMang (float *a, int n) ; //Chinh la cap phat bo nho cho mang, viet nhu nay
                              //cho gon,dung nham voi nhap_mang o ben duoi.
                              //tieng Anh la initArray


void nhapMang (float *a, int n) ; // inputArray


void MaxAndMin ( float *a, int n ) ;


void xoaMang ( float *a ) ; // deleteArray


/* Ham chinh goi toi 4 ham tren*/
main()


{
   
  int n ; float a[n];


  printf("Nhap so luong phan tu :");
  scanf("%d", &n);


  taoMang ( a,n);




if (!a){                                                    //--> Neu khong co doan 
                                                               // lenh nay thi chuong trinh
       printf("Khong con du bo nho!\n"); //-->van chay. Nhung nen                            
                                                               //      co !
       return 1;}                                        //-->




  nhapMang (a, n);


  MaxAndMin (a, n);


  xoaMang (a);


  getch();


}
/* 1./Hàm cap phat bo nho cho cac phan tu*/
 int  taoMang (float *a, int n)


   {
           
     int i ;
   
    a = (float *)malloc (n*sizeof(float));
    if  (a == NULL) return 0 ; return 1;
                                       //co return 0; return 1; thi ko viet
                                      //  " return ; " o ben duoi vao nua.
   //if tren chinh la return 0; else return 1 ; viet gon .                                
       //for (i = 0 ; i != n ;i++) -> vong lap nay cho vao cung duoc.
        //a[i]= 0;
        //return ; -> neu chi co return nhu nay thi se la void o cho int taoMang.
}
/*2./ Ham nhap cac phan tu cua mang (day so nguyen )*/
   void nhapMang (float *a, int n)
   {
    int i;float tg ;// Bien trung gian de vao gia tri cho mang (day so)
 
    for (i = 0; i != n; i++)
    {
  printf("ptu[%d]=", i);
  scanf("%f",&tg);
  *(a+i) = tg ;
  }
   }
/* 3./Ham tim so lon va nho nhat cua day cac so da nhap vao*/
   void MaxAndMin ( float *a, int n)
   {
    int i; float max, min ;
    min = max = *a;
    printf("Phan tu lon nhat va nho nhat cua day so da cho la:\n");
    for ( i = 1; i != n; i++)
    {
  if ( max < *(a+i))
  max = *(a+i);
  else if (min > *(a+i))
  min = *(a+i);
  }
   printf ("Max: %5.2f . Min: %5.2f", max, min) ;
   }
 /* 4.Ham xoaMang hay la thu hoi lai bo nho */
 void xoaMang ( float *a)
{
   if (a != NULL)  free (a) ;
     return ;
}


Sau đây là một số điều chỉnh mà chương trình vẫn thực hiện được .
---------------------------------------------------------------------------------
1.1 int taoMang (float *a, int n) ;  -->  int taoMang (int n) ;


1.2  int  taoMang (float *a, int n)  -->  int  taoMang ( int n)


   {                                               -->         {
           
     int i ;                                        -->           int i ;  float *a ;


1.3 Goi ham
         taoMang ( a,  n )  ;               -->         taoMang ( n ) ;

Không có nhận xét nào:

Đăng nhận xét