HN - Aptech


 
IndexIndex  PortalPortal  CalendarCalendar  GalleryGallery  Trợ giúpTrợ giúp  Tìm kiếmTìm kiếm  Thành viênThành viên  NhómNhóm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  

Share | 
 

 Bài Thực hành con trỏ

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
c0811g_ttdung
Admin
Admin


Tổng số bài gửi : 54
Join date : 28/05/2009
Age : 27
Đến từ : HN-aptech

Bài gửiTiêu đề: Bài Thực hành con trỏ   Fri Jun 05, 2009 9:22 am

Bài tập con trỏ

Sử dụng con trỏ làm các bài tập sau đây:
Bài 1:
- Nhập số nguyên N
- Nhập mảng nguyên gồm N phần tử
- In mảng vừa nhập ra ngoài màn hình
Bài 2:
- Nhập số nguyên N
- Nhập mảng nguyên gồm N phần tử
- Đếm trong mảng có bao nhiên phần tử có giá trị bằng N
- Sắp xếp mảng vừa nhập theo thứ tự tăng dần
- In mảng sau khi sắp xếp
Bài 3:
- Nhập số nguyên N
- Nhập mảng nguyên gồm N phần tử
- In ra mảng sau khi nhập
- Đưa ra số lớn nhất trong mảng
- Đưa ra số âm lớn nhất trong mảng
Bài 4:
- Nhập vào một chuỗi ký tự và một ký tự (đặt tên là ch)
- Đếm xem trong chuỗi có bao nhiêu ký tự nguyên âm
- Đếm xem trong chuỗi có bao nhiêu ký tự ch
Bài 5
- Nhập số nguyên N,M (đều >0)
- Nhập hai mảng nguyên gồm N và M phần tử
- Nối mảng nguyên gồm M phần tử vào cuối mảng nguyên gồm N phần tử
- Xuất ra màn hình các mảng trước và sau khi nối


Thực hành các bài tập phần mảng sử dụng con trỏ
Về Đầu Trang Go down
Xem lý lịch thành viên http://c0811g.online-talk.net
c0811g_ttdung
Admin
Admin


Tổng số bài gửi : 54
Join date : 28/05/2009
Age : 27
Đến từ : HN-aptech

Bài gửiTiêu đề: Re: Bài Thực hành con trỏ   Fri Jun 05, 2009 9:23 am

Code:
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
#include <stdlib.h>
void main()
{
   int *p,n,i,dem=0,j,maxam,maxduong;
   clrscr();

   printf("nhap so nguyen N : ");
   scanf("%d",&n);
   p=malloc(n*sizeof(int));
   if (p==NULL)
   {
      printf("Cap phat ko thanh cong");
      exit(0);
   }
   for(i=0;i<n;i++)
   {
      printf("Nhap vao a[%d] : ",i);
      scanf("%d",p+i);
   }
   for(i=0;i<n;i++)
      printf("a[%d] = %d \t",i,*(p+i));
   for(i=0;i<n;i++)
   {
      if (*(p+i)==n)
         dem++;
   }
   printf("So phan tu bang N la : %d",dem++);
   //Sap xep mang
   for(i=0;i<n;i++)
   {
      for(j=i+1;j<n;j++)
         {
            if (*(p+i)>*(p+j))
               {
                  int sapxep=*(p+i);
                     *(p+i)=*(p+j);
                     *(p+j)=sapxep;
               }
         }
   }
   printf("\nMang sau khi sap xep : \n ");
   for(i=0;i<n;i++)
      printf("a[%d] = %d\t",i,*(p+i));
   //dua ra so am va so duong lon nhat

   for(i=0;i<n;i++)
   {
      if (*(p+i)<0)
         {
            maxam=*p;
            if (*(p+i)>maxam)
               maxam=*(p+i);
         }
      else
         {
            maxduong=*p;
            if (*(p+i)>maxduong)
               maxduong=*(p+i);
         }
   }
   printf("\nSo am lon nhat = %d\nSo duong lon nhat = %d",maxam,maxduong);

   getch();

}
Về Đầu Trang Go down
Xem lý lịch thành viên http://c0811g.online-talk.net
c0811g_ttdung
Admin
Admin


