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 | 
 

 code:14/question2 va question3

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


Tổng số bài gửi : 23
Join date : 18/06/2009

Bài gửiTiêu đề: code:14/question2 va question3   Thu Jun 25, 2009 12:02 pm

Code:

//q2:
 #include <stdio.h>
 #include <conio.h>
 #include <string.h>
 //khai bao ham con
 void nhap(char s[]);
 void dem( char s[], int a[]);
 void kt(char s[]);
 //dinh nghia ham main
 void main()
 {
   int a[100];
   char s[100];
   clrscr();
   nhap(s);
   dem(s,a);
   kt(s);
   getch();
 }
 //dinh nghia ham con
 void nhap(char s[])
 {
   printf("\nnhap chuoi:");
   fflush(stdin);
   gets(s);
 }
 void dem(char s[], int a[])
 {
   int i,j;
   printf("\ndo dai chuoi: %d", strlen(s));
   for(i=0;i<strlen(s);i++)
      a[i]=1;
   for(i=0;i<strlen(s)-1;i++)
      for(j=i+1;j<strlen(s);j++)
         if(s[j]==s[i])
            a[i]++;
   printf("\nso lan xuat hien:");
   printf("\n%c: %d",s[0],a[0]);
   for(i=1;i<strlen(s);i++)
      if(s[i]!=s[i-1])
         printf("\n%c: %d",s[i],a[i]);

 }
 void kt(char s[])
 {
   if(s[0]=='h'&&s[1]=='e'&&s[2]=='l'&&s[3]=='l'&&s[4]=='o')
      printf("\nchuoi \"%s\" bat dau bang \"%s\"",s,"hello");
   else
      printf("\nchuoi \"%s\" khong bat dau bang \"%s\"",s,"hello");
 }


//q3:
 #include <stdio.h>
 #include <conio.h>
 #include <stdlib.h>
 //khai bao ham con
 void menu(void);
 void nhap(int *n, int a[]);
 void hien(int n, int a[]);
 int tong(int n, int a[]);
 int dem(int n, int a[]);
 //dinh nghia ham main
 void main()
 {
   int n, a[100];
   char chon;
   clrscr();
   do
   {
      menu();
      printf("\nnhap lua chon:");
      fflush(stdin);
      chon=getchar();
      switch(chon)
      {
         case '1':
            nhap(&n,a);
            break;
         case '2':
            hien(n,a);
            break;
         case '3':
            printf("\ntong tren duong cheo: %d",tong(n,a));
            break;
         case '4':
            printf("\nso boi cua %d la: %d",n,dem(n,a));
            break;
         case '5':
            exit(0);
         default:
            printf("\nlua chon sai, thuc hien lai!");
            break;
      }
   }while(chon!='5');
   getch();
 }
 //dinh nghia ham con
 void menu()
 {
   printf("\nmenu:");
   printf("\n1. nhap n(1->99) va nhap mang nguyen n phan tu");
   printf("\n2. hien thi mang duoi dang ma tran tam giac duoi");
   printf("\n3. tinh tong tren duong cheo chinh");
   printf("\n4. dem boi cua n");
   printf("\n5. thoat.");
 }
 void nhap(int *n, int a[])
 {
   int i;
   printf("\nnhap n= ");
   scanf("%d",n);
   while(*n<1||*n>99)
   {
      printf("\nnhap n:");
      scanf("%d",n);
   }
   printf("nhap mang nguyen %d phan tu:",*n);
   for(i=0;i<*n;i++)
   {
      printf("\na[%d]=",i);
      scanf("%d",&a[i]);
   }
 }
 void hien(int n, int a[])
 {
   int k,j,i=0;
   printf("ma tran tam giac duoi:\n");
   for(j=1;j<15;j++)
   {
      k=0;
      while(k<j)
      {
         printf("%d",a[i]);
         printf("\t");
         i++;
         k++;
         if(i>=n)
            break;
      }
      printf("\n\n");
      if(i>=n)
         break;
   }
 }
 int tong(int n, int a[])
 {
   int k,j,i=0,s=0;
   for(j=1;j<20;j++)
   {
      k=0;
      while(k<j)
      {
         i++;
         k++;
         if(i>=n)
            break;
      }
      s+=a[i-1];
      if(i>=n)
         break;
   }
   return s;
 }
 int dem(int n, int a[])
 {
   int i,d=0;
   for(i=0;i<n;i++)
      if(a[i]%n==0)
         d++;
     return d ;
 }
