01/10/2018, 12:19

Hỏi thuật toán của bài tập

Ai đó cho em hỏi về bài tập này.


Bài tập pascal cực khó , giải bằng ngôn ngữ khác cũng được, chủ yếu lấy cái thuật toán.
Cho mảng gồm 20 phần tử, chọn đại một phần tử ở giữa rồi tính tổng từ đó đến mảng phần tử a[1], rồi tính từ chỗ chọn đại đó đến phần tử mảng cuối cùng. Dữ liệu mảng có thể random hoặc nhập thủ công. Em làm thế này, không đúng, ai đó cho em ý kiến.

 program hello;
uses crt;
var i, tong, tong1: longint;
	a: array[1..20] of integer;
begin
	clrscr;
	tong:=0;
	tong1:=0;
	{ this is a comment
		for i:=1 to 20 do 
		begin
			write('Nhap phan tu so: ',i, ' cua mang a');
			readln(a[i]);
		end;
	}
	for i:=random(a[i]) to 20 do a[i]:=random(20);
	i:=0;
	for i:=random(a[i]) downto a[1] do
	begin
		tong:=tong+a[i];
	end;
	for i:=1 to a[20] do
	begin
		tong1:=tong+a[i];
	end;
	'
	begin
		writeln('Tong tu phan tu ', tong);
		writeln('Tong1 tu phan tu ', tong1);
	end;'
	readln;
end.
Hung viết 14:32 ngày 01/10/2018

MapReduce thôi, có gì đâu

Tuấn Nguyễn viết 14:36 ngày 01/10/2018

educe thôi, có gì đâu

can you show me what to do?

Hung viết 14:35 ngày 01/10/2018
kipalog.com

Tổng quan mô hình lập trình MapReduce

Khái niệm : Mapreduce là một mô hình lập trình, thực hiện quá tình xử lý tập dữ liệu lớn. Mapreduce gồm 2 pha : map và reduce. Hàm Map : Các xử l...

Trần Hoàn viết 14:34 ngày 01/10/2018

[quote=“tuan.io, post:1, topic:57764”]
Bài tập pascal cực khó
[/quote]

var ViTriDuocChon: integer;
for i := 1 to ViTriDuocChon do
	tong := tong + a[i];
for i := ViTriDuocChon to 20 do
	tong1 := tong1 + a[i];
Vuio viết 14:21 ngày 01/10/2018

Bạn phải gọi thêm randomize ở đầu chương trình (Sau begin ấy) để pascal khởi tạo bộ trộn số. Nếu không randomize thì khi gọi random(n) nó lúc nào cũng trả về 0.
Thứ hai, bạn nên biết là bài này yêu cầu 1 vị trí random cố định, nghĩa là chỉ lấy 1 lần random.
Code của bạn là lấy nhiều lần random nên mỗi lần sẽ cho vị trí khác nhau
Theo mình bạn nên thêm 1 viết VT (vị trí) để lưu random vị trí giữa. Rồi cho for tính tổng T1 từ vị trí 1 đến vt, rồi T2 từ vt đến hết.

Bài liên quan
0