• Составить программу для ввода обработки и печати
    массивов (одномерных и двухмерных): Дана действительная матрица a размера (n×m), n,m≤10. В каждом столбце матрицы a заменить элемент, больший по модулю 10 на 10, а меньший или равно по модулю 10 – на номер столбца, в котором элемент находится. Подсчитать число замен обоих видов( 5 для всей матрицы и отдельно для каждого столбца).

Ответы 1

  • const max=10;

    var a:array[1..max,1..max] of integer;

       k1,k2:array[1..max]of byte;  

       n,m,i,j,s1,s2:integer;

    begin

    repeat

    write('Количество строк до ',max,' n=');

    readln(n);

    until n in [1..max];

    repeat

    write('Количество столбцов до ',max,' m=');

    readln(m);

    until m in [1..max];

    writeln('Исходная матрица:');

    for i:=1 to n do

    begin

     for j:=1 to m do

      begin

       a[i,j]:=-15+random(31);

       write(a[i,j]:4);

      end;

     writeln;

    end;

    s1:=0;

    s2:=0;  

    for j:=1 to m do

    begin

     k1[j]:=0;

     k2[j]:=0;

     for i:=1 to n do

     if abs(a[i,j])>10 then

      begin

       a[i,j]:=10;

       inc(s1);

       inc(k1[j]);

      end

     else

      begin

       a[i,j]:=j;

       inc(s2);

       inc(k2[j]);

      end;

     end;

    writeln('Измененная матрица');

    for i:=1 to n do

     begin

      for j:=1 to m do

      write(a[i,j]:4);

      writeln;

     end;

    writeln('          Количество замен');

    writeln('           1 вида  2 вида');

    for i:=1 to m do

    writeln('Столбец ',i:2,k1[i]:5,k2[i]:5);

    writeln('Всего     ',s1:5,s2:5);

    end.

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years