|
|
|
|
|
|
Web |
cho mình hỏi tí, tại sao gán số ngẫu nhiên, mình gán cho nó là 4 số, nó xuất hiện toàn là số 0.Code:#include<conio.h> #include<stdio.h> #include<stdlib.h> #define spt 100 void nhapmang( int a[], int &n); void xuatmang( int a[], int n); int ngaunhien( int a[], int n); void sapxeptang( int a[], int n); void sapxepgiam( int a[], int n); int mangchan(int a[], int n); int mangle(int a[], int n); void xoapt(int a[], int &n); void chenpt(int a[], int &n); void search(int a[], int n); int doixung(int a[], int n); int menu(); void main() { int n=0; int a[spt]; int chon=0; clrscr(); do { chon=menu(); switch(chon) { case 1: nhapmang(a,n);break; case 2: if(n>0) xuatmang(a,n);break; case 3: if(n>0) ngaunhien(a,n);break; case 4: if(n>0) sapxeptang(a,n);break; case 5: if(n>0) sapxepgiam(a,n);break; case 6: if(n>0) mangchan(a,n);break; case 7: if(n>0) mangle(a,n);break; case 8: if(n>0) xoapt(a,n);break; case 9: if(n>0) chenpt(a,n);break; case 10: if(n>0) search(a,n); case 11: if(n>0) { if(doixung(a,n)==1) printf("Mang da doi xung"); else printf("Mang chua doi xung");} break; case 0: break; } } while(chon!=0); } int menu() { int i=0; printf("\n1. Nhap mang"); printf("\n2. Xuat mang"); printf("\n3. Gan phan tu ngau nhien cho mang"); printf("\n4. Sap xep phan tu tang"); printf("\n5. Sap xep phan tu giam"); printf("\n6. Cac phan tu chan trong mang"); printf("\n7. Cac phan tu le trong mang"); printf("\n8. Xoa 1 phan tu tai vi tri k"); printf("\n9. Them 1 phan tu x vao vi tri k"); printf("\n10. Phan tu co so lan xua hien nhieu nhat"); printf("\n11. Kiem tra doi xung trong mang"); printf("\n\n"); scanf("%d",&i); return(i); } void nhapmang( int a[], int &n) { printf("\nNhap so phan tu cua mang: "); scanf("%d",&n); for( int i=0; i<n;i++) { printf("\nNhap a[%d]= ",i); scanf("%d", &a[i]); } } void xuatmang(int a[], int n) { printf("\nMang vua nhap co gia tri\n"); for (int i=0; i<n; i++) printf("%4d",a[i]); printf("\n"); } int ngaunhien( int a[], int n) { int i,j,m; printf("Ban muon tao bao nhieu so ngau nhien: "); scanf("%d",&m); for(i=0;i<n;i++) { printf("%4d",a[i]); } randomize(); for(j=0;j<m;j++) { a[j]=random(20); printf("%4d",a[i]); } return a[i]; } void sapxeptang( int a[], int n) { int j,tang; printf("\nSap xep tang"); for (int i=0; i<n-1; i++) for (int j=i+1; j<n; j++) { if (a[i]>a[j]) { tang=a[i]; a[i]=a[j]; a[j]=tang; } } for(i=0;i<n;i++) printf("%4d",a[i]); } void sapxepgiam( int a[], int n) { printf("\n\nSap xep giam: "); for ( int i=0; i<n-1;i++) for( int j=i+1;j<n;j++) { if (a[i]<a[j]) { int giam=a[i]; a[i]=a[j]; a[j]=giam; } } for(i=0;i<n;i++) printf("%4d",a[i]); } int mangchan(int a[], int n) { int i,j,c[spt],u=0; printf("\n\nPhan tu chan trong mang: "); for(i=0;i<n;i++) { if (a[i]%2==0) { c[u]=a[i]; j++; printf("%4d",c[u]); } } return(a,n); } int mangle(int a[], int n) { int i,j,c[spt],u=0; printf("\n\nPhan tu le trong mang: "); for(i=0;i<n;i++) { if (a[i]%2!=0) { c[u]=a[i]; j++; printf("%4d",c[u]); } } return(a,n); } void xoapt(int a[],int &n) { int k; printf("\n\nNhap vi tri can xoa, bat dau tu vi tri 0: "); scanf("%d",&k); for (int i=k;i<n;i++) a[i]=a[i+1]; n--; printf("Mang sau khi xoa phan tu tai vi tri %d la: ",k); for(i=0;i<n;i++) printf(" %d",a[i]); } void chenpt(int a[], int &n) { int k,x; printf("\n\nNhap vi tri can them, bat dau tu vi tri 0: "); scanf("%d",&k); printf("\nNhap gia tri phan tu can them: "); scanf("%d",&x); for (int i=n;i>k;i--) a[i]=a[i-1]; a[k]=x; n++; for(i=0;i<n;i++) printf(" %d",a[i]); } void search(int a[], int n) { printf("\nNumber \t Count\n"); int num = a[0]; int count = 1; int max=0; int k; for(int i=0 ; i<=n ; i++) if(num == a[i]) count++; else { printf("%d\t%d\n",num,count); if(count > max) { max = count; k = num; } num = a[i]; count = 1; } printf("\n%d Xuat hien nhieu lan nhat voi %d lan",k,max); } int doixung( int a[], int n) { int dx=1; for (int i=0; i<n/2;i++) { if (a[i]!=a[n-i-1]) { dx=0; break; } } return dx; }
VD:
nhập mảng: 1 2 3 4 5
gán thêm 4 số ngẫu nhiên: 1 2 3 4 5 0 0 0 0
và chạy gán thêm 1 lần nữa với số nó hiện ra:
16 16 4 8 5 0 0 0
làm thế nào để thành 1 2 3 4 5 x y z k ( x y z k là 4 số ngẫu nhiên bất kì)
và gán thêm 1 lần nữa thì nó hiện ra: 1 2 3 4 5 x y z k h j
ai biết chỉ mình với..Xem các bài khác cùng chuyên mục:
- Ai giúp mình với ???
- Xin giúp code này
- Tại sao bài này ra kết quả sai..
- Gán số ngẫu nhiên cho mảng?
- Thông báo một việc rất rất quan trọng
- 311 Tạo 1 mảng ngẫu nhiên và xuất ra dãy con...
- 310 Tạo mảng b chỉ chứa số nguyên tố từ mảng...
- 309 Tạo mảng b sao cho b[i] = tổng các ptử...
- 308 Tạo mảng b chỉ chứa giá trị âm từ mảng a
- 307 Tạo mảng b chỉ chứa giá trị lẻ từ mảng a
_____________________________________________
Chào Bạn 4UPro.info, Bạn hãy đăng ký 4UPro Để thảo luận cùng chúng tôi .