Về Đầu Trang Go down
Xem lý lịch thành viên
haph86
Gà mới lớn
Gà mới lớn


Tổng số bài gửi : 40
Join date : 04/06/2009

Bài gửiTiêu đề: Re: code:14/question2 va question3   Thu Jun 25, 2009 9:10 pm

anh nghĩa xem lại Q2 nhé, em test thử và có chỗ chưa đúng đâu anh.
Về Đầu Trang Go down
Xem lý lịch thành viên
nbp2983
Gà con
Gà con


Tổng số bài gửi : 23
Join date : 18/06/2009

Bài gửiTiêu đề: Re: code:14/question2 va question3   Thu Jun 25, 2009 10:34 pm

anh thu rui, q2 chay chuan ma!! theo em thi cho nao chua on?
Về Đầu Trang Go down
Xem lý lịch thành viên
haph86
Gà mới lớn
Gà mới lớn


Tổng số bài gửi : 40
Join date : 04/06/2009

Bài gửiTiêu đề: Re: code:14/question2 va question3   Thu Jun 25, 2009 10:59 pm

- Ở Q2, anh thử nhập aba, kết quả không đúng, nó báo hai lần kết quả của a, cũng sẽ tương tự như vậy với các chuỗi khác.
- Ở ý kiểm tra chuỗi "hello", đây là ví dụ đơn giản, anh có thể kiểm tra từ s[0] tới s[4], nhưng nếu chuỗi kiểm tra không phải là "hello" mà là "cong hoa xa hoi chu nghia viet nam" ( chuỗi rất dài ) thì mình đâu thể làm như này được phải không. Theo em, anh có thể dùng hàm strstr như sau:
+ khai báo con trỏ p: char *p;
+ gán p: p=strstr(s,"hello");
+ kiểm tra p: if(p==s) printf("Bat dau bang \"hello\""); else printf("Khong...");
Vì hàm strstr(a,b); với a, b là hai chuỗi là hàm trả về vị trí xuất hiện đầu tiên của b trong a, kết quả trả về là một con trỏ. Nếu b không có trong a, hàm sẽ trả về NULL ( '\0' ). Ở đây mình kiểm tra (p==s) tức là p có trỏ vào p[0] hay không Wink
Anh thử xem sao nhé, em đóng góp một ít thế thôi Very Happy Very Happy
Về Đầu Trang Go down
Xem lý lịch thành viên
nbp2983
Gà con
Gà con


Tổng số bài gửi : 23
Join date : 18/06/2009

Bài gửiTiêu đề: Re: code:14/question2 va question3   Fri Jun 26, 2009 9:17 am

