Rinatum1978
?>

Срешением . не могу никак понять значения элементов двухмерного массива a[1..100, 1..100] с следующего фрагмента программы: for i: =1 to 100 do for k: =1 to 100 do if i > k then a[i, k] : = i else a[i, k] : = -k; чему равна сумма элементов массива после выполнения этого фрагмента программы?

Информатика

Ответы

dokmak140652

Возьмите матрицу поменьше, скажем 5х5

-1  -2  -3  -4  -5  

2  -2  -3  -4  -5  

3   3  -3  -4  -5  

4   4   4  -4  -5  

5   5   5   5  -5  

Положительные и отрицательные элементы матрицы расположены симметрично относительно главной диагонали. Поэтому, чтобы посчитать сумму чисел матрицы, достаточно взять элементы главной диагонали. Это числа от 1 до 5 со знаком "-". Аналогично для матрицы 100х100 это будут числа от 1 до 100 со знаком "-". Осталось посчитать сумму членов арифметической прогрессии 1,2,3,4,5100 и взять со знаком "-". S = -(1+100)*100/2 = -5050.

lbeglarova6
Uses crt;
const
q=1000;var
a:array[1..q,1..q]of integer;
m,n,i,j,c,k,buf:integer;
b:array[1..q]of integer;
begin 
   writeln('n,m ?')   ;
   readln(n,m);
    writeln('как заполнять матрицу ?');     
    writeln(' Нажмите 1 при датчика, 2 - ввод с клавиатуры'); 
{выбор действия при заполнении}                        
readln(c);   
              case c of         
                 1:for i:=1 to n do
                        begin
                            for j:=1 to m do
                               begin
                                   a[i,j]:=random(100);
                                    write(a[i,j]:4);
                                end;
                              writeln;
                         end;
                   2:
                    begin
                     for i:=1 to n do
                        begin
                            for j:=1 to m do
                              readln(a[i,j]);
                         end;
                          clrscr;
                       for i:=1 to n do
                           begin
                               for j:=1 to m do
                                  write(a[i,j]:4);
                               writeln;
                           end;
    end;
                 end;
writeln('формирование массива');
for i:=2 to n do
    begin
       if i mod 2=0 then
               for j:=1 to m do
                     if a[i,j]>2 then
                          begin
                              k:=k+1;
                               b[k]:=a[i,j];
                           end;
      end;
writeln;
for i:=1 to k do
    write(b[i]:4);
writeln;
{сортировка}
for i:=1 to k -1 do
     for j:=i+1 to k do
         if b[i]<b[j]then
             begin
                   buf:=b[i];
                   b[i]:=b[j];
                   b[j]:=buf;
             end;
{вывод массива}
for i:=1 to k do
    write(b[i]:4);
end.
                         
                    
                        
Khiryanov
Var
    a: array [,] of integer;

begin
    var n := ReadlnInteger('n = ');
    var m := ReadlnInteger('m = ');
    var rand := ReadlnInteger('Для ручного ввода нажмите 0');
    
    if rand = 0 then begin
        a := new integer[m, n];
        for var i := 0 to m-1 do
            for var j := 0 to n-1 do
                a[i, j] := ReadlnInteger('a[' + i + ',' + j + '] = ');
    end
    else a := MatrixRandom(m, n, 1, 100);
    Println(a);
    
    var b := ArrGen(n, x -> 1);
    for var i := 0 to m-1 do
        for var j := 0 to n-1 do
            if j mod 2 = 0 then
                b[j] := b[j] * a[i, j];
    
    b.Where((x, i)-> i mod 2 = 0).SortedDescending().Println();
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Срешением . не могу никак понять значения элементов двухмерного массива a[1..100, 1..100] с следующего фрагмента программы: for i: =1 to 100 do for k: =1 to 100 do if i > k then a[i, k] : = i else a[i, k] : = -k; чему равна сумма элементов массива после выполнения этого фрагмента программы?
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Alnkseevna
nash-crimea2019
Никита
Джулия
dmdlir
Sacharov84
fokolimp
buslavgroupe
sergey
Borg Fedak1162
Сорокина
Anatolevich667
prohorovalena
MAXIM76748
galtig83