Hướng Dẫn Download & Cài Đặt Hate Pascal If You Can

Link download :   https://goo.gl/U2Wxnu Home:  http://hatepascalifucan.byethost3.com/

Thứ Hai, 3 tháng 4, 2017

MA TRẬN MXN

Bài 5 :Một ma trận mxn số thực được chứa trong một file văn bản có tên DULIEU.INP gồm: dòng đầu chứa hai số m, n; m dòng tiếp theo lần lượt chứa m hàng của ma trận. Hãy viết chương trình đọc dữ liệu từ file DULIEU.INP,
cho biết các hàng của ma trận có tổng phần tử trên hàng đó lớn nhất. Kết quả ghi lên file văn bản có tên DULIEU.OUT , trong đó dòng đầu chứa giá trị lớn nhất của tổng các phần tử trên một hàng, dòng thứ hai chứa chỉ số các hàng đạt giá trị tổng lớn nhất đó (m,n<=100).
Chẳng hạn
DULIEU.INP DULIEU.OUT
6 5 34
3 6 8 12 2 2 5 6
7 5 6 10 6
8 2 4 5 1
3 5 6 1 3
10 12 3 1 8

8 8 8 9 1

LProgram Vi_du_10;
Var
f,g: Text;
S:array[1..100] of real;
T: Set of byte;
GTMax: real;
m,n,i,j: byte;
Begin
assign(f,’DULIEU.INP’);
reset(f);
readln(f,m,n);
fillchar(S,m,0);
for i:= 1 to m do
 begin
  S:=0;
  for j:=1 to n do
         begin
   read(f,x);
   S[i]:=S[i]+x;

         end;
  readln(f);
 end;
close(f);
T:=[1];
GTMax:=S[1];
for i:= 2 to m do
if S[i] > GtMax then
 begin
      T:=[i];
               GtMax:= S[i];
 end
else
If S[i] = GTMax then
T:= T+[i];
assign(g,’DULIEU.OUT’);
rewrite(g);
writeln(g,GTMax:0:2);
for i:=1 to 100 do
if i in T then
write(g,i,#32);
readln;
End.
Chú ý:
• Chương trình trên dùng mảng S để lưu tổng giá trị các phần tử trên mỗi hàng. Cụ thể,
S[i] là tổng giá trị các phần tử trên hàng thứ i của ma trận đã cho.
• Tập T , GTMax lần lượt là tập chứa các chỉ số các hàng và giá trị lớn nhất của các phần tử trên mỗi hàng tại thời điểm đang xét. Xuất phát ta xem hàng thứ nhất có tổng
giá trị lớn nhất. Khi xét hàng thứ i có các trường hợp sau:
- S[i] > GTMax: S[i] mới là tổng lớn nhất và lúc này chỉ có hàng i đạt được giá trị này
- S[i] = GTMax: có thêm hàng i đạt giá trị lớn nhất.
- S[i] < GTMax: không có gì thay đổi

Không có nhận xét nào:

Đăng nhận xét