Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 16.11.2009
Сообщений: 39

Если элемент матрицы на главной диагонали > 0, то эту строку рассортировать по возрастанию

14.12.2009, 18:27. Показов 704. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать матрицы А[n*m] и В[n*m]. Если элемент матрицы на главной диагонали > 0, то эту строку рассортировать по возрастанию, обращаясь к процедуре сортировки одномерного массива (т.е. строки матрицы), иначе определить минимальное в строке с помощью функции и поменять местами числа на главной диагонали с минимальным.
Ко что я прописал конечно. Пожалуйста посмотрите, пропишите...
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
USES CRT;
    const N=5;
 type mas: array [1..N,1..N] of integer;
      var a,b:mas;
     i,j,:integer;
procedure SOZD_MAC (var d:mas);
      begin
        for  i:=1 to n do begin  
       for j:=1 to n do
         d[i,j]:=random(100)-40;
            end; end;
procedure SORT_MAC (var d:mas);
c:integer;
     begin
      for i:=1 to n do
      for j:=1 to n do
      if i=j then
begin
     if d[i;j]>0 then
begin
     i:=1;
     repeat
if d[i,j]>d[i,j+1] then
begin c:=d[i,j];
d[i,j]:=d[i,j+1];
d[i,j+1]:=c;
if i>1 then dec(i);
end
else inc(i);
until i>=n;
end;
    
function min(d:mas;m:integer):real;
begin
m:=maxint;
for i:=1 do k do if d[i]<m then m:=d[i];
min:=m:
end;
for i:=1 to n do
for j:=1 to n do
if i=j then
begin
 d[i,j]:=m;
end;
 
   
procedure VIV_MAC; (d:mas;t:string);
       begin
       writeln(t);
for i:=1 to n do begin
for j:=1 to n do
   write(d[i;j]:5,' ');
writeln;
end; end;
 
  BEGIN
   clrscr;
      randomize;
    SOZD_MAC(a); SORT_MAC(a,'sortiruem masiv') else Writeln('opredeljaem min chislo w stroke i menjam s chislami na glawnoi',min(a):8:1);VIV_MAC(a,'wiwodim masiv');
    SOZD_MAC(b); SORT_MAC(b,'sortiruem masiv') else Writeln('opredeljaem min chislo w stroke i menjam s chislami na glawnoi',min(a):8:1); VIV_MAC(b,'wiwodim masiv');
     Readkey;
      END.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.12.2009, 18:27
Ответы с готовыми решениями:

Если элемент матрицы на главной диагонали > 0, то строку рассортировать по возрастанию
Создать матрицы А и В. Если элемент матрицы на главной диагонали &gt; 0, то эту строку рассортировать по возрастанию, обращаясь к процедуре...

Если элемент матрицы на побочной диагонали < 0, то эту строку рассортировать по возрастанию
Создать матрицу А. Если элемент матрицы на побочной диагонали &lt; 0, то эту строку рассортировать по возрастанию, обращаясь к процедуре...

Если максимальный элемент матрицы стоит на главной диагонали, то все элементы главной диагонали сделать равными максимальному.
Задана матрица D(4,4). Если максимальный элемент матрицы стоит на главной диагонали, то все элементы главной диагонали сделать равными...

2
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
14.12.2009, 18:39
procedure SORT_MAC (var d:mas);
ты уверен что тебе не нужно знать какую строку масива нужно сотрировать? и оформи, пожалуйста, нормально код..
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
14.12.2009, 19:53
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
67
68
69
70
71
72
73
74
75
76
77
uses crt;
type mas= array [1..20] of integer;//строка матрицы
     matr= array[1..20] of mas;//массив строк=матрица
procedure SozdMtr (var d:matr;var x:byte;c:char);
var i,j:byte;
begin
writeln('Matrica ',c);
write('Razmer=');readln(x);
for  i:=1 to x do
for j:=1 to x do
d[i,j]:=random(100)-40;
end;
procedure VyvMtr (var d:matr;x:byte);
var i,j:byte;
begin
for  i:=1 to x do
 begin
  for j:=1 to x do
  write(d[i,j]:5);
  writeln;
 end;
end;
procedure SortStr(var v:mas;x:byte);//сортировка строки
var i,j:byte;
    c:integer;
begin
for i:=1 to x-1 do
for j:=i+1 to x do
if v[i]>v[j] then
  begin
   c:=v[i];
   v[i]:=v[j];
   v[j]:=c;
  end;
end;
 
function Min(v:mas;x:byte):byte;//номер минимального в строке
var i,im:byte;
begin
im:=1;
for i:=1 to x do
if v[i]<v[im] then im:=i;
Min:=im;
end;
procedure Result(var d:matr;x:byte);//обработка матрицы
var i,j:byte;
    c:integer;
begin
for i:=1 to x do
if d[i,i]>0 then SortStr(d[i],x)//первое условие, сортировка
else if d[i,i]<=0 then//второе условие, обмен
 begin
  c:=d[i,i];
  d[i,i]:=d[i,Min(d[i],x)];
  d[i,Min(d[i],x)]:=c;
 end;
end;
var a,b:matr;
    n,m,i,j:byte;
    c:integer;
BEGIN
clrscr;
randomize;
SozdMtr(a,n,'A');
writeln('Ishodnaya matrica A:');
VyvMtr(a,n);
Result(a,n);
writeln('Izmenennaya matrica A:');
VyvMtr(a,n);
SozdMtr(b,m,'B');
writeln('Ishodnaya matrica B:');
VyvMtr(b,m);
Result(b,m);
writeln('Izmenennaya matrica B:');
VyvMtr(b,m);
readln
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.12.2009, 19:53
Помогаю со студенческими работами здесь

В двумерных массивах рассортировать числа по возрастанию в каждой диагонали, параллельной главной диагонали
Помогите плз! В двумерных массивах A и В рассортировать числа по возрастанию в каждой диагонали, параллельной главной диагонали. Числа на...

Заменить все элементы главной диагонали квадратной матрицы нулями, если на главной диагонали есть хотя бы один отрицательный элемент
Заменить все элементы главной диагонали квадратной матрицы (4*4) нулями, если на главной диагонали есть хотя бы один отрицательный элемент

В двумерных массивах A[NxN] и В[MxM] рассортировать числа по возрастанию в каждой диагонали, параллельной главной диагонали
Вот сама задача 20. В двумерных массивах A и В рассортировать числа по возрастанию в каждой диагонали, параллельной главной диагонали....

Если элемент на побочной диагонали матрицы <0, то столбец рассортировать, иначе определить сумму столбца
Создать матрицы A и B. Если элемент на побочной диагонали &lt;0, то столбец рассортировать, иначе определить сумму столбца

Вывести строку матрицы, в которой элемент, стоящий на главной диагонале, максимальный среди элементов главной диагонали.
Дано квадратную матрицу порядка N. Вывести строку матрицы, в которой элемент, стоящий на главной диагонале, максимальный среди элементов...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru