• Напишите программу, которая выводит на экран строку матрицы, сумма значений элементов которой наибольшая (Pascal)

Ответы 2

  • Const   N = 3;   M = 4;Var   A:array[1..N,1..M] of integer;   i,j,iMax:integer;   S,Max:real;BeginRandomize;WriteLn('Исходная матрица:');For i:= 1 to N do    Begin    For j:= 1 to M do        Begin        A[i,j]:=random(21)-10;        Write(A[i,j]:3,' ');        End;    WriteLn    End;Max:=0;iMax:=1;For j:= 1 to M do    Max:=Max+A[1,j];For i:= 2 to N do    Begin    For j:= 1 to M do        S:=S+A[i,j];    if S>Max then       Begin       Max:=S;       iMax:=i;       End;    End;Write('Искомая строка:');For j:= 1 to M do    Write(' ',A[iMax,j])End.Пример работы программы:Исходная матрица:  8   0  -7  -1  -2 -10  -4 -10   5  -1  10  -6 Искомая строка: 8 0 -7 -1
  • 1. Современное решение// PascalABC.NET 3.2, сборка 1417 от 28.03.2017// Внимание! Если программа не работает, обновите версию!begin  var n:=ReadInteger('Количество строк в матрице:');  var m:=ReadInteger('Количество столбцов в матрице:');  Writeln('*** Исходная матрица [',n,',',m,'] ***');  var a:=MatrRandom(n,m,-99,99);   a.Println(4); Writeln(4*a.ColCount*'-');  Writeln('Строка с наибольшей суммой:');  a.Row(a.Rows.Select(r->r.Sum).ToArray.IndexMax).Printlnend.ПримерКоличество строк в матрице: 6Количество столбцов в матрице: 9*** Исходная матрица [6,9] ***  54 -83  45 -44 -52  57 -90 -71 -70   8  99 -27  72  46  28 -18  36  48 -85  24 -57 -67  63 -69  52  44 -99 -34 -44  -1  45  48  63  68  48  98  27  84  15  70  37 -70   1  24 -60 -82 -63   6 -59  91 -64  84  65  66------------------------------------Строка с наибольшей суммой:8 99 -27 72 46 28 -18 36 482. Школьное решение в стиле языка ТурбоПаскаль 1983гconst  nn=20;var  i,j,n,m,k,s,max:integer;  a:array[1..nn,1..nn] of integer;begin  Write('Количество строк в матрице: '); Read(n);  Write('Количество столбцов в матрице :'); Read(m);  Writeln('*** Исходная матрица [',n,',',m,'] ***');  Randomize;  max:=-100;  for i:=1 to n do begin    s:=0;    for j:=1 to m do begin      a[i,j]:=Random(199)-99;      Write(a[i,j]:4);      s:=s+a[i,j]      end;    Writeln;    if s>max then begin      max:=s; k:=i      end    end;  for i:=1 to 4*n do Write('-');  Writeln;  Writeln('Строка с наибольшей суммой:');  for j:=1 to m do Write(a[k,j],' ');  Writelnend.
    • Автор:

      nylahwltm
    • 6 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years