//uh, cach do anh dua vao vd cua de nen chua tong quat, cach sau la tong quat cho q2!!
Code:

 #include <stdio.h>
 #include <conio.h>
 #include <string.h>
 //khai bao ham con
 void nhap(char s[]);
 void dem( char s[], int a[]);
 void kt(char s[]);
 //dinh nghia ham main
 void main()
 {
   int a[100];
   char s[100];
   clrscr();
   nhap(s);
   dem(s,a);
   kt(s);
   getch();
 }
 //dinh nghia ham con
 void nhap(char s[])
 {
   printf("\nnhap chuoi:");
   fflush(stdin);
   gets(s);
 }
 void dem(char s[], int a[])
 {
   int i,j,k;
   char str[100];
   strcpy(str,s);
   for(i=0;i<strlen(str)-1;i++)
      for(j=i+1;j<strlen(str);j++)
         if(str[j]==str[i])
         {
            for(k=j;k<strlen(str);k++)
               str[k]=str[k+1];
            j--;
         }
   printf("\ndo dai chuoi: %d", strlen(s));
   for(i=0;i<strlen(s);i++)
      a[i]=1;
   for(i=0;i<strlen(s)-1;i++)
      for(j=i+1;j<strlen(s);j++)
         if(s[j]==s[i])
            a[i]++;
   printf("\nso lan xuat hien:");
   for(i=0;i<strlen(str);i++)
      for(j=0;j<strlen(s);j++)
         if(s[j]==str[i])
         {
            printf("\n%c: %d",s[j],a[j]);
            break;
         }
 }
 void kt(char s[])
 {
   if(s[0]=='h'&&s[1]=='e'&&s[2]=='l'&&s[3]=='l'&&s[4]=='o')
      printf("\nchuoi \"%s\" bat dau bang \"%s\"",s,"hello");
   else
      printf("\nchuoi \"%s\" khong bat dau bang \"%s\"",s,"hello");
 }
Về Đầu Trang Go down
Xem lý lịch thành viên
nbp2983
Gà con
Gà con


Tổng số bài gửi : 23
Join date : 18/06/2009

Bài gửiTiêu đề: Re: code:14/question2 va question3   Fri Jun 26, 2009 9:28 am

phan kt dung cach cua em la tong quat, tuy nhien vi chuoi "hello" la ngan nen ta dung cach tren cho thu cong( de hieu), đỡ phai dung ham strstr va con tro ( dieu nay mot so ban se thay kho hieu). noi chung la tuy theo so thik cua moi nguoi ma ta nen chon cach nay hay cach kia!( doi voi chuoi ngan "hello")
Về Đầu Trang Go down
Xem lý lịch thành viên
Ngọc Đá
Trứng
Trứng


Tổng số bài gửi : 10
Join date : 06/06/2009

Bài gửiTiêu đề: Re: code:14/question2 va question3   Fri Jun 26, 2009 5:00 pm

Dear,
Cach giai quyet cho function kt() khong sai nhung khong nen lam vay! Smile Ban nen lam tong quat cho viec kiem tra chuoi nao cung vay chu khong rieng "hello" thi hay hon!
Co the lam theo huong cua Ha hoac neu khong dung quen thi tu cac ban xay dung function cung khong sao ma lai de hieu!
Vi du:
int check(char str[], char test[])
{
int i;
for(i=0;i<strlen(test);i++)
{
if(str[i]!=test[i])
return 0;
}
return 1;
}
Về Đầu Trang Go down
Xem lý lịch thành viên
haph86
Gà mới lớn
Gà mới lớn


Tổng số bài gửi : 40
Join date : 04/06/2009

Bài gửiTiêu đề: Re: code:14/question2 va question3   Fri Jun 26, 2009 7:26 pm

Ơ chuẩn rồi, chạy cứ vèo vèo... Very Happy
Về Đầu Trang Go down
Xem lý lịch thành viên
nbp2983
Gà con
Gà con


Tổng số bài gửi : 23
Join date : 18/06/2009

Bài gửiTiêu đề: Re: code:14/question2 va question3   Fri Jun 26, 2009 8:08 pm

Vâng! cám ơn cô giáo nhiều nhiều, cô giáo của chúng ta rất thông minh, em sẽ theo cách viết hàm con như cô. Chúc cô giáo có những ngày nghỉ dzuidze, hihi...
Về Đầu Trang Go down
Xem lý lịch thành viên
Sponsored content




Bài gửiTiêu đề: Re: code:14/question2 va question3   Today at 11:22 pm

Về Đầu Trang Go down
 
code:14/question2 va question3
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» Code Trove
» Part No: 1435000Z10001 Code: 88092764 Gemu Vietnam
» Hướng dẫn cách Refer Friend
» CODE Mount Insanisteed lấy nhanh kẻo hết

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