banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Messages posted by: K4i  XML
Profile for K4i Messages posted by K4i [ number of posts not being displayed on this page: 0 ]
 

buithanhliem wrote:

K4i wrote:
Hì, mình nói rồi, dù có dùng đến kiểu bộ nhớ có sẵn lớn nhất của C/C++ đế tính 100! là điều phi lý vì nó quá lớn, không thể tải được smilie

Bạn cứ copy toàn bộ dòng code trên chạy thì biết nó in ra cái gì. Nhập cụ thể vào 100 để nó cho kết quả thực tế.  


Kết quả nhé (100!):

-1,71024E+123 


==> sai lè, 100! > 0 cơ mà smilie

Sử dụng bộ dịch của MingW smilie 



Trả lời chẳng có tính xây dựng gì! Bó tay!
Bạn nào hỏi hãy copy dòng code trên vào trong Turbo C++, của Borland, sau đó chạy thì kết quả in ra là: 9.33262e+157. 


Đồng chí có dám khẳng định là đấy là kết quả đúng không??? :?smilie .

Bạn có biết kiểu long double biểu diễn trong Turbo C++ là bao nhiêu bytes không, liệu có đủ lớn để biểu diễn 100!

Còn nữa, MinGW là trình dịch (compiler) C chuẩn hiện nay và chí ít mình biết long double trong MinGW sử dụng bộ nhớ nhiều hơn cái Turbo C cũ rích rồi.

to nanova: cách tính 100! mình đã trình bày ở trên, và mình nghĩ thầy giáo của bạn cũng sẽ chả đòi hỏi cách nào khác đâu. Chịu khó nghĩ kĩ đi

smilie
kucon có thể đọc lại help của BitComet, riêng chuyện mở cổng trong BitComet thì dễ làm thôi (vào Options, trong mục Connection).
Còn việc tạo một portforward cho router thì có thể tham khảo tại đây, nó nói khá rõ cho từng loại ứng dụng một http://www.portforward.com
Hờ, vụ này chắc phải theo dõi rồi. Âu cũng là một kinh nghiệm smilie

cuocsonglathe wrote:
Tôi có một bài tập về mảng muốn chia sẻ cùng mọi người:
Cho 2 mảng m[4][4] và a[16](16 phần tử được nhập từ bàn phím).Viết chương trình biểu diễn mảng m[4][4] bằng các pt của mảng a[16] theo một trong các yêu cầu sau:
1:Vd cac pt mảng a lần lượt là:
a[16]={1,2,3,4,5,6,7,8,9,10...,16}
thi` mảng m dc biểu diễn
1__ 2__ 3__ 4
8__ 7__ 6__ 5
9__ 10_ 11_ 12
16_ 15_ 14_ 13
2:vẫn như trên nhưng mảng m đc bd:
1__ 2__ 3__ 4
5__ 6__ 7__ 8
9__ 10_ 11_ 12
13_ 14_ 15_ 16


Hẹn các bác thứ 3 tui sẽ post bài giải. 


Bài này dễ hơn bài vẽ ma trận xoắn ốc mà smilie)

hoangmac wrote:
cần thủ tục DaoChuoi() và thủ tục swap() chứ
tớ đâu tạo thêm một chuỗi để lưu kq, tớ lưu thẳng lên s1. vì:
n1<n2: (s1="6789" s2="56789")cậu ko thể cộng s1[n1]=s1[n1]+s2[n2] vì khi n1=0 thì n2=1 ko lẽ bỏ số đó.
n1=n2: nho=1 thì lại chen nhó vào vtrí s1[0] phiền lắm
tớ tiếc kiệm bộ nhớ nhưng làm cho ctrinh chạy ... chậm & rắc rối vô duyên smilie)
có lẽ tớ nên tạo thêm s3 để lưu kq thì code sẽ đơn giản hơn...thank vì đã góp ý
vì đoạn code trên vô duyên wa nên khỏi comment 


Cậu thử nghĩ xem liệu có bỏ được không :?smilie còn về lưu kết quả thì tốt nhất nên lưu ra một mảng mới là tốt nhất không nên để kết quả trùng lên biến cũ. Cậu sẽ hiểu tại sao lại thế khi cậu làm phép chia smilie.

Còn việc xét số lớn nhỏ hơn thì không cần thiết nếu như cậu chỉ tập trung làm số dương, còn số âm thì cần đó.

Điểm lưu ý khác, chương trình vô duyên hay không vô duyên thì chưa cần biết nhưng theo ý mình thì cậu nên tôn trọng người đọc bằng cách comment để cho người ta hiểu cậu đã làm cái gì thay vì đau đầu dịch lại code của cậu. Nó cũng chứng tỏ khả năng làm việc cẩn thận của cậu (tuy nhiên comment đừng quá dài dòng smilie)

smilie

eternal_flame2584 wrote:
bạn đang dùng ram bus 100 vậy là SDram rồi. Bạn có thể mua 1 thanh ram SD khác cũng bus 100 là có thể chạy được. Tôt nhất là mua 1 thanh giống hệt thanh bạn đang có là OK thôi. Bạn cắm thanh bus 133 vẫn có thể chạy được đấy. Nhưng còn tùy vào main có kén ram hay ko nữa. 


==> lý thuyết vẫn cứ là lý thuyết, giờ này làm gì còn Ram bus 100 nữa hả giời mà mua smilie.

Còn về chủng loại Ram thì mình chưa xem nhưng chắc là DDR chứ không phải SD đâu.

canh_nguyen wrote:

K4i wrote:
Hi` nói thế tức là sao, mình chỉ biết việc theo dõi phần cứng có vấn đề nhưng không rõ lắm. Nói giúp mình chi tiết đi

