06-05-2008, 09:26
|
#49
|
|
Rìu Sắt Đôi
Tham gia: Nov 2007
Bài: 291
VZD: 4.553
Cảm ơn: 24
Điểm: 86/69 bài viết
|
Trích:
so_0_lanh_lung
program TimsoNhonhatHangCot;
var i,j,hang,ln : integer;
x : array[1..100, 1..100] of integer;
begin
for i:=1 to 3 do
for j:=1 to 3 do
begin
write('x[',i,',',j,']');
readln(x[i,j]);
end;
writeln;
writeln(' day cua chung ta day ');
for i:=1 to 3 do
begin
for j:=1 to 3 do
write(x[i,j] : 3);
writeln;
end;
writeln;
write(' ban muon tim GTLN cua hang so may ');
readln(hang);
{ban đầu em viết thế này}
{for i:=1 to 3 do
if hang = i then ln:=x[i,1];}
{if ln = x[i,1] then}
{sau đó thấy không hợp lí em viết thế này là đúng
em mún hỏi cách viết trên có gì sai ? }
i:=hang;
ln:=x[i,1];
for j:=2 to 3 do
if ln < x[i,j] then ln:=x[i,j];
writeln;
write('gia tri lon nhat cua hang so ',i,' la ', ln);
readln;
end.
|
Nếu bạn viết như cách trên mà hàng chọn không ở cuối thì i sẽ tiếp tực tăng điến cuối. Muốn đúng thì khi gán bạn thêm lệnh exit để thoát khỏi vòng lặp đó. Nhưng đây là việc làm không hiệu quả vì vậy bạn chỉ cần gán cho phần tử đầu tiên của hàng được rồi. CŨng không nhất thiết phải dùng biến i trung gian. Thay nó luôn bằng hang cũng được.
|
|
|