Bài toán: Cho n phần tử nguyên của mảng. Cho m nhập trước nhỏ hơn n. Tìm m phần từ thuộc mảng n phần tử sao cho tổng của m phần từ là MAX.
Bài viết đã được chỉnh sửa nội dung bởi PlanBbyFESN: 09-04-2016 - 20:23
Bài toán: Cho n phần tử nguyên của mảng. Cho m nhập trước nhỏ hơn n. Tìm m phần từ thuộc mảng n phần tử sao cho tổng của m phần từ là MAX.
Bài viết đã được chỉnh sửa nội dung bởi PlanBbyFESN: 09-04-2016 - 20:23
Bài toán: Cho n phần tử nguyên của mảng. Cho m nhập trước nhỏ hơn n. Tìm m phần từ thuộc mảng n phần tử sao cho tổng của m phần từ là MAX.
là sao?mk k hiu dề!!cậu nói cho rõ hơn dược k
_ _ _ nỗi bất hạnh làm ra con người_ _ _
+ _còn con người làm ra hạnh phúc_ +
Bài toán: Cho n phần tử nguyên của mảng. Cho m nhập trước nhỏ hơn n. Tìm m phần từ thuộc mảng n phần tử sao cho tổng của m phần từ là MAX.
Để mình giải quyết !
Program xxk;
uses crt;
var i,n,j,tg,m,t:longint;
a:array[1..1000] of longint;
begin
clrscr;
write('Nhap so pt mang:');readln(n);
for i:=1 to n do
begin
write('a[',i,']=');readln(a[i]);
end;
repeat
write('Nhap m:');readln(m);
if (m>0)and(m<n) then break;
writeln('Nhap m<n');
until false;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]<a[j] then
begin
tg:=a[i];
a[i]:=a[j];
a[j]:=tg;
end;
t:=0;
for i:=1 to m do
t:=t+a[i];
writeln('Tong m phan tu co gia tri MAX la: ',t);
readln
end.
là sao?mk k hiu dề!!cậu nói cho rõ hơn dược k
P/s:Bác Long từ bữa bị loại...về ko học pascal à ?Sao bài ngon vậy mà ko làm(Bài này là dãy con đó !).Về xem lại nghe
Còn về bài làm thì OK !
Bài viết đã được chỉnh sửa nội dung bởi Mystic: 10-04-2016 - 09:26
>>> Nếu bạn luôn buồn phiền hãy dùng hy vọng để chữa trị <<<
Và ...
>>> Không bao giờ nói bạn đã thất bại
Cho đến khi đó là nỗi lực cuối cùng của bạn
Và không bao giờ nói rằng:
Đó là nỗi lực cuối cùng của bạn
Cho tới khi bạn đã thành công >>>
~ Mystic Lâm
Ý tưởng rất hay nhưng... bài bạn chưa đúng!
Thực ra lỗi chỗ sắp xếp giảm ấy, phải cho j chạy từ i đến n chứ không phải 1 đến n@
là sao?mk k hiu dề!!cậu nói cho rõ hơn dược k
Xin lỗi bạn, đề hơi khó hiểu tí, ví dụ:
Mảng nhập vào n=5 phần tử là a[1]=1;
a[2]=2;
a[3]=3;
a[4]=4;
a[5]=5;
Và ta chọn m=3 thì dãy cso tổng MAX sẽ là a[3]+a[4]+a[5]=12!
Bài viết đã được chỉnh sửa nội dung bởi PlanBbyFESN: 10-04-2016 - 09:20
Ý tưởng rất hay nhưng... bài bạn chưa đúng! Bạn nghe giải thích đề 1 tí rồi tiếp nhé!
Xin lỗi bạn, đề hơi khó hiểu tí, ví dụ:
Mảng nhập vào n=5 phần tử là a[1]=1;
a[2]=2;
a[3]=3;
a[4]=4;
a[5]=5;
Và ta chọn m=3 thì dãy cso tổng MAX sẽ là a[3]+a[4]+a[5]=12!
Đúng mà bạn ! Sai ở chỗ nào bạn chỉ cho mình coi ?
>>> Nếu bạn luôn buồn phiền hãy dùng hy vọng để chữa trị <<<
Và ...
>>> Không bao giờ nói bạn đã thất bại
Cho đến khi đó là nỗi lực cuối cùng của bạn
Và không bao giờ nói rằng:
Đó là nỗi lực cuối cùng của bạn
Cho tới khi bạn đã thành công >>>
~ Mystic Lâm
Không có gì nghiêm trọng đâu bạn. Bạn nhầm chút chỗ sắp xếp, phải là chạy từ j=i đến n
À mình nhầm phải là từ j:=i+1 -> n .
Mình đã sửa ở trên !
CẢM ƠN BẠN
>>> Nếu bạn luôn buồn phiền hãy dùng hy vọng để chữa trị <<<
Và ...
>>> Không bao giờ nói bạn đã thất bại
Cho đến khi đó là nỗi lực cuối cùng của bạn
Và không bao giờ nói rằng:
Đó là nỗi lực cuối cùng của bạn
Cho tới khi bạn đã thành công >>>
~ Mystic Lâm
Để mình giải quyết !
Program xxk;
uses crt;
var i,n,j,tg,m,t:longint;
a:array[1..1000] of longint;
begin
clrscr;
write('Nhap so pt mang:');readln(n);
for i:=1 to n do
begin
write('a[',i,']=');readln(a[i]);
end;
repeat
write('Nhap m:');readln(m);
if (m>0)and(m<n) then break;
writeln('Nhap m<n');
until false;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]<a[j] then
begin
tg:=a[i];
a[i]:=a[j];
a[j]:=tg;
end;
t:=0;
for i:=1 to m do
t:=t+a[i];
writeln('Tong m phan tu co gia tri MAX la: ',t);
readln
end.
P/s:Bác Long từ bữa bị loại...về ko học pascal à ?Sao bài ngon vậy mà ko làm(Bài này là dãy con đó !).Về xem lại nghe
Còn về bài làm thì OK !
À mình nhầm phải là từ j:=i+1 -> n .
Mình đã sửa ở trên !
CẢM ƠN BẠN
ô.bạn lâm mà cum sai ak,,,chắc cũng do vậy,,,
_ _ _ nỗi bất hạnh làm ra con người_ _ _
+ _còn con người làm ra hạnh phúc_ +
Để mình giải quyết !
Program xxk;
uses crt;
var i,n,j,tg,m,t:longint;
a:array[1..1000] of longint;
begin
clrscr;
write('Nhap so pt mang:');readln(n);
for i:=1 to n do
begin
write('a[',i,']=');readln(a[i]);
end;
repeat
write('Nhap m:');readln(m);
if (m>0)and(m<n) then break;
writeln('Nhap m<n');
until false;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]<a[j] then
begin
tg:=a[i];
a[i]:=a[j];
a[j]:=tg;
end;
t:=0;
for i:=1 to m do
t:=t+a[i];
writeln('Tong m phan tu co gia tri MAX la: ',t);
readln
end.
P/s:Bác Long từ bữa bị loại...về ko học pascal à ?Sao bài ngon vậy mà ko làm(Bài này là dãy con đó !).Về xem lại nghe
Còn về bài làm thì OK !
chém
_ _ _ nỗi bất hạnh làm ra con người_ _ _
+ _còn con người làm ra hạnh phúc_ +
0 thành viên, 1 khách, 0 thành viên ẩn danh