radacherepkova
31.10.2021 02:00

Разработка функции генератора случайных строк на языке python.
со всеми объяснениями ​(что за что отвечает и зачем )

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
vgfhdijubvn
10.01.2020 12:44
Option Explicit

Sub laba9()
    Dim N As Integer, a() As Integer, i As Byte, j As Byte, min As Integer, l1 As Integer, l2 As Integer
    Dim b() As Integer
    N = Val(InputBox("Введите размерность массива"))
    ReDim a(N, N)
    Sheets("Лист1").Select
    Sheets("Лист1").Range("A1:Z26").Clear
    For i = 1 To N
        For j = 1 To N
            a(i, j) = Rnd * 100
            Cells(i, j) = a(i, j)
        Next j
    Next i
    min = a(1, 1)
    l1 = 1
    l2 = 2
    For i = 1 To N
        For j = 1 To N
          If a(i, j) < min Then
                min = a(i, j)
                l1 = i
                l2 = j
            End If
        Next j
    Next i
    ReDim b(N - 1, N - 1)
    For i = 1 To l1 - 1
        For j = 1 To l2 - 1
            b(i, j) = a(i, j)
        Next j
        For j = l2 + 1 To N
            b(i, j - 1) = a(i, j)
        Next j
    Next i
    For i = l1 + 1 To N
        For j = 1 To l2 - 1
            b(i - 1, j) = a(i, j)
        Next j
        For j = l2 + 1 To N
            b(i - 1, j - 1) = a(i, j)
        Next j
    Next i
    For i = 1 To N - 1
        For j = 1 To N - 1
            Cells(i + N + 2, j) = b(i, j)
        Next j
    Next i
End Sub
0,0(0 оценок)
Ответ:
amalia200030
13.11.2021 14:49
Const
  n = 4;
  m = 6;

var
  a: array[1..n, 1..m] of integer;  // основной массив
  Rext: array[1..n, 1..2] of integer; // номера столбцов с min и max в строках
  Cext: array[1..2, 1..m] of integer; // номера строк с min и max в столбцах
  i, j, amin, amax: integer;

begin
  // заполняем массив А случайными числами
  Randomize;
  writeln('Исходный массив');
  for i := 1 to n do
  begin
    for j := 1 to m do
    begin
      a[i, j] := random(100) - 50;
      write(a[i, j]:4);
    end;
    writeln;
  end;
  // Заполняем массив Rext n x 2
  for i := 1 to n do
  begin
    amin := 10000;  //заведомо больше a[i,j]
    amax := -10000; //заведомо меньше a[i,j]
    for j := 1 to m do
    begin
      if amin > a[i, j] then begin
        amin := a[i, j]; Rext[i, 1] := j
      end;
      if amax < a[i, j] then begin
        amax := a[i, j]; Rext[i, 2] := j
      end
    end;
  end;
  // Заполняем массив Cext 2 x m
  for j := 1 to m do
  begin
    amin := 10000;  //заведомо больше a[i,j]
    amax := -10000; //заведомо меньше a[i,j]
    for i := 1 to n do
    begin
      if amin > a[i, j] then begin
        amin := a[i, j]; Cext[1, j] := i
      end;
      if amax < a[i, j] then begin
        amax := a[i, j]; Cext[2, j] := i
      end
    end
  end;
  writeln;
  // Ищем седловые точки
  writeln('*** Седловые точки ***');
  for i := 1 to n do
  begin
    j := Rext[i, 1];
    if Cext[2, j] = i then
      write('[', i, ',', j, '] ')
    else begin
      j := Rext[i, 2];
      if Cext[1, j] = i then
        write('[', i, ',', j, '] ')
    end
  end;
  writeln
end.

Тестовое решение:

Исходный массив
  35  34 -17 -33  20 -29
  -8 -31  -4 -20   8  -1
 -39  -7 -12  27  42   9
  32  13 -17  37  19 -24

*** Седловые точки ***
[2,5]
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота