Задать вопрос
6 мая, 03:46

Паскаль

Как написать программу, которая уменьшала бы ВСЕ максимальные элементы в два раза?

Так?

max:=a[1,1];

if a[i, j] > max then

max: = a[i, j];

end;

max: = max div 2;

Просто в данном случае, уменьшает только один максимальный элемент и то не всегда выдает правильный ответ. (делю квадратную матрицу 2*2 с элементами: 2 4 6 8 выводит max=2)

+4
Ответы (2)
  1. 6 мая, 05:32
    0
    Судя по всему вы понимаете, поэтому подсказки будет достаточно. Немного не так. Вы не сдвигаете элемента массива. Вам нужен отдельные циклы для увеличения i и j. Тогда программа будет сама переходить к нужному элементу массива на каждой итерации.
  2. 6 мая, 06:01
    0
    Const m=4; n=5;

    var

    a:array[1 ... m, 1 ... n] of real;

    i, j:integer; max:real;

    begin

    Randomize;

    writeln ('Исходный массив:') ;

    for i:=1 to m do

    begin

    for j:=1 to n do

    begin

    a[i, j]:=random (10) ;

    write (a[i, j]:5:1) ;

    end;

    writeln;

    end;

    max:=a[1,1];

    for i:=1 to m do

    for j:=1 to n do

    if a[i, j]>max then max:=a[i, j];

    writeln ('max = ', max) ;

    for i:=1 to m do

    for j:=1 to n do

    if a[i, j]=max then a[i, j]:=a[i, j]/2;

    writeln ('Полученный массив:') ;

    for i:=1 to m do

    begin

    for j:=1 to n do write (a[i, j]:5:1) ;

    writeln;

    end;

    end.

    Пример:

    Исходный массив:

    1.0 9.0 1.0 9.0 8.0

    4.0 4.0 5.0 9.0 9.0

    6.0 3.0 6.0 0.0 6.0

    6.0 7.0 3.0 6.0 9.0

    max = 9

    Полученный массив:

    1.0 4.5 1.0 4.5 8.0

    4.0 4.0 5.0 4.5 4.5

    6.0 3.0 6.0 0.0 6.0

    6.0 7.0 3.0 6.0 4.5
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Паскаль Как написать программу, которая уменьшала бы ВСЕ максимальные элементы в два раза? Так? max:=a[1,1]; if a[i, j] > max then max: = ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы