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

Кто нибудь может написать программу транспонирования обычной матрицы из 9 чисел? заранее

👇
Ответ:
MAKCUMKA228
MAKCUMKA228
02.03.2022
Const n=3;
var a:array[1..n,1..n] of integer;
i,j,c:integer;
begin
Randomize;
writeln('Исходная матрица:');
for i:= 1 to n do
  begin
 for j:=1 to n do
  begin
  a[i,j]:=random(10);
  write(a[i,j]:4);
  end;
 writeln;
 end;
for i:=1 to n do
  for j:=i+1 to n do
 begin c:=a[i,j]; a[i,j]:=a[j,i]; a[j,i]:=c; end;
writeln('Транспонированная матрица:');
for i:=1 to n do
 begin
 for j:=1 to n do write(a[i,j]:4);
 writeln;
 end;
end.

Пример:
Исходная матрица:
   1   4   4
   8   3   9
   8   2   1
Транспонированная матрица:
   1   8   8
   4   3   2 
   4   9   1
4,5(75 оценок)
Ответ:
// PascalABC.NET 3.1, сборка 1192 от 07.03.2016
begin
  // инициализация
  var b:=MatrixRandom(3,3,10,99);
  // вывод
  Writeln('Исходная матрица');
  for var i:=0 to 2 do begin
    for var j:=0 to 2 do Write(b[i,j]:3);
    Writeln
    end;
  // транспонирование
  for var i:=0 to 2 do
    for var j:=i+1 to 2 do
      if i<>j then Swap(b[i,j],b[j,i]);
  // вывод
  Writeln('Транспонированная матрица');
  for var i:=0 to 2 do begin
    for var j:=0 to 2 do Write(b[i,j]:3);
    Writeln
    end
end.

Тестовое решение:
Исходная матрица
 48 30 15
 38 49 19
 21 15 41
Транспонированная матрица
 48 38 21
 30 49 15
 15 19 41
4,7(41 оценок)
Открыть все ответы
Ответ:
Doloeris
Doloeris
02.03.2022
Вот http://pastebin.com/x5kVbW2D
Подредактируй ввод вывод.

или вот
#include<bits/stdc++.h>
using namespace std;
const int N = 1024+3; //size of "RAM"vector<pair<bool, int> > ram(N); //ram
int get_area(int n){    for (int i = 0; i < N-n-1 ; i ++)    {        if(ram[i].first == false)        {            int j;            for (j = i; j < i+n ; j ++ )                if(ram[j].first == true)                    break;            if (ram[j].first == true)            {                i = j;                continue;            }            for(j = i ; j < i+n ; j ++)            {                ram[j].first = true;                ram[j].second = i;            }            return i;        }    }    return -1;
}
string del_area(int n){    int j = n;    for(int i = n ; ram[j].second == ram[i].second && i < N-1; i ++)    {        ram[i].first = false;        ram[i].second = 0;    }    return "Success! Area deleted!";}
int get_status(){    cout << endl << "Byte using of 1024 RAM:" << endl;    for(int i = 0 ; i < N-2 ; i ++)    {        if(ram[i].first == false)            cout << "-" << ' ';        else            cout << ram[i].second << ' ';    }}
int main(){    ///code by Dmitry Kulazhenko (DmitryCpp)    ///ram index begins at 0    ///give area of RAM, size n   get_area  enter   n    ///delete area, with start index n  del_area   enter  n    ///give status of using RAM   get_status    ///to quit   exit    string s;    while( s != "exit" )    {        cin >> s;        if (s == "get_area")        {            int n;            cin >> n;            cout << get_area(n);            cout << endl;        }        if (s == "del_area")        {            int n;            cin >> n;            cout << del_area(n);            cout << endl;        }        if (s == "get_status")        {            cout << get_status();            cout << endl;        }    }    return 0;}
4,7(24 оценок)
Ответ:
kseshkaShkolnikova
kseshkaShkolnikova
02.03.2022
// PascalABC.NET 3.1, сборка 1200 от 13.03.2016
const
  n=5;
type
  Matrix=array[1..n,1..n] of integer;

procedure DummySchool(var a:Matrix);
begin
  Writeln('Ввод элементов матрицы');
  for var i:=1 to n do begin
    Write(n,' элементов строки ',i,': ');
    for var j:=1 to n do Read(a[i,j]);
    end;
  Writeln('Сформирована матрица ',n,'x',n);
  for var i:=1 to n do begin
    for var j:=1 to n do Write(a[i,j]:5);
    Writeln
    end
end;

begin
  var B:Matrix;
  DummySchool(B);
  var sn:=0;
  var sp:=0;
  for var i:=1 to n do
    for var j:=1 to n do
      if B[i,j]<0 then sn+=B[i,j]
      else
        if B[i,j]>0 then sp+=B[i,j];
  Writeln('Сумма отрицательных ',sn);
  Writeln('Сумма положительных ',sp)
end.

Тестовое решение:
Ввод элементов матрицы
5 элементов строки 1: 6 23 -5 13 9
5 элементов строки 2: 42 0 -38 16 37
5 элементов строки 3: -5 -18 3 11 8
5 элементов строки 4: 9 13 -11 0 3
5 элементов строки 5: 19 -17 0 15 5
Сформирована матрица 5x5
    6   23   -5   13    9
   42    0  -38   16   37
   -5  -18    3   11    8
    9   13  -11    0    3
   19  -17    0   15    5
Сумма отрицательных -94
Сумма положительных 232
4,7(81 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