В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Maykaktys
Maykaktys
24.04.2020 21:31 •  Другие предметы

В двумерном массиве, состоящем из целочисленных элементов, в каждом столбце поменять местами наибольший по модулю (программа Паскаль)

Показать ответ
Ответ:
samuray99
samuray99
16.04.2019 23:00
const n=10; m=7;
type mas=array [1..n,1..m] of Integer;

procedure Vvodmas(var D:mas);
  var i,j:Integer;
begin
for i:=1  to n do
  for j:=1  to m do
    D[i,j]:=-50+Random(101);
end;

procedure Vivodmas(D:mas);
  var i,j:Integer;
begin
  for i:=1 to n do
    begin
      for j:=1  to m do Write(D[i,j]:4);
      Writeln;
    end;
end;

procedure Obmen(a,b: real; var D:mas);
  var i,j,p,n1,n2,max: Integer;
begin
  for j:=1  to m do
    begin
      n1:=1; max:=abs(D[1,j]);{считаем первый элемент столбца наибольшим по модулю}
      for i:=2 to n do
        if abs(D[i,j])>max then  {обнаружен больший элемент}
          begin n1:=i; max:=abs(D[i,j]) end;

      i:=n; {перебираем элементы столбца, начиная с последнего}
      while (i>=1)and (D[i,j]>a)and(D[i,j]<b) do i:=i-1;
      n2:=i;
      if n2<>0 then {если элемент, не принадлежащий интервалу (a,b), был найден}
        begin
          p:=D[n1,j]; D[n1,j]:=D[n2,j]; D[n2,j]:=p; {обмен значений}
        end;
    end;
end;

var D: mas; a,b:Real;
begin
  Randomize; Vvodmas(D);
  Writeln('Исходный массив:'); Vivodmas(D);
  Write('Введите через пробел концы интервала (a,b): '); Readln(a,b);
  Obmen(a,b,D);
  Writeln('Ответ:'); Vivodmas(D);
  Readln
end.
0,0(0 оценок)
Популярные вопросы: Другие предметы
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота