Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 20.03.2014
Сообщений: 45

Преобразовать матрицу по правилу

21.05.2015, 18:56. Показов 650. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, задание: Составить подпрограмму-процедуру, которая преобразует матрицу А по правилу: если след матрицы меньше 1, то все строки с четными номерами заменить нулями, а с нечетными-единицями. Подпрограмму, чтобы превратить заданные матрицы А и В.
Вот что у меня получилось, дальше тупик...
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Program lab8_2;
var a,b: array[1..100,1..100] of real;
n,m: integer;
i,j:integer;
slid_A,slid_B: real;
 
type Tmass = array[1..100,1..100] of real;
 
{type
 Matrix = array of array of real; 
function slid(const Matrix: TMatrix): real;
var
 i: integer;
begin
 Result := 0;
 for i := 0 to High(Matrix) do
  Result := Result + Matrix[i, i];
end;}
 
function Slid(Matrix:Tmass):real;
var 
  i:integer;
  begin
    Result:=0;
    for i:= 0 to n do
      Result:= Result + Matrix[i,i];
      end;
 
begin
  writeln('Vvedit rozmirnist n ta m: ');
  readln(n);
  readln(m);
 
  writeln('------------------- Matrutcia A:-----------------------------------');
  for i:=1 to n do
    for j:=1 to m do
      begin
      writeln('A[',i,',',j,']=');
      readln(a[i,j]);
      end;
  writeln('------------------- Matrutcia A:-----------------------------------');    
  for i :=1 to n do 
      begin
      for j :=1 to n do 
      write ( a [ i , j ]:4); 
      writeln ; 
      end ;
      writeln('------------------- Matrutcia B:-----------------------------------');  
    for i:=1 to n do
    for j:=1 to m do
      begin
      writeln('B[',i,',',j,']=');
      readln(b[i,j]);
      end;
  writeln('------------------- Matrutcia B:-----------------------------------');    
  for i :=1 to n do 
      begin
      for j :=1 to n do 
      write ( b [ i , j ]:4); 
      writeln ; 
      end ;
  writeln('------------------- Matrutcia B:-----------------------------------'); 
  slid_A:=Slid(a);
writeln(slid_A);
 
  end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.05.2015, 18:56
Ответы с готовыми решениями:

Преобразовать матрицу по правилу
1)Дана матрица А(N,N) и целое P. Преобразовать матрицу по правилу: строку с номером P сделать столбцом с номером P, а столбец с номером P...

Преобразовать исходную матрицу по правилу
Г25. Для квадратной матрицы сформировать одномерный массив из ее диагональных элементов. Найти след матрицы, суммируя элементы одномерного...

Массив: Преобразовать матрицу по правилу: умножить на минимальный элемент этой матрицы.
Помогите пожалуйста написать код по заданию: Дан двухмерный массив размером M x N. Преобразовать его по правилу - умножить на...

2
CAPITAL OF ROCK!
 Аватар для JokeR.BY
1281 / 708 / 982
Регистрация: 03.03.2010
Сообщений: 2,286
21.05.2015, 20:12
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
type
    TArray = Array[Byte, Byte] Of Real;
procedure InputSize(const c: Char; var x: Byte);
begin
    repeat
        Write(c, '=');
        ReadLn(x);
    until (x > 0);
end;
procedure GenerateArray(var x: TArray; var n, m: Byte);
var
    i, j: Byte;
begin
    WriteLn;
    Randomize;
    InputSize('n', n); InputSize('m', m);
    for i := 0 to n - 1 do
    begin
        for j := 0 to m - 1 do
        begin
            x[i, j] := Random() * 100 - 50;
            Write(' ', x[i, j]:6:2);
        end;
        WriteLn;
    end;
end;
procedure ProcessArray(var x: TArray; const n, m: Byte);
var
    i, j: Byte;
    trace, temp: Real;
begin
    WriteLn;
    trace := 0;
    for i := 0 to n - 1 do
        trace := trace + x[i, i];
    if (trace < 1)
    then
    begin
        for i := 0 to n - 1 do
        begin
            temp := Ord(Not Odd(i));
            for j := 0 to m - 1 do
            begin
                x[i, j] := temp;
                Write(x[i, j]:2:0);
            end;
            WriteLn;
        end;
    end
    else
        WriteLn('trace >= 1');
end;
var
    a, b: TArray;
    nA, mA, nB, mB: Byte;
begin
    GenerateArray(a, nA, mA); ProcessArray(a, nA, mA);
    GenerateArray(b, nB, mB); ProcessArray(b, nB, mB);
end.
1
0 / 0 / 0
Регистрация: 20.03.2014
Сообщений: 45
21.05.2015, 20:34  [ТС]
Спасибо огромное!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.05.2015, 20:34
Помогаю со студенческими работами здесь

Преобразовать матрицу по правилу: строку с номером P сделать столбцом с номером P
1) С клавиатуры вводится строка. Напечатать по одному разу все буквы, входящие в эту строку. При решении задачи использовать множественный...

Матрицу 9х8 преобразовать в матрицу 8х7, вычеркнув строку и столбец
Матрицу 9х8 преобразовать в матрицу 8х7 , вычеркнув строку и столбец, на пересечении которых расположен наименьший элемент матрицы A. ...

Преобразовать исходную матрицу и сформировать из неё новую матрицу
Помогите сделать эти задания, пожалуйста а) Вычесть из А единичную матрицу б) сформировать диагональную матрицу С из элементов,...

Преобразовать последовательность по правилу
Даны целые числа а1,а2,...,аn и b1,b2,...,bn преобразовать последовательность b1,b2,...,bn по правилу: если аi&lt;0, то bi увеличить в 10...

Преобразовать вектор х по правилу
Заданы логический вектор a={a1,a2,...,An,} и вещественный вектор x={X1,X2,...,Xn}. Преобразовать вектор х по правилу: если ai имеет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru