Thêm dòng, cột vào mảng hai chiều.

2

Thêm dòng, cột vào mảng hai chiều, đây là một bài không khó tuy nhiên các bạn phải hình dung được cái mảng trong đầu rồi khi thêm dòng hay cột vào thì nó bị đẩy ra như thế nào. Nắm vững các giá trị i, j, cột, dòng  chúng ta mới có thể điều khiển nó như ý được. Tốt nhất bạn nên dùng Excel để mô phỏng một ma trận 3 dòng, 3 cột.

code

code

Program Chen_Dong_Cot_Vao_Mang_Hai_Chieu;
Uses crt;
Const Max=10;
Var  i,j,x,cot,dong:byte;
    A: Array[1..Max,1..Max] Of Integer;
    hoi:Char;
Begin
  Repeat
    Clrscr;
    Writeln(' + CHEN THEM DONG, COT VAO TRONG MANG +');
    Writeln('-------------------------------');
    Write('- Mang co bao nhieu cot ? -: ');
    Readln(cot);
    Write('- va bao nhieu dong ? -: ');
    Readln(dong);
  Until (cot<Max)AND(dong<Max); 
For i:=1 To dong Do 
   For j:=1 to cot Do 
        Begin 
             Write('- Phan tu A[',i,':',j,']= '); Readln(A[i,j]); 
         End; 
Writeln('--MANG TRUOC KHI CHEN--'); 
For i:=1 To dong Do 
  Begin For j:=1 to cot do Write(a[i,j]: 4); Writeln; End; 
Readln; 
Repeat 
    Write('Ban muon chen them dong hay cot - Bam phim D (dong) hoac C (cot)'); 
    Readln(hoi); 
    hoi:=upcase(hoi); 
Until (hoi='D')OR(hoi='C'); 
Write('Nhap vi tri muon chen :'); Readln(x); 
If (Hoi='D')And(x>dong) then halt; {nhập sai thoát luôn, các bạn nên code thêm cho thân thiện ^^}
If (Hoi='C')And(x>cot) then halt;

  IF hoi='D' Then
    Begin {Chen dong}
       inc(dong);
       For i:=dong Downto x+1 do
         For j:=1 to cot do A[i,j]:=A[i-1,j];
       Writeln('Nhap gia tri cho dong vua them vao');
       For j:=1 to cot do
         Begin
          Write('- Phan tu A[',x,':',j,']=');
          Readln(A[x,j]);
         End;
    End;
  If (Hoi='C') then
    Begin {Chen cot}
       inc(cot);
       For i:=cot downto x+1 do
         For j:=1 to dong do A[j,i]:=A[j,i-1];
       Writeln('Nhap gia tri cho cot vua them vao');
       For i:=1 to dong do
         Begin
          Write('- Phan tu A[',x,':',i,']=');
          Readln(A[i,x]);
         End;
    End;
   Writeln('--MANG SAU KHI CHEN--');
    For i:=1 To dong Do
      Begin
        For j:=1 to cot do Write(a[i,j]: 4);
        Writeln;
      End;
    Readln;
End.

Thử chèn cột

thêm cột vào mảng 2 chiều

thêm cột vào mảng 2 chiều

Thử chèn dòng

thêm dòng vào mảng 2 chiều

thêm dòng vào mảng 2 chiều

5 1 vote
Article Rating
Share.

About Author

٩(●̮̮̃•̃)۶ Không có lẽ yêu trên đời quá khó ٩(͡๏̯͡๏)۶ Mà thôi yêu cũng chẳng dễ chút nào! ٩(×̯×)۶

Subscribe
Thông báo
guest
2 Comments
oldest
newest most voted
Inline Feedbacks
View all comments
ERROR 404( The name can not show).
ERROR 404( The name can not show).
7 months ago

Thầy ơi, em hay sử dụng vòng lập while cho phần nhập giá trị và cả program nếu program short, vì nhập sai sẽ được nhập lại và thầy có thể sử dụng program đó nhiều lần mà không cần Run lại hoài, nhưng làm vậy thì code hơi khó tí. thầy có thể tham khảo cách của em cho các program mẫu không ạ?

2
0
Would love your thoughts, please comment.x
()
x