smilie 


Hì thì đó Hardware Monitor has a problem., bạn có thể test lại bằng cách mượn cái màn hình khác(không hỏng), sau đó rút ra kết luận thêm. 


Như mình đã phân tích ở trên, màn hình hoàn toàn bình thường. Ban đầu khi bật máy, có đèn nhưng không có tiếng quạt CPU chạy ==> chứng tỏ máy không hoạt động dù đèn ổ cứng và main đều sáng smilie. Còn trong tiếng Anh monitor có 2 nghĩa đó smilie.

Còn về vụ tháo rời từng thành phần của case ra để test thì mình nghĩ không phải và không cần quá đao to búa lớn như vậy smilie. Okie, vì theo mình nghĩ, nếu có trục trặc gì ở các thiết bị khác thì nó sẽ không có triệu chứng bất thường như vậy.

Cuối cùng, sau mấy ngày theo dõi, mình để ý, là có lúc bật thì nó lên luôn, có lúc thì gặp phải những triệu chứng như vậy. Mình đang nghĩ tới là điện áp yếu không đủ cho CPU chạy smilie vì ngay kề cái máy tính của mình là cái TV 29 inch bóng hình, và lúc nãy khi mình bật máy mà không bật ti vi thì máy khới động ngon lành, còn những lúc bật TV thì mình chả nhớ nữa smilie.

