seymurxalafov05
?>

Заданы матрица порядка n и число k. разделить элементы k-й строки на диагональный элемент, расположенный в этой строке. исходную и полученную матрицы вывести на экран.

Информатика

Ответы

antongenfon
1. Со временем и так будут учить решать...

// PascalABC.NET 3.2, сборка 1353 от 27.11.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('n=');
  var k:=ReadInteger('Введите 1<k<=n:');
  if (k>n) or (k<1) then exit;
  var a:=MatrRandomReal(n,n,1,20); a.Println(7,2);
  k-=1;
  var d:=a[k,k];
  Writeln(n*7*'-');
  for var j:=0 to n-1 do a[k,j]/=d; a.Println(7,2)
end.

Пример
n= 5
Введите 1<k<=n: 2
  15.11   1.07   2.01   6.33   8.63
  13.26  14.96  13.36   9.87  17.39
  14.87  19.89  16.94  10.77  17.86
  18.16  19.99  10.16   9.89   5.42
   4.78  13.60   6.89  19.56   1.25

  15.11   1.07   2.01   6.33   8.63
   0.89   1.00   0.89   0.66   1.16
  14.87  19.89  16.94  10.77  17.86
  18.16  19.99  10.16   9.89   5.42
   4.78  13.60   6.89  19.56   1.25

2. А пока в школах учат писать вот так. Хорошо видно, насколько школа отстает от современных технологий.

const
  nn=20;
var
  a:array[1..nn,1..nn] of real;
  i,j,n,k:integer;
  d:real;
begin
  Write('n= '); Read(n);
  Write('Введите 1<k<=n: ');  Read(k);
  if (k>n) or (k<1) then exit;
  randomize;
  for i:=1 to n do begin
    for j:=1 to n do begin
      a[i,j]:=19*random+1;
      Write(a[i,j]:7:2)
      end;
    Writeln
    end;
  d:=a[k,k];
  for i:=1 to 7*n do Write('-');
  Writeln;
  for j:=1 to n do a[k,j]:=a[k,j]/d;
  for i:=1 to n do begin
    for j:=1 to n do Write(a[i,j]:7:2);
    Writeln
    end
end.
fitzhu

Объяснение:

#include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL, "RUSSIAN");

const int n = 5;             // (1≤N≤1000)

int mass[n] = { 5, 4, 3, 2, 1 };

int k = 0;

cout << "Исходный массив: ";

for (int i = 0; i < n; ++i)

{

 cout << mass[i] << " ";

}

cout << endl;

for (int i = 1; i < n; i++) {

 for (int j = 0; j < n-1; j++) {

  if (mass[j] > mass[j + 1]) {

   int b = mass[j]; // создали дополнительную переменную

   mass[j] = mass[j + 1]; // меняем местами

   mass[j + 1] = b; // значения элементов

   k++;

  }

 }

}

cout << "Отсортированный массив: ";

for (int i = 0; i < n; ++i)

{

 cout << mass[i] << " ";

}  

cout << endl << "Kоличество обменов: " << k << endl;

system("pause");

return 0;

}

Vasilevna_Shabanova1502

Объяснение:

#include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL, "RUSSIAN");

const int n = 5;             // (1≤N≤1000)

int mass[n] = { 5, 4, 3, 2, 1 };

int k = 0;

cout << "Исходный массив: ";

for (int i = 0; i < n; ++i)

{

 cout << mass[i] << " ";

}

cout << endl;

for (int i = 1; i < n; i++) {

 for (int j = 0; j < n-1; j++) {

  if (mass[j] > mass[j + 1]) {

   int b = mass[j]; // создали дополнительную переменную

   mass[j] = mass[j + 1]; // меняем местами

   mass[j + 1] = b; // значения элементов

   k++;

  }

 }

}

cout << "Отсортированный массив: ";

for (int i = 0; i < n; ++i)

{

 cout << mass[i] << " ";

}  

cout << endl << "Kоличество обменов: " << k << endl;

system("pause");

return 0;

}

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

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

Заданы матрица порядка n и число k. разделить элементы k-й строки на диагональный элемент, расположенный в этой строке. исходную и полученную матрицы вывести на экран.
Ваше имя (никнейм)*
Email*
Комментарий*

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

Сергеевич
yuda12
emaykova785
alexst123012225
libirishka7910
Оксана Анна
Руслан1360
vallihhh
atlantika7
Nasteona1994
natkuv7
parabolaspb
is0019
Pastushenkoen
Pavlovna-Golovitinskaya378