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

0

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

Share.

About Author

Quen biết khắp thiên hạ Tri kỷ được mấy người ?

Bình Luận

avatar
  Subscribe  
Thông báo