sos giải vs ạ pascal

sos giải vs ạ pascal
This anwser using AI, please
```pascal
program XoaHangCot;
uses crt;

const
MAX = 100;

var
A: array[1..MAX, 1..MAX] of integer;
tongCot: array[1..MAX] of integer;
N, M, i, j, maxTong, indexMax: integer;

begin
clrscr;
// Nhập số dòng và số cột N
writeln('Nhap so dong (N):');
readln(N);

writeln('Nhap so cot (M):');
readln(M);

// Nhập ma trận A
writeln('Nhap mang A:');
for i := 1 to N do
for j := 1 to M do
read(A[i][j]);

// Tính tổng các cột
for j := 1 to M do
begin
tongCot[j] := 0;
for i := 1 to N do
tongCot[j] := tongCot[j] + A[i][j];
end;

// Tìm cột có tổng lớn nhất
maxTong := tongCot[1];
indexMax := 1;
for j := 2 to M do
begin
if tongCot[j] > maxTong then
begin
maxTong := tongCot[j];
indexMax := j;
end;
end;

// Loại bỏ cột có tổng lớn nhất
for j := indexMax to M - 1 do
for i := 1 to N do
A[i][j] := A[i][j + 1];

// Cập nhật số cột M sau khi xóa
M := M - 1;

// Xuất ma trận kết quả
writeln('Ma tran A sau khi xoa:');
for i := 1 to N do
begin
for j := 1 to M do
write(A[i][j]:4);
writeln;
end;

readln;
end.
```

Chi tiết giải thích:
Chương trình trên thực hiện việc nhập một ma trận với N dòng và M cột, sau đó tìm cột có tổng lớn nhất và xóa cột đó ra khỏi ma trận.

- Đầu tiên, chương trình yêu cầu người dùng nhập số lượng dòng và cột của ma trận.
- Sau đó, chương trình sẽ nhập từng phần tử của ma trận A từ bàn phím.
- Sau khi nhập xong ma trận, chương trình tính tổng từng cột và lưu vào mảng `tongCot`.
- Tiếp theo, xác định cột nào có tổng lớn nhất thông qua vòng lặp. Biến `maxTong` được dùng để lưu giá trị tổng cao nhất và `indexMax` lưu chỉ số cột đó.
- Cột có tổng lớn nhất sẽ bị xóa bằng cách dịch chuyển các cột bên phải nó sang trái.
- Cuối cùng, chương trình in ra ma trận A đã được loại bỏ cột có tổng lớn nhất.

Chương trình không có phần phức tạp, tuy nhiên, nó cho thấy cách làm việc với ma trận và xử lý dữ liệu trong Pascal một cách hợp lý.
Post Reply