Добрый вечер! ПОМОГИТЕ, ПОЖАЛУЙСТА, НАПИСАТЬ ПРОГРАММУ. В двухмерном массиве заменить **...

0 голосов
136 просмотров

Добрый вечер!
ПОМОГИТЕ, ПОЖАЛУЙСТА, НАПИСАТЬ ПРОГРАММУ.
В двухмерном массиве заменить на ноль элементы, чья сумма индексов равна заданному числу.


Информатика Начинающий (326 баллов)
оставил комментарий Начинающий (424 баллов)

Что значит СУММА ИНДЕКСОВ, каких, скажи как понять какие индексы брать

оставил комментарий Начинающий (326 баллов)

Возможно любые

оставил комментарий Начинающий (424 баллов)

какой язык программирования

оставил комментарий Начинающий (326 баллов)

Pascal

оставил комментарий Начинающий (424 баллов)

ok

оставил комментарий Начинающий (424 баллов)

"Alviko" Удалил решение? Странно конечно. Не ну формально он прав конечно. Хотя и своё решение он тоже должен был не выставлять, так как когда просят написать прогу на Pascal-е то писать надо на классике Pascal 7.0 а не на "PascalABC". К тому же пользователь изначально даже не написал язык программирования. Блин теперь когда увижу такое задание буду отвечать даже не на ассемблере, а сразу в машинных кодах. так как формально это будет программа.

Дан 1 ответ
0 голосов
Архангел (142k баллов)
 
Правильный ответ

// PascalABC.Net 3.0, сборка 1066
// PascalABC.Net 3.0, сборка 1066
const
  nn=50;
  mm=50;
var
  a:array[1..mm,1..nn] of integer;
  i,j,m,n,k:integer;
begin
  Write('Введите число строк и столбцов массива: '); Read(m,n);
  Write('Введите значение, заменяемое нулем: '); Read(k);
  Randomize;
  Writeln('*** Исходный массив ***');
  for i:=1 to m do begin
    for j:=1 to n do begin
      a[i,j]:=Random(51)-25;
      Write(a[i,j]:4)
    end;
    Writeln
  end;
  Writeln('*** Результирующий массив ***');
  for i:=1 to m do begin
    for j:=1 to n do begin
      if i+j=k then a[i,j]:=0;
      Write(a[i,j]:4)
    end;
    Writeln
  end
end.

Тестовое решение:
Введите число строк и столбцов массива: 10 8
Введите значение, заменяемое нулем: 11
*** Исходный массив ***
 -23   8   2  -4   6  17 -11 -20
 -15 -18  -8  15   1   3 -12  -4
 -14   9   3  -2  20 -13  21 -23
 -20  24 -13  18  -6 -16 -19 -23
 -24 -25 -16   1   0  18  -7  -8
  -7  22  19  -6 -25  -6 -23  17
   9 -23  -7  18   5  -9  11  16
  12   0  -9   8   4  -4  12 -24
 -24 -10  13   1  -7  13  21  -6
  -9 -14 -21  24  -6   2 -24  11
*** Результирующий массив ***
 -23   8   2  -4   6  17 -11 -20
 -15 -18  -8  15   1   3 -12  -4
 -14   9   3  -2  20 -13  21   0
 -20  24 -13  18  -6 -16   0 -23
 -24 -25 -16   1   0   0  -7  -8
  -7  22  19  -6   0  -6 -23  17
   9 -23  -7   0   5  -9  11  16
  12   0   0   8   4  -4  12 -24
 -24   0  13   1  -7  13  21  -6
   0 -14 -21  24  -6   2 -24  11

оставил комментарий Начинающий (424 баллов)

не "k" сравнивать, а чья сумма индексов равна заданному числу

оставил комментарий Начинающий (326 баллов)

А что означает mm,nn?

оставил комментарий Архангел (142k баллов)

Да, тут я был неправ, сейчас исправлю условие обнуления. mm,nn - это максимально допустимое в программе количество строк и столбцов.

оставил комментарий Архангел (142k баллов)

Все, поправил)

...