Tổng số bài gửi : 54
Join date : 28/05/2009
Age : 27
Đến từ : HN-aptech

Bài gửiTiêu đề: Re: Bài Thực hành con trỏ   Fri Jun 05, 2009 9:23 am

Bài 4:
Code:
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
#include <stdlib.h>
#include <string.h>
void main()
{
   int n,i,demnguyenam=0,demkytu=0;
   char *p,ch;
   clrscr();

   printf("Nhap so ky tu cam nhap : ");
   scanf("%d",&n);
   p=malloc(n*sizeof(char));
   if (p==NULL)
   {
      printf("Cap phat ko thanh cong");
      exit(0);
   }
   for(i=0;i<n;i++)
   {
      printf("a[%d] : ",i);
      fflush(stdin);
      scanf("%c",p+i);
   }
   printf("\nNhap vao ky tu can tim trong mang : ",ch);
   fflush(stdin);
   scanf("%c",&ch);
   for(i=0;i<n;i++)
   {
      if (*(p+i)==ch)
      demkytu++;
   }
   printf("\nSo ky tu giong %c la : %d",ch,demkytu++);
   for(i=0;i<n;i++)
   {
      switch (*(p+i))
      {
         case 'a':
         case 'e':
         case 'o':
         case 'u': 
         case 'i':
            demnguyenam++;
                break;
      }

   }
   printf("\nSo nguyen am trong mang : %d",demnguyenam++);
   getch();
   }
Về Đầu Trang Go down
Xem lý lịch thành viên http://c0811g.online-talk.net
c0811g_ttdung
Admin
Admin


Tổng số bài gửi : 54
Join date : 28/05/2009
Age : 27
Đến từ : HN-aptech

Bài gửiTiêu đề: Re: Bài Thực hành con trỏ   Fri Jun 05, 2009 9:25 am

Code:
#include <conio.h>
#include <stdio.h>
#include <malloc.h>
void main()
{
   int N,*p,i,j,max,min;
   clrscr();
   do{
      printf("Nhap so nguyen N: ");
      scanf("%d",&N);
   }while(N<=0);

   //Ham xin cap phat bo nho cho N so nguyen
   p=(int*)malloc(N*sizeof(int));
   if(p==NULL)
   {
      printf("\nCap phat bo nho khong thanh cong!");
      exit(1);
   }

   //Nhap N so nguyen
   for(i=0;i<N;i++)
   {
      printf("a[%d]=",i);
      scanf("%d",p+i);
   }

   /*Tim so nguyen am lon nhat*/
   max=0;
   //Tim so am dau tien
   for(i=0;i<N;i++)
   {
      if(*(p+i)<0)
      {
         max=*(p+i);
         j=i;
         break;
      }
   }
   //Tim so am lon nhat
   for(i=j+1;i<N;i++)
   {
      if(*(p+i)>max&&*(p+i)<0)
         max=*(p+i);
   }
   printf("\nSo am lon nhat la (neu khong co so am nao thi ket qua la 0): %d",max);

   /*Tim so nguyen duong nho nhat*/
   min=0;
   //Tim so duong dau tien
   for(i=0;i<N;i++)
   {
      if(*(p+i)>0)
      {
         min=*(p+i);
         j=i;
         break;
      }
   }
   //Tim so duong lon nhat
   for(i=j+1;i<N;i++)
   {
      if(*(p+i)<min&&*(p+i)>0)
         min=*(p+i);
   }
   printf("\nSo duong nho nhat la (neu khong co so duong nao thi ket qua la 0): %d",min);
   free(p);
   getch();
}
Về Đầu Trang Go down
Xem lý lịch thành viên http://c0811g.online-talk.net
Sponsored content




Bài gửiTiêu đề: Re: Bài Thực hành con trỏ   Today at 11:22 pm

Về Đầu Trang Go down
 
Bài Thực hành con trỏ
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
HN - Aptech :: Khóa Học :: SEMESTER I :: C :: Bài Tập-
Chuyển đến