| | Thảo luận về các lab CTDL> | |
|
+3DEV.CENTER Admin onlyesterday 7 posters | |
Tác giả | Thông điệp |
---|
caranhp Thành viên
Tổng số bài gửi : 2 Votes : 0 Join date : 19/09/2011
| Tiêu đề: Re: Thảo luận về các lab CTDL> Mon Sep 19, 2011 10:29 pm | |
| - xuyenit55 đã viết:
- DEV.CENTER đã viết:
- xuyenit55 đã viết:
uhm , đôi lúc thấy nó chạy runtime thôi , tư tưởng của tớ là đúng , tớ đang code lại cho chuẩn xác ! ko phải lỗi runtime thế hả , để tớ xem lại xem sao !:) Tớ thấy bài của bạn thuật toan rất hay nhưng thi thoảng chạy bị lỗi j đó ko chạy dược Chỉ cần sửa lại for ( int i = 0 ; i < max ; i++) { c[a[i]] +=1; } Thành for ( int i = 0 ; i < n ; i++) { c[a[i]] +=1; } Thì chạy ko còn lỗi nữa. Nhưng bài này nếu là sỗ âm thfi có vẻ như ko còn đúng nữa. Mà bài của xuyên hình như nhầm tim số lớn thứ k thành tìm số nhỏ thứ k thì phải | |
| | | xuyenit55 Moderator
Tổng số bài gửi : 12 Votes : 3 Join date : 14/09/2011 Age : 32
| Tiêu đề: Re: Thảo luận về các lab CTDL> Mon Sep 19, 2011 11:07 pm | |
| - caranhp đã viết:
- xuyenit55 đã viết:
- DEV.CENTER đã viết:
- xuyenit55 đã viết:
uhm , đôi lúc thấy nó chạy runtime thôi , tư tưởng của tớ là đúng , tớ đang code lại cho chuẩn xác ! ko phải lỗi runtime thế hả , để tớ xem lại xem sao !:) Tớ thấy bài của bạn thuật toan rất hay nhưng thi thoảng chạy bị lỗi j đó ko chạy dược Chỉ cần sửa lại for ( int i = 0 ; i < max ; i++) { c[a[i]] +=1; } Thành for ( int i = 0 ; i < n ; i++) { c[a[i]] +=1; } Thì chạy ko còn lỗi nữa. Nhưng bài này nếu là sỗ âm thfi có vẻ như ko còn đúng nữa. Mà bài của xuyên hình như nhầm tim số lớn thứ k thành tìm số nhỏ thứ k thì phải à ừ nhỉ tớ lộn hihi thanks cậu nhé ! , còn nó bị lỗi là lỗi runtime cậu ạ ! edit : thanks cậu nhé , vừa nãy mới nhớ ra là như thế ! lỗi runtime chính là do cái dòng đó , code tớ sửa hoàn chỉnh đây ! - Code:
-
/* Name: Bai 2 : tim phan tu lon thu 1 , thu 2 , thu k; Copyright: Author: Date: 18/09/11 08:09 Description: ban dau co the sort mang sau do tim gia tri lon thu k cua mang */
#include<iostream> #include<stdlib.h>
using namespace std;
int main() { int n =0 , a[100],c[100] , m = 0 , f = 0 , b[100] , t = 0 , k; // sinh so ngau nhien cua n va mang cua a srand((unsigned)time(NULL)); n = rand()%10+3; for ( int i = 0 ; i < n ; i++){ a[i] = rand() %10; cout << a[i] << " , "; } int max = 0 ; max = a[0]; for ( int i = 1 ; i < n ; i++){ if ( max < a[i] ) max = a[i]; } // c = new int [max]; for ( int i = 0 ; i < max ; i++) { c[i] = 0; } for ( int i = 0 ; i < n ; i++) { c[a[i]] +=1; } cout << "\nnhap k = " ; cin >> k; for ( int j = max ; j >=0 ; j--) { if ( c[j] != 0) { b[t] = j; if ( (t+1) == k) { cout << "\nPhan tu lon thu " << k << " la : " << b[t] << endl; } t++; } } system("pause"); return 0; }
Được sửa bởi xuyenit55 ngày Tue Sep 20, 2011 1:18 am; sửa lần 2. | |
| | | onlyesterday Moderator
Tổng số bài gửi : 76 Votes : 2 Join date : 14/09/2011 Age : 30 Đến từ : LAPUTA
| Tiêu đề: Re: Thảo luận về các lab CTDL> Mon Sep 19, 2011 11:12 pm | |
| các bác giải thích cho t với :( | |
| | | xuyenit55 Moderator
Tổng số bài gửi : 12 Votes : 3 Join date : 14/09/2011 Age : 32
| Tiêu đề: Re: Thảo luận về các lab CTDL> Tue Sep 20, 2011 1:13 am | |
| - only.yesterday đã viết:
- các bác giải thích cho t với :(
thuật toán sắp xếp đếm phân phối như sau : giải sử ta có 1 mảng là 1 , 2 , 5 ,3 , 6 , 5 ; mảng này có giá trị lớn nhất là 6 vì vậy ta phải tạo 1 mảng dem[6] có 6 phần tử nhé , khởi tạo mảng này ban đầu là = 0 tất ! - Code:
-
for ( int k = 0 ; k < 7 ; k++) { dem[k] = 0; }
sau đó Thì ta duyệt mảng để đếm xem số lần xuất hiện của từng phần tử for ( int i = 0 ; i < n ; i++) { dem [a[i]] += 1 ; // lúc này a[i] thay cho giá trị của k , ví như a[i] = 1 thì nó dem[1] +=1; } sau đó đến lúc này ta có 1 mảng như sau : phần tử = 0 có vị trí đứng từ vị trị 0 đến vị trí dem[0]; phần từ = 1 có vị trí đứng từ vị trị dem[0]+1 tới vị trí là dem[0] +dem[1]; phần tử có khóa = k có vị trí đứng từ vị trí dem[0] +dem[1] +..... + dem[k-1]+1 đến dem[0] + dem[1] +....+ dem[k]; code demo đây ! - Code:
-
/* Name: day sap xep theo kieu dem phan phoi voi do phuc tap la 0(n+m); Copyright: Author: Date: 31/07/11 21:25 Description: Day khoa k [1..n] la cac so nguyen nam trong khoang tu 0 toi M ta dung day c[0..M] cac bien dem , o day C[V] la so lan xuat hien gia tri V trong day khoa */ #include<iostream> using namespace std;
int main() { int a[10] = { 1,2,2,0,0,1,1,3,3,3}; int c[10], x[10]; int v , i; // khoi dau gia tri cua bien dem = 0; for ( v = 0 ; v <10 ; v++) { c[v] = 0; } // dem so lan xuat hien cua gia tri for ( i = 0 ; i < 10 ; i++) { c[a[i]]+=1; } // tim vi tri cuoi cua moi doan for ( v = 1 ; v < 10 ; v++) { c[v] +=c[v-1]; // cout << c[v] << " , "; } cout << endl; for ( i = 10-1; i >= 0 ; i--) { v = a[i]; x[c[v]]= a[i]; // cout << x[c[v]]<< " , "; // cai nay in ra de dem xem nó xuat hien o nhung doan nao c[v] -=1; // cout << x[c[v]]<< " , "; } // a = x; cout << endl; cout <<"\nMang sau khi da sap xep la :\n"; for ( i = 1 ; i <=10; i++) { // a[i] = x[i]; cout << x[i] << " , "; } cin.get(); return 0; }
ps : khả năng diễn đạt kém quá nếu ko hiểu đc thì cứ chạy code và tính bằng tay nhé ! | |
| | | xuyenit55 Moderator
Tổng số bài gửi : 12 Votes : 3 Join date : 14/09/2011 Age : 32
| Tiêu đề: Re: Thảo luận về các lab CTDL> Tue Sep 20, 2011 2:03 pm | |
| caí bài mình làm ở trên độ phức tạp của nó là 0(max (pt_max ,n)) với pt_max là giá trị lớn nhất của mảng đã nhập nhé ! | |
| | | jinboo_susu Thành viên
Tổng số bài gửi : 1 Votes : 0 Join date : 22/09/2011
| Tiêu đề: Re: Thảo luận về các lab CTDL> Thu Sep 22, 2011 11:51 am | |
| bon minh chua hoc @@ moi thuc hanh buoi dau tien lam` ngay lab3 | |
| | | Sponsored content
| Tiêu đề: Re: Thảo luận về các lab CTDL> | |
| |
| | | | Thảo luận về các lab CTDL> | |
|
Similar topics | |
|
| Permissions in this forum: | Bạn không có quyền trả lời bài viết
| |
| |
| Latest topics | » Fist of May, xúc cảm tình yêuMon Jul 15, 2013 10:03 am by DEV.CENTER » Xả stress với game myzoo! Chơi game trúng New iPadTue May 15, 2012 9:06 am by girlxinh » 10 thói quen nhỏ của những người ít bị căng thẳngThu May 10, 2012 11:20 pm by DEV.CENTER » NGƯỢC LẠI VỚI YÊU LÀ GÌ ???Thu May 10, 2012 11:03 am by DEV.CENTER » 4 QUY TẮC TÂM LINH CỦA NGƯỜI ẤN ĐỘThu May 10, 2012 10:58 am by DEV.CENTER » IT Corner ĐHQGHN mở rộng lần thứ IVWed Apr 11, 2012 12:26 am by onlyesterday » Về việc buộc thôi học từ học kỳ II năm học 2011-2012 các sinh viên đại học hệ chính quy có kết quả học tập không đạt yêu cầuWed Apr 11, 2012 12:25 am by onlyesterday » Đố thým nào tìm ra được cô gái trong bức ảnh nàyTue Apr 10, 2012 11:57 pm by DEV.CENTER » Project EulerTue Apr 10, 2012 11:54 pm by DEV.CENTER |
|