-
-
-
- Lớp 2
- Tự nhiên và xã hội
- Tiếng việt
- Toán học
- Tiếng Anh
- Đạo đức
- Âm nhạc
- Mỹ thuật
- HĐ trải nghiệm, hướng nghiệp
- Lớp 4
- Khoa học
- Tiếng việt
- Toán học
- Đạo đức
- Tiếng Anh
- Lịch sử và Địa lí
- Công nghệ
- HĐ trải nghiệm, hướng nghiệp
- GD Thể chất
- Âm nhạc
- Lớp 5
- Khoa học
- Toán học
- Tiếng việt
- Tin học
- Tiếng Anh
- Đạo đức
- Lịch sử và Địa lí
- HĐ trải nghiệm, hướng nghiệp
- Lớp 6
- Công nghệ
- Tin học
- Lịch sử và Địa lí
- GDCD
- Ngữ văn
- Toán học
- Khoa học tự nhiên
- Tiếng Anh
- Âm nhạc
- Mỹ thuật
- HĐ trải nghiệm, hướng nghiệp
- Lớp 7
- Tiếng Anh
- GDCD
- Toán học
- Công nghệ
- Tin học
- Ngữ văn
- Lịch sử và Địa lí
- Khoa học tự nhiên
- HĐ trải nghiệm, hướng nghiệp
- Âm nhạc
- Lớp 8
- Tiếng Anh
- GDCD
- Toán học
- Công nghệ
- Ngữ văn
- Khoa học tự nhiên
- Lịch sử và Địa lí
- HĐ trải nghiệm, hướng nghiệp
- GD Thể chất
- Âm nhạc
- Lớp 9
- Tiếng Anh
- GDCD
- Toán học
- Công nghệ
- Tin học
- Ngữ văn
- Khoa học tự nhiên
- HĐ trải nghiệm, hướng nghiệp
- Lịch sử và Địa lí
- Lớp 10
- Hóa học
- Tiếng Anh
- Lịch sử
- Sinh học
- Địa lí
- Vật lí
- Tin học
- Toán học
- GD kinh tế và pháp luật
- Công nghệ
- Ngữ văn
- HĐ trải nghiệm, hướng nghiệp
- GD Thể chất
- GD Quốc phòng và An ninh
- Lớp 11
- Hóa học
- Tiếng Anh
- Vật lí
- Tin học
- Toán học
- Địa lí
- Công nghệ
- Lịch sử
- Ngữ văn
- Sinh học
- GD Thể chất
- GD Quốc phòng và An ninh
- GD kinh tế và pháp luật
- HĐ trải nghiệm, hướng nghiệp
-
-
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ý.
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
© 2025 Học Tốt Online - Chia Sẻ Tài Liệu Học Tập và Giải Bài Tập Miễn Phí
English
