| | code:14/question2 va question3 | |
| | Tác giả | Thông điệp |
---|
nbp2983 Gà con
Tổng số bài gửi : 23 Join date : 18/06/2009
| Tiê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 ; } | |
| | | haph86 Gà mới lớn
Tổng số bài gửi : 40 Join date : 04/06/2009
| Tiê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. | |
| | | nbp2983 Gà con
Tổng số bài gửi : 23 Join date : 18/06/2009
| Tiê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? | |
| | | haph86 Gà mới lớn
Tổng số bài gửi : 40 Join date : 04/06/2009
| Tiê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 Anh thử xem sao nhé, em đóng góp một ít thế thôi | |
| | | nbp2983 Gà con
Tổng số bài gửi : 23 Join date : 18/06/2009
| Tiê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"); } | |
| | | nbp2983 Gà con
Tổng số bài gửi : 23 Join date : 18/06/2009
| Tiê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") | |
| | | Ngọc Đá Trứng
Tổng số bài gửi : 10 Join date : 06/06/2009
| Tiê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! 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; } | |
| | | haph86 Gà mới lớn
Tổng số bài gửi : 40 Join date : 04/06/2009
| Tiê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... | |
| | | nbp2983 Gà con
Tổng số bài gửi : 23 Join date : 18/06/2009
| Tiê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... | |
| | | Sponsored content
| Tiêu đề: Re: code:14/question2 va question3 | |
| |
| | | | code:14/question2 va question3 | |
|
Trang 1 trong tổng số 1 trang | |
Similar topics | |
|
| Permissions in this forum: | Bạn không có quyền trả lời bài viết
| |
| |
| |