• Дан двумерный массив, элементы которого - целые числа. Вставьте новый столбец, каждый элемент которого число ноль, перед всеми столбцами, в которых встречается заданное число X.
    Формат входных данных
    В первой строке входного файла даны три числа: N, M и X (-1000 \le X \le 1000), где N - количество строк в массиве, а M - количество столбцов (1 \le N, M \le 100). В следующих N строках находится по M чисел, по абсолютному значению не превосходящих 1000.
    Формат выходных данных
    В выходной файл выведите полученный массив. При выводе разделяйте элементы массива пробелами и переводами строк.
    Вход
    2 2 2
    1 2
    1 -2
    Выход
    1 0 2
    1 0 -2

Ответы 1

  • //PascalABC.NET 3.2 сборка 1318Var  ma,mabuf:array of array of integer;  i,j,n,m,x,mark,k,h,newm,kar:integer;beginreadln(n);readln(m);newm:=m;readln(x);setlength(ma,n);setlength(mabuf,n);for i:=0 to n-1 do  begin    setlength(ma[i],m);    setlength(mabuf[i],m);  end;for i:=0 to n-1 do  for j:=0 to m-1 do    readln(ma[i][j]);kar:=-1;for j:=0 to m-1 do  begin    inc(kar);    for i:=0 to n-1 do      if ma[i][j]=x then        begin        inc(newm);        for h:=0 to n-1 do          setlength(mabuf[h],newm);          for h:=0 to n-1 do            mabuf[h][kar]:=0;        inc(kar);        break;        end;    for i:=0 to n-1 do      mabuf[i][kar]:=ma[i][j];  end;for i:=0 to n-1 dosetlength(ma[i],newm);writeln;for i:=0 to n-1 do  begin    for j:=0 to newm-1 do      begin        ma[i][j]:=mabuf[i][j];        write(ma[i][j],' ');      end;    writeln;  end;end.Пример ввода:2 2 21 21 -2Пример вывода:1 0 21 0 -2
    • Автор:

      lou
    • 5 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

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

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

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