М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Алена0607
Алена0607
18.03.2022 11:35 •  Информатика

Дан двумерный массив . заменить минимальный элемент суммой всех элементов.
текст программы в pascal.​

👇
Ответ:
ivan58888siko
ivan58888siko
18.03.2022

begin

 var (m, n) := ReadInteger2('Число строк и столбцов:');

 var a := MatrRandom(m, n, -99, 99);

 a.Println(5);

 Writeln;

 var t := a.ElementsWithIndices.MinBy(p -> p[0]);

 a[t[1], t[2]] := a.ElementsByRow.Sum;

 a.Println(5)

end.


Дан двумерный массив . заменить минимальный элемент суммой всех элементов.текст программы в pascal.​
4,5(86 оценок)
Открыть все ответы
Ответ:
aimuratsergei1234
aimuratsergei1234
18.03.2022
Для того, чтобы эта программа заработала надо добавить перед описанием процедуры F следующую строчку:
procedure G(n: integer);forward;
Так как в процедуре F есть вызов процедуры G описанной дальше по тексту программы.
После исправления кода и запуска программы с F(12) получим 17 звездочек. По шагам это будет выглядеть так:

 Вызов процедуры F и выполнение
* n = 12
* n = 12
Вызов процедуры G и выполнение
* n = 11
* n = 11
Вызов процедуры F и выполнение
* n = 9
* n = 9
Вызов процедуры G и выполнение
* n = 8
* n = 8
Вызов процедуры Fи выполнение
* n = 6
* n = 6
Вызов процедуры G и выполнение
* n = 5
* n = 5
Вызов процедуры F и выполнение
* n = 3
* n = 3
Вызов процедуры G и выполнение
* n = 2
* n = 2
Вызов процедуры F и выполнение
* n = 0

Ниже записаны две рекурсивные функции (процедуры): f и g.сколько символов «звёздочка» будет напечата
4,5(46 оценок)
Ответ:
рома1341
рома1341
18.03.2022
// PascalABC.Net 3.0, сборка 1064
const
  n = 10;
var
  ms: array[1..n] of string;
  t: string;
  i, j: integer;
  f: Text;
begin
  { Чтение матрицы из файла }
  Assign(f, 'in.txt'); Reset(f);
  for i := 1 to n do Readln(f, ms[i]);
  Close(f);
  { Вывод матрицы на экран }
  Writeln('*** Бинарная матрица ***');
  for i := 1 to n do Writeln(ms[i]);
  { Сортировка обменом (простейшая) }
  for i := 1 to n - 1 do
    for j := 1 to n - 1 do
      if ms[j] > ms[j + 1] then
      begin t := ms[j]; ms[j] := ms[j + 1]; ms[j + 1] := t end;
  { Поиск одинаковых строк }
  Writeln('Совпадающие строки');
  j := 1; t := ms[1];
  for i := 2 to n do
  begin
    if ms[i] = t then Inc(j)
    else begin
      if j > 1 then begin Writeln(t); j := 1 end;
      t := ms[i]
    end
  end;
  if j > 1 then Writeln(t)
end.

Контрольное решение:
*** Бинарная матрица ***
1 1 0 1 0 1 0 1 0 1
0 0 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1 0
1 1 0 1 0 1 0 1 0 0
0 0 1 0 1 0 1 0 1 1
0 1 0 1 0 1 0 1 0 1
1 1 0 1 0 1 0 1 0 1
0 0 1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1 0 1
Совпадающие строки
0 0 1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0 1 0
1 1 0 1 0 1 0 1 0 1
4,6(97 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