Ai có ý kiến gì không giúp mình một cái smilie.
Mình hỏi luôn, máy mình Ram bus 100 (mua từ năm 2002 smilie ) giờ muốn cắm thêm Ram thì chỉ cần cắm thêm Ram nào cũng được ah.
Hi` nói thế tức là sao, mình chỉ biết việc theo dõi phần cứng có vấn đề nhưng không rõ lắm. Nói giúp mình chi tiết đi

smilie
Có 2 ý kiến về phần này như sau:
1. Không cần thiết phải sử dụng hàm DaoChuoi()swap().

2. Nên comment để cho mọi người dễ đọc và dễ hiểu bạn định làm cái gì

smilie
Máy mình dạo này có triệu chứng rất lạ: Khi bật máy lên thì thấy đèn từ main và ổ cứng đều sáng, chứng tỏ có điện vào, màn hình tối om (nhưng đèn màn hình nhấp nháy), tuy nhiên theo cảm nhận của mình thì máy không hề khởi động (nghe thấy tiếng ổ A, quạt CPU lúc này mới chạy). Chờ một lúc, nhấn reset thì lúc này màn hình lên, khởi động như bình thường. Thỉnh thoảng nó có hiện thông báo: Hardware Monitor has a problem.

Ai biết máy bị bệnh gì thì cho biết nhé, để mình biết đường đem sửa
Hì, mình nói rồi, dù có dùng đến kiểu bộ nhớ có sẵn lớn nhất của C/C++ đế tính 100! là điều phi lý vì nó quá lớn, không thể tải được smilie

Bạn cứ copy toàn bộ dòng code trên chạy thì biết nó in ra cái gì. Nhập cụ thể vào 100 để nó cho kết quả thực tế.  


Kết quả nhé (100!):

-1,71024E+123 


==> sai lè, 100! > 0 cơ mà smilie

Sử dụng bộ dịch của MingW smilie
1. Bạn chỉnh lại tiêu đề đi, không thì bị remove vào thùng rác bây giờ.

2. Mình cũng đã gặp vấn đề như bạn và mình không xử lý như bạn, mình cho thêm một dòng if để xem n là bao nhiêu, nếu quá giới hạn tính của double chẳng hạn thì in ra màn hình là không tính được. Đấy là một cách xử lý tuy nhiên việc tính 100! đòi hỏi bạn phải làm việc với số lớn vì tất cả các kiểu dữ liệu của C/C++ đều có giới hạn và 100! thì quá lớn, nếu bạn cố tình tính toán thì bạn có dùng đến kiểu long long thì cũng không giải quyết được vấn đề đâu.

Về vấn đề số lớn bạn có thể xem tại đây http://vnhacker.org/hvaonline/posts/list/6815.html
Cái này thì hỏi về cộng 2 số lớn, nó cũng có code của việc nhân 2 số lớn và mình cũng đã trình bày việc biểu diễn số lớn như thế nào cùng cách cộng 2 số lớn (còn trong bài toán của bạn thì sẽ đưa về việc nhân một số lớn với một số có 2, 3 chữ số. Bán có thể dùng cách nhân tay để tính, nó sẽ không quá phức tạp đâu). hakuso có đưa ra một thư viện tính toán số lớn tuy nhiên theo mình bạn nên tự mình viết lấy vì những bài toán này yêu cầu sinh viên viết được tính toán số lớn.

Bạn có thể xem thêm trong quyển The Art of programming Vol2 về vấn đề này.

PS: bạn nên đưa code vào thẻ code để dễ nhìn hơn nhé

letuyetnhung wrote:
Hay quá..........mình cũng đang kiếm 1 topic chia se va cùng thảo luận các bài tập C từ dể cho đến pro đây.
Mình xin tăng mấy bạn code này.
Và mình cũng có vài excerise chưa làm song, mong các bạn giúp đở.


{
int k,i=0;
printf("\nNhap vi tri k can xoa ");
scanf("%d",&k);

for(i=k;i<n-1;i++)
a[i]=a[i+1];
n--;
xuat(a,n);

Mình có ý thế này, khi post bài thì đề nghị bạn gõ cẩn thận, rõ ràng, và tránh gõ sai chính tả smilie. Nếu bạn hỏi một vấn đề gì thì nói rõ vẫn đề mình cần hỏi, chẳng hạn như đoạn code trên, bạn gặp vấn đề ở chỗ nào, nó chạy trục trặc ở đâu, và tốt nhất thì nên đưa code cả bài nên để mọi người theo dõi, hoặc viết comment để mọi người dễ hiểu
Nếu bạn đưa code lên diễn đàn thì nên đưa vào trong thẻ code cho người khác dễ theo dõi.

Đoạn code trên là dùng để xóa phần tử thứ k trong mảng n phần tử, vậy bạn gặp trục trặc ở chỗ nào? (Thiếu khai báo mảng a: int a[]smilie

to all: Thay vì lên đây kêu gọi mọi người cho bài tập C (cái này quá khó vì thứ nhất không biết trình độ của các bạn thế nào, các bạn cần loại bài tập như thế nào nữa: hệ thống, đồ họa, hay sử dụng thuật toán ==> cho nên sẽ không ai đưa bài tập đâu :mrgreensmilie, các bạn có thể tìm mua quyển bài tập ngôn ngữ lập trình C từ A - Z về để lấy bài làm, quyển này có ưu điểm là đủ các loại bài tập từ cơ bản đến nâng cao, rất tốt để tham khảo, tuy nhiên khi giải bài, nó chỉ có code thôi, không giải thích gì hết, mọi người chịu khó vậy. Nếu gặp vấn đề không hiểu, trước khi hỏi hãy cố gắng suy nghĩ thật kĩ, debug thật cẩn thận, nếu không rõ thì các bạn có thể tìm bằng google hoặc lên đây hỏi, không thiếu người trả lời đâu (trừ những câu hỏi quá củ chuối hoặc chứng tỏ các bạn chả nghĩ gì cả thì sẽ chả có ai trả lời đâu).

Chúc mọi người học C cẩn thận smilie)

Bạn có thể nói rõ hơn về cách xử lý dữ liệu đầu vào bằng cách dùng mảng không ? Ví dụ như mình nhập 1 số là 1234, vậy làm sao để có phần tử của mảng a như sau : a[0] là 4, a[1] là 3.... ? Vì nó là 1 số liền nhau mà ?
VÀ theo cách thứ 2 mà bạn nói ! Làm thế nào để ép kiểu từ string sang int ?
 


==> đọc toàn bộ dữ liệu đầu vào là một string sau đó, convert từng thằng kí tự một sang kiểu int và gán vào mảng. smilie

Còn cái ép kiểu. Mình không hiểu cái ép kiểu của bạn nghĩa là gì?

Vì sao ko thể ép kiểu vậy bạn ? Vì ý tưởng của mình là nếu như nhập 1 số là 1234, thì mình sẽ dùng 1 mảng string để lưu trữ nó, như vậy, mình sẽ ép kiểu từng phần tử a[o] -> a[3] sang string ! như thế, sẽ ko làm trản bộ nhớ đúng ko bạn ? Không biết là ý tưởng của mình có thực hiện được không ? Mình chưa hiểu rõ ý bạn nói ?
Cám ơn hai bạn nhiều lắm ! smilie  


Nhắc lại nhé: string là một mảng kí tự smilie, còn từng phần tử của nó vẫn là kiểu char và mình nghĩ bạn nên đọc lại cách biểu diễn số trong máy tính: tại sao nói kiểu int có 4 bytes, một số nguyên như int a = 3 được biểu diễn như thế nào trong máy tính (số nhị phân) và tại sao lại xuất hiện hiện tượng tràn bộ nhớ khi mà nhập một số quá lớn), bạn cũng nên đọc lại cách ép kiểu trong C/C++ nó là như thế nào. Bởi vì bạn chưa hiểu cách làm việc với số lớn: biểu diễn lại số đó theo cách mà mình hiểu và máy tính hiểu.

Thân.
Mình đang tìm quyển PC Guide cho việc học kiến trúc máy tính. Mình chưa nhìn thấy mặt mũi quyển đó như thế nào nên tự tìm hơi khó. Ai có thông tin thì cho mình biết nhé và nếu có sách thì càng tốt.

Thanks

newbie_newbie wrote:
Các bạn ơi, cho mình hỏi cách làm bài này tí !
Mình muốn làm 1 bài cộng 2 số lớn thật là lớn ! Vậy, làm thế nào để lưu số lớn đó bây giờ ?
Và khi nhập một số đầu vào rất lớn, làm thế nào để có thể nhận nó ? Nếu dùng kiểu chuỗi thì có thể ép sang kiểu int được ko ?
Các bạn giúp mình với ! 


Về vấn đề cộng số lớn thì bạn phải nghĩ cách lưu được số lớn đó vào trong bộ nhớ. Vê lưu số lớn thì có 2 cách: bạn có thể dùng một mảng số nguyên hoặc dùng một xâu kí tự để lưu nó lại.

==> chính vì thế, khi nhập số lớn cái bạn nhập vào là một xâu kí tự (hoặc một mảng số nguyên). Ví dụ nhé: bạn định nhập vào số 1234 ==> bạn cần có một mảng ít nhất có 4 phần tử để lưu 1, 2, 3, 4 hoặc một string "1234"; Mỗi thằng có một lợi điểm riêng, như dùng mảng số nguyên thì không phải mất công chuyển đổi từ kiểu char sang int để tính toán, .. ==> cái này thì tùy vào khả năng của bạn. smilie
Đó là việc lưu trữ. Còn về việc tính toán thì lúc này bạn có thể sử dụng cách nhân thủ công của ta: tức là cộng lần lượt từ phải sang trái, và có nhớ khi cộng.
Ví dụ: 1234 + 3456 thì lấy 4 + 6 = 10, viết 0, nhớ 1, sau đó là 3 + 5 nhớ 1 là 9, viết 9 nhớ 0, cứ tương tự như vậy cho đến khi duyệt hết tất cả các phẩn tử của mảng (hoặc string). Sau đó in ra kết quả.

Với các số lớn vượt quá kiểu của int (4 bytes) thì việc ép kiểu là không thể. (nguyên nhân rất đơn giản, nó sẽ làm tràn bộ nhớ của int). Thông thường với các bài toán số lớn, mình thường dùng một class số lớn, trong đó mình định nghĩa lại toàn bộ các toán tử +, -, *, / (giờ mới làm đến thế). Tốt nhất là khi dùng đến số lớn, thì bạn nên quên đi việc ép kiểu, bắt buộc xây dựng lại từ đầu.

Đây mới chỉ là bài toán cộng 2 số dương. Bạn có thể mở rộng bài toán này cho các số nguyên và các phép tính khác.

Thân
cái nài hok phải là lười suy nghĩ . tui làm ra rồi nhưng mà muốn share choa mọi người cùng bít thôi . sư huynh khó tính qué  

Liệu đây có phải là tiếng Việt???
Thử nghĩ hướng giải xem nào, lười nghĩ quá! Bài dễ mà. smilie
search 4rum trước khi hỏi nhé. smilie
to LanNgoc: copy and paste thì cũng phải chỉnh sửa cho phù hợp, và phải hiểu mình post cái gì chứ.

to kid1988: tìm trong forum trước khi hỏi. Sách dạy C bằng tiếng Việt thì nhiều lắm, bạn có thể tự tìm hoặc mượn bạn. Còn chuyện ông thầy ghét hay không thì không liên quan đến chuyện này đâu, đừng có lôi vào làm gì cả.
Mình đang dùng eMule, nhưng mà tốc độ down chậm quá, (thỉnh thoảng còn waiting dài dằng dẵng). Tìm nguyên nhân thì được biết mình thuộc low ID cho nên tốc độ khá chậm. Kiếm được tài liệu để config lại cổng cho eMule nhưng mà khi test cổng, site của eMule đều báo là TCP connection failed, không hiểu tại sao (mặc dù đã tắt hết tường lửa)?

Mình đang dùng WinXP sp2, tắt firewall. Cấu hình cho eMule là TCP port: 4662, UDP port: 4672 (default luôn)

Bác nào có kinh nghiệm trong việc dùng eMule thì chỉ giáo giúp với.

Cảm ơn nhiều, smilie
OMG, tưởng cái gì, nó chỉ là tên của struct thôi mà. Cái tag ấy chả quan trọng gì cả. ==> chả hiểu bạn học cái gì nữa. Có cái tên còn không rõ smilie
Mình chưa thấy 2 kiểu định nghĩa đầu tiên ở đâu cả. Bạn có thể đưa ra ví dụ cho rõ ràng không
Thứ nhất, đề nghị phonenix2007 bình tĩnh. light.phoneix nói đúng đó (dĩ nhiên là mình không có theo hùa ai đâu). Bạn nên có thói quen tự tìm hiểu đi, mạng internet để làm cái gì nhỉ, google để làm gì, cả wikipedia nữa nhất là những thứ kinh điển như C/C++ và OOP. Bạn cứ thử hỏi mấy ông ấy trước đã, xong rồi hãy lên 4rum. Làm như thế bạn vừa nâng cao kĩ năng tìm kiếm thông, vừa đỡ làm tốn công sức của mọi người vào những thứ đã có sẵn. Thế thôi nhỉ.

rồi "khác biệt giữa tham chiếu và con trỏ" (câu này tui đâu có hỏi đâu ?).
À, tôi xin thưa với ông anh một điều là tui đã đọc sách rồi (3 cuốn : OOP-Trần Văn Lăng, Kỹ thuật lập trình-Phạm Văn Ất và OOP-DHBK - có ít quá ko ?), nhưng vẫn chưa hiểu (nói cho chính xác là có hiểu chút chút nhưng chưa rõ) 


==> bạn thử nói bạn đã hiểu những gì về tham chiếu nào. Nói thử xem sao. "Hiểu chút chút là như thế nào"???

==> đọc thêm cái này nhé: http://en.wikipedia.org/wiki/Reference_%28C%2B%2B%29

Sách của mấy bác Việt Nam bạn đọc không quá sâu vào mấy phần đấy đâu. Bạn thử đọc thêm quyển C/C++ How to program đi. Quyển đấy giành hẳn một chương để nói về tham chiếu đấy.
Hy vọng là nó có ích nhỉ
Thân,
Mình nghĩ bạn nên kiếm một quyển sách về OPP (mình đoán bạn đang học C/C++ đúng không) và đọc hết đi. Đọc xong, nếu không có gì không hiểu bạn có thể hỏi lại. Nếu bạn hỏi như thế này khác nào bạn bảo mọi người dạy lại cho bạn. Rất mất thời gian và chưa chắc đã đúng trọng tâm bạn muốn hỏi.

Thân
Nếu đang học C/C++ thì có thể đọc quyển C++ How to program. Quyển đấy nói khá rõ đấy.
Da Vista hồn XP: http://vnhacker.org/hvaonline/posts/list/5277.html
Còn Vista Pro thì hiện nay bạn chắc chỉ có cách mua bản quyển thì mới dùng được thôi nhá.
Tóm lại, các bạn ra quán làm trò gì thế. Nếu để khoe kỹ thuật thì về máy mình mà làm. Còn ở quán net các bạn có quyền user hay Admin thì có gì khác nhau, vẫn lướt web chơi game thoải mái. Còn mấy cái trò như cài keylog thì nghỉ đi, có ngày ăn đòn như chơi đấy
Không hiểu bạn quangminhquang có ý gì nhỉ. Câu hỏi đầu tiên là hỏi về làm phần mềm trên Pascal, câu hỏi dưới bạn lại nói là chưa biết một ngôn ngữ lập trình nào cả và mong muốn học để mở mang kiến thức???

Đầu tiên, bạn phải xác định mình sẽ lập trình trên nền tảng nào: Web hay Windows. Sau đó thì tìm tài liệu.
Nếu là tìm tài liệu thì bạn có thể vào box những tài liệu hữu ích của HVA để tìm tài liệu thích hợp.
Nếu chưa biết lập trình bạn có thể vào box Định hướng để xem có thể bắt đầu học từ đâu.

Còn nếu bạn dùng Pascal thì hơi khó làm một cái gì đó vì nó cổ quá. Bạn có thể tìm tài liệu về Delphi (nó chính là Pascal + hướng đối tượng). Nếu trong 4rum chưa có tài liệu về Delphi thì bạn có thể yêu cầu

về Delphi có thể đọc thêm tại đây http://en.wikipedia.org/wiki/Delphi_programming_language

Hy vọng là bạn có thể tự tìm hiểu.
 
Go to Page:  First Page Page 14 15 16 17 19 20 21 Page 22 Last Page

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|