Трансформации с двумерен масив

Да се въведат стойности на елементите на двумерен масив с размери M и N. Да се извършат следните преобразувания:

  • тези елементи, които са отрицателни, да се направят равни на 0
  • да се прибави към всяка клетка от масива стойността X
  • да се намери масив, който е огледален на дадения по хоризонтала
  • да се намери огледалния на дадения масив по диагонала – тоест това, което е било ред, да стане колона и обратно

Да се отпечата така получения масив.

Публикувано в 10в с етикети . Постоянна връзка.

One Response to Трансформации с двумерен масив

  1. kaloyan каза:

    Не съм сигурен за последното условие, че съм го направил както трябва.

    VAR a,b:array[1..100,1..100] of integer;
        m,n,i,j,x,k:integer;
    
    BEGIN
    write('Vavedi razmerite na masiva: '); readln(n,m);
    //Въвеждаме стойностите на масива
    writeln('Vavedete stoinostite:');
      for i:=1 to n do
        for j:=1 to m do
          readln(a[i,j]);
    //Приравняваме отрицателните стойности на 0
    for i:=1 to n do
      for j:=1 to m do
        if a[i,j]<0 then a[i,j]:=0;
    //Прибавяме към елементите на масива стойноста X
    write('Vavedi stoinosta na X: '); readln(x);
      for i:=1 to n do
        for j:=1 to m do
          a[i,j]:=a[i,j]+x;
    //Намираме огледалните редове
      for i:=1 to n do begin
      k:=0;
        for j:=1 to m do begin
          b[i,j]:=a[i,m-k];
          k:=k+1;
        end;
      end;
    a:=b;//Присвояваме масивът, който използвахме като помощен към масивът а
    //Разменяма редовете и колоните
    for i:=1 to m do begin
    k:=1;
      for j:=1 to n do begin
        b[i,k]:=a[j,i];
        k:=k+1;
      end;
    end;
    a:=b;
    //Отпечатване:
    for i:=1 to m do begin
      for j:=1 to n do write(b[i,j],' ');
      writeln;
    end;
    
    readln;
    END.
    

Вашият коментар