PDA

View Full Version : Câu hỏi lập trình nhanh



Rokakorma
08-25-2009 02:05, 02:05 AM
Tôi đã nhận thấy vòng lặp sau đây được sử dụng rộng rãi và thường xuyên để đếm, đóng hoặc xóa các đơn đặt hàng, v.v.

Đã chèn mã cho (int I = OrdersTotal () # 91; color = red # 93; -1 # 91;color # 93 ;; I gt; = 0; I--)
Câu hỏi của tôi là tại sao chúng ta có thể sử dụng đoạn -1 của mã? Điều này có chính xác về mặt logic trong khi chúng tôi muốn bao gồm tất cả các đơn đặt hàng trong tìm kiếm của chúng tôi không? Không phải chỉ khi tìm nến và chúng tôi muốn loại trừ nến 0?

Thưởng thức làm rõ của bạn.

hayixxa
12-12-2021 00:34, 12:34 AM
Hãy nói rằng có 10 đơn đặt hàng cho orderstotal. Mặc dù nó sẽ là bản chất con người dựa vào chúng từ 1 đến 10, các máy tính muốn làm cho mọi thứ trở nên khó khăn và đánh số chúng từ 0 đến 9. Vì vậy, chúng ta trừ đi 1 để bù đắp cho điều này.

Elohgas
12-12-2021 01:55, 01:55 AM
Giống đơn đặt hàng là một mảng dựa trên số không cũng như OrdersTotal là một dựa trên yêu cầu để trừ. Do đó, thứ tự đầu tiên trong danh sách không phải là Order (1) nhưng Order (0). Có lý? Lux

Rokakorma
12-12-2021 03:16, 03:16 AM
Đa dạng Đơn hàng là một lựa chọn dựa trên số không và OrderTotal chỉ là một dựa trên do đó yêu cầu trừ một. Vì vậy, thứ tự đầu tiên trong danh sách không phải là Order (1) nhưng Order (0). Có lý? Lux
Cảm ơn bạn đã phản ứng nhanh cả về độ phóng đại và độ sáng. Tôi tình cờ biết rằng việc đánh số đơn đặt hàng trong danh sách hoạt động (thị trường đang chờ xử lý) và lệnh đóng bắt đầu bằng 0 nhưng với cá nhân tôi nếu tổng số đơn đặt hàng là 10 thì với OrdersTotal () - 1 hệ thống phải đếm từ 8 đến 0, sau đó bỏ qua thứ tự cuối cùng, không phải trong số 9 đến 0.

rikarant
12-12-2021 04:37, 04:37 AM
Cảm ơn bạn đã trả lời nhanh cả và luxinterior. Tôi đã hiểu [font = Verdana] việc đánh số thứ tự trong danh sách hoạt động (thị trường đang chờ xử lý) và lệnh đóng bắt đầu bằng 0 nhưng với tôi nếu tổng số lệnh là 10 thì với OrdersTotal () - 1 [color = black ] hệ thống phải đếm từ 8 đến 0, sau đó bỏ qua thứ tự cuối cùng, có lẽ không phải trong số 9 ...
chính xác nếu 10 - 1 = 8

sarôoh
12-12-2021 05:57, 05:57 AM
Cảm ơn bạn đã phản ứng nhanh cả về độ phóng đại và độ sáng. Tôi tình cờ biết [font = Verdana] việc đánh số đơn đặt hàng trong danh sách hoạt động (thị trường sắp xảy ra) và lệnh đóng bắt đầu bằng 0 nhưng với tôi nếu tổng số đơn hàng là 10 thì với OrdersTotal () - 1 [color = black ] hệ thống phải đếm từ 8 đến 0, bỏ qua thứ tự trước đó, có lẽ không phải từ 9 đến ...
Ví dụ 5 chỉ số đơn hàng 0,1,2,3,4 5-1 = 4 đếm ngược 4 3 2 1 0 = vẫn còn 5 đơn hàng thấy
http://www.codersource.net/c _arrays_tutorial.html

Rokakorma
12-12-2021 07:18, 07:18 AM
OK, nó sẽ trình bày máy với một vấn đề nếu tôi không trừ 1 hoặc là nó chỉ để làm cho hệ thống hiệu quả hơn?

sarôoh
12-12-2021 08:39, 08:39 AM
OK, nó sẽ trình bày một vấn đề cho hệ thống nếu tôi không trừ 1 hoặc là nó chỉ để làm cho hệ thống hiệu quả hơn?
Nó tương tự như thế này: mảng [index] = gt; đánh giá cao mảng với hai phần tử mảng [0] = gt; giá trị 1 hoặc mảng 1 hoặc ... [1] = gt; mảng value2 hoặc order2 hoặc ... sizeof là hai cho (bắt đầu, trong khi, làm) cho (I = 2; I gt; = 0; I--) ... 2, 1, 0 nhưng bạn không sở hữu mảng [2 ] mảng với chỉ số 2 tùy thuộc vào ngôn ngữ lập trình, nó sẽ cung cấp cho bạn một lỗi hoặc một giá trị từ bộ nhớ máy tính bạn không cần hoặc muốn, hoặc là cách tốt hơn để bắt đầu trong mảng, trong tình huống này bạn muốn bắt đầu từ chỉ số 1 và đếm bằng không, do đó bạn trừ 1 trong kích thước của mảng (trong trường hợp này là 2) sao cho nó trông giống như (I = size -1; I gt; = 0; I--) ... 1 , 0 đó là những gì bạn muốn

hayixxa
12-12-2021 10:00, 10:00 AM
OK, nó sẽ trình bày một vấn đề cho hệ thống nếu tôi không trừ 1 hoặc là nó chỉ để làm cho hệ thống hiệu quả hơn?
Sẽ không làm tổn thương gì cả.

Rokakorma
12-12-2021 11:20, 11:20 AM
Cảm ơn bạn đã đánh bạc và mời tất cả những người khác phản hồi.

sarôoh
12-12-2021 12:41, 12:41 PM
... về hiệu quả có phân bổ bộ nhớ động và tĩnh, cùng với phân bổ tĩnh như trong c (tôi tin rằng mql là một dẫn xuất c và cũng có phân bổ tĩnh) chương trình hoạt động nhanh hơn, bởi vì kích thước bộ nhớ được biết tại thời gian biên dịch. Vấn đề với bắt đầu vượt ra ngoài mảng, nếu bạn nhận được một giá trị ngẫu nhiên từ bộ nhớ, là, ví dụ, nếu bạn tổng hợp các giá trị bạn nhận được một hệ quả không mong muốn. Ví dụ, các chương trình lưu trữ dữ liệu từ một mảng với kích thước 4, bạn cần tổng hợp, tại vị trí tiếp theo trong bộ nhớ Có một giá trị từ các loại khác MEM 0011 VAL 5 (mảng_1 [0]) MEM 0012 VAL 8 (mảng_1 [ 1]) MEM 0013 VAL 1 (mảng_1 [2]) MEM 0014 VAL 4 (mảng_1 [3]) MEM 0015 VAL 5000 (mảng_2 [0]) bắt đầu từ 4 đến 0 bạn sẽ nhận được 5018, tuy nhiên kết quả mong muốn của bạn là 18

hayixxa
12-12-2021 14:02, 02:02 PM
Nó sẽ không đơn giản hơn nếu thủ tục sbtraction được xây dựng theo mục đích thông thường; OrdersTotal (), OrdersHistoryTotal, etc?
Không thực sự sau đó nếu bạn thực sự muốn hiểu có bao nhiêu đơn đặt hàng bạn đã có bạn sẽ cần phải nhớ để thêm một đơn

Rokakorma
12-12-2021 15:23, 03:23 PM
Nó sẽ không đẹp hơn nếu thủ tục sbtraction được xây dựng từ các mục đích thông thường; OrdersTotal (), OrdersHistoryTotal, etc?