HN - Aptech
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

HN - Aptech


 
Trang ChínhTrang Chính  PortalPortal  GalleryGallery  Latest imagesLatest images  Tìm kiếmTìm kiếm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  

 

 code:14/question2 va question3

Go down 
3 posters
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

code:14/question2 va question3 Empty
Bài gửiTiêu đề: code:14/question2 va question3   code:14/question2 va question3 Icon_minitimeThu 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
haph86
Gà mới lớn
Gà mới lớn
haph86


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

code:14/question2 va question3 Empty
Bài gửiTiêu đề: Re: code:14/question2 va question3   code:14/question2 va question3 Icon_minitimeThu 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
nbp2983
Gà con
Gà con



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

code:14/question2 va question3 Empty
Bài gửiTiêu đề: Re: code:14/question2 va question3   code:14/question2 va question3 Icon_minitimeThu 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
haph86
Gà mới lớn
Gà mới lớn
haph86


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

code:14/question2 va question3 Empty
Bài gửiTiêu đề: Re: code:14/question2 va question3   code:14/question2 va question3 Icon_minitimeThu 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
nbp2983
Gà con
Gà con



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

code:14/question2 va question3 Empty
Bài gửiTiêu đề: Re: code:14/question2 va question3   code:14/question2 va question3 Icon_minitimeFri 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
nbp2983
Gà con
Gà con



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

code:14/question2 va question3 Empty
Bài gửiTiêu đề: Re: code:14/question2 va question3   code:14/question2 va question3 Icon_minitimeFri 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
Ngọc Đá
Trứng
Trứng



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

code:14/question2 va question3 Empty
Bài gửiTiêu đề: Re: code:14/question2 va question3   code:14/question2 va question3 Icon_minitimeFri 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
haph86
Gà mới lớn
Gà mới lớn
haph86


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

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

Ơ chuẩn rồi, chạy cứ vèo vèo... Very Happy
Về Đầu Trang Go down
nbp2983
Gà con
Gà con



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

code:14/question2 va question3 Empty
Bài gửiTiêu đề: Re: code:14/question2 va question3   code:14/question2 va question3 Icon_minitimeFri 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
Sponsored content





code:14/question2 va question3 Empty
Bài gửiTiêu đề: Re: code:14/question2 va question3   code:14/question2 va question3 Icon_minitime

Về Đầu Trang Go down
 
code:14/question2 va question3
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» code:11/question2/lời giải tự nhiên!
» code:05/question3/hay o cho nhap mang va lưu trữ n!
» code 09 thiếu EXAM1 mời các bác vào chém code hay cực (menu)
» code 19 đã ok các chú các bác vào chém đê !!!!!!!!!!!(code fia dứơi nhé)
» code:08/day du!/code nay kha hay, cac ban tham khao!!

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