chưa biết bạn code thế nào . Nhưng hàm int ngaunhien( int a[], int n);
sao lại khai báo kiểu int và bạn return a[i] để làm gì ????. Bạn nên tự đặt câu hỏi .
bạn phải biết phân biệt khi nào dùng int , khi nào dùng void
_____________________________________________
Chào Bạn 4UPro.info, Bạn hãy đăng ký 4UPro Để thảo luận cùng chúng tôi .
ah, cái này em đã sửa lại rồi ( bị nhầm)..
Sao cái random nó lại in ra các số random giống nhau thế anh.
đây là code mới sửa:
Chỉ giúp em cách random để nó tạo ra các số khác nhauCode:#include<conio.h> #include<stdio.h> #include<stdlib.h> #define spt 100 void nhapmang( int a[], int &n); void xuatmang( int a[], int n); void ngaunhien( int a[], int n); void sapxeptang( int a[], int n); void sapxepgiam( int a[], int n); int mangchan(int a[], int n); int mangle(int a[], int n); void xoapt(int a[], int &n); void chenpt(int a[], int &n); void search(int a[], int n); int doixung(int a[], int n); int menu(); void main() { int n=0; int a[spt]; int chon=0; clrscr(); do { chon=menu(); switch(chon) { case 1: nhapmang(a,n);break; case 2: if(n>0) xuatmang(a,n);break; case 3: if(n>0) ngaunhien(a,n);break; case 4: if(n>0) sapxeptang(a,n);break; case 5: if(n>0) sapxepgiam(a,n);break; case 6: if(n>0) mangchan(a,n);break; case 7: if(n>0) mangle(a,n);break; case 8: if(n>0) xoapt(a,n);break; case 9: if(n>0) chenpt(a,n);break; case 10: if(n>0) search(a,n);break; case 11: if(n>0) { if(doixung(a,n)==1) printf("\nMang da doi xung\n"); else printf("\nMang chua doi xung\n");} break; case 0: break; } } while(chon!=0); } int menu() { int i=0; printf("\n\n*............................MENU...............................*"); printf("\n| |"); printf("\n| 1. Nhap mang |"); printf("\n| 2. Xuat mang |"); printf("\n| 3. Gan phan tu ngau nhien cho mang |"); printf("\n| 4. Sap xep phan tu tang |"); printf("\n| 5. Sap xep phan tu giam |"); printf("\n| 6. Cac phan tu chan trong mang |"); printf("\n| 7. Cac phan tu le trong mang |"); printf("\n| 8. Xoa 1 phan tu tai vi tri k |"); printf("\n| 9. Them 1 phan tu x vao vi tri k |"); printf("\n| 10. Phan tu co so lan xuat hien nhieu nhat |"); printf("\n| 11. Kiem tra doi xung trong mang |"); printf("\n| |"); printf("\n| |"); printf("\n| NHAN PHIM 0 DE KET THUC |"); printf("\n*...............................................................*"); printf("\n\n"); scanf("%d",&i); return(i); } void nhapmang( int a[], int &n) { printf("\nNhap so phan tu cua mang: "); scanf("%d",&n); for( int i=0; i<n;i++) { printf("\nNhap a[%d]= ",i); scanf("%d", &a[i]); } } void xuatmang(int a[], int n) { printf("\nMang vua nhap co gia tri\n"); for (int i=0; i<n; i++) printf("%4d",a[i]); printf("\n"); } void ngaunhien( int a[], int n) { int i,j,m; printf("Ban muon tao bao nhieu so ngau nhien: "); scanf("%d",&m); for(i=0;i<n;i++) { printf("%4d",a[i]); } randomize(); srand(time(NULL)); for(j=0;j<m;j++) { a[j]=random(20); printf("%4d",a[i]); } } void sapxeptang( int a[], int n) { int j,tang; printf("\nSap xep tang"); for (int i=0; i<n-1; i++) for (int j=i+1; j<n; j++) { if (a[i]>a[j]) { tang=a[i]; a[i]=a[j]; a[j]=tang; } } for(i=0;i<n;i++) printf("%4d",a[i]); } void sapxepgiam( int a[], int n) { printf("\n\nSap xep giam: "); for ( int i=0; i<n-1;i++) for( int j=i+1;j<n;j++) { if (a[i]<a[j]) { int giam=a[i]; a[i]=a[j]; a[j]=giam; } } for(i=0;i<n;i++) printf("%4d",a[i]); } int mangchan(int a[], int n) { int i,j,c[spt],u=0; printf("\n\nPhan tu chan trong mang: "); for(i=0;i<n;i++) { if (a[i]%2==0) { c[u]=a[i]; j++; printf("%4d",c[u]); } } return(a,n); } int mangle(int a[], int n) { int i,j,c[spt],u=0; printf("\n\nPhan tu le trong mang: "); for(i=0;i<n;i++) { if (a[i]%2!=0) { c[u]=a[i]; j++; printf("%4d",c[u]); } } return(a,n); } void xoapt(int a[],int &n) { int k; printf("\n\nNhap vi tri can xoa, bat dau tu vi tri 0: "); scanf("%d",&k); for (int i=k;i<n;i++) a[i]=a[i+1]; n--; printf("\nMang sau khi xoa phan tu tai vi tri %d la: ",k); for(i=0;i<n;i++) printf(" %d",a[i]); } void chenpt(int a[], int &n) { int k,x; printf("\n\nNhap vi tri can them, bat dau tu vi tri 0: "); scanf("%d",&k); printf("\nNhap gia tri phan tu can them: "); scanf("%d",&x); for (int i=n;i>k;i--) a[i]=a[i-1]; a[k]=x; n++; for(i=0;i<n;i++) printf(" %d",a[i]); } void search(int a[], int n) { printf("\nNumber \t Count\n"); int num = a[0]; int count = 1; int max=0; int k; for(int i=1 ; i<=n ; i++) if(num == a[i]) count++; else { printf("%d\t%d\n",num,count); if(count > max) { max = count; k = num; } num = a[i]; count = 1; } if(max==1) printf("\nCac so trong mang chi xuat hien 1 lan"); else printf("\n%d Xuat hien nhieu lan nhat voi %d lan\n",k,max); } int doixung( int a[], int n) { int dx=1; for (int i=0; i<n/2;i++) { if (a[i]!=a[n-i-1]) { dx=0; break; } } return dx; }
_____________________________________________
Chào Bạn 4UPro.info, Bạn hãy đăng ký 4UPro Để thảo luận cùng chúng tôi .


chưa chạy thử , vì ko có C . Và vẫn chưa hiểu ý bạn là gì . Nhưng bạn thử chạy xem có ra không
Code:void ngaunhien( int a[], int &n) { int i,j,m; printf("Ban muon tao bao nhieu so ngau nhien: "); scanf("%d",&m); xuatmang(a,n); randomize(); srand(time(NULL)); for(j=n;j<m+n;j++) { a[j]=random(20); } n=n+m; xuatmang(a,n); }
và bạn in ra "printf("%4d",a[i]);" để làm gì khi bạn đã có hàm xuất mảng ...."void xuatmang( int a[], int n);"
_____________________________________________
Chào Bạn 4UPro.info, Bạn hãy đăng ký 4UPro Để thảo luận cùng chúng tôi .
Cảm ơn, cảm ơn rất nhiều.....thank thank...
_____________________________________________
Chào Bạn 4UPro.info, Bạn hãy đăng ký 4UPro Để thảo luận cùng chúng tôi .
| W? |
|
|
Bookmarks