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

Целочисленная квадратная матрица

15.10.2016, 15:04. Показов 1154. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Решить БЕЗ использования подпрограмм

Дана целочисленная квадратная матрица.
1) переставить ее строки и столбцы таким образом, чтобы максимальный элемент оказался в левом верхнем углу, второй максимальный – во второй строке на главной диагонали, и т.д.

2) удалить из матрицы строки, в которых все элементы положительные.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.10.2016, 15:04
Ответы с готовыми решениями:

Дана целочисленная квадратная матрица порядка n
Дана целочисленная квадратная матрица порядка n (задана с клавиатуры). 1) Проверить вторую строку на выполнение признака: все элементы...

Дана целочисленная квадратная матрица порядка n (задана с клавиатуры)
Дана целочисленная квадратная матрица порядка n (задана с клавиатуры). 1) Проверить первую строку на выполнение признака: все элементы...

Целочисленная квадратная матрица. Найти номера строк, элементы в каждой из которых одинаковы
Дана целочисленная квадратная матрица n-го порядка. Найти номера строк, элементы в каждой из которых одинаковы.

4
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
15.10.2016, 17:15
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
78
79
80
81
82
83
84
85
const nmax=20;
var a:array[1..nmax,1..nmax] of integer;
    n,m,i,j,k,f,o,p,mx,mn,imx,jmx,x:integer;
begin
repeat
write('Размер матрицы до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Матрица:');
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=-5+random(20);
    write(a[i,j]:4);
   end;
  writeln;
 end;
writeln;
mn:=a[1,1];//найдем минимальное
for i:=1 to n do
for j:=1 to n do
if a[i,j]<mn then mn:=a[i,j];
for k:=1 to n do //n раз
 begin
  mx:=mn; //пусть макс=мин
  for i:=1 to n do
  for j:=1 to n do
  //если больше макс и не на месте [k,k]
  if (a[i,j]>mx)and((i>=k)and (j>=k)or(i<>j)) then
   begin
    mx:=a[i,j]; //то это очередной макс
    imx:=i;  //и его индексы
    jmx:=j;
   end;
  x:=a[k,k];//обменваем его с элементом [k,k]
  a[k,k]:=a[imx,jmx];
  a[imx,jmx]:=x;
 end;
writeln('Максимальные на главную диагональ:');
for i:=1 to n do
 begin
  for j:=1 to n do
  write(a[i,j]:4);
  writeln;
 end;
//удаление строк со всеми положительными
i:=1;
f:=0; //наличие строк для удаления
m:=n; //количество строк
while (i<=m)and(m>0) do
 begin
  o:=0; //не положительные
  j:=1;
  while(j<=n)and(o=0) do
  if a[i,j]<=0 then o:=1
  else j:=j+1;
  if o=0 then
   begin
    f:=1;
    if i=m then m:=m-1
    else
     begin
      for k:=1 to n do
      for p:=i to m-1 do
      a[p,k]:=a[p+1,k];
      m:=m-1;
     end
   end
  else i:=i+1;
 end;
if f=0 then write('Строк со всеми положительными нет нет')
else if m=0 then write('Все строки удалены!')
else
 begin
  writeln('Строки со всеми положительными удалены:');
  for i:=1 to m do
   begin
    for j:=1 to n do
    write(a[i,j]:4);
    writeln;
   end;
 end;
 
end.
1
1 / 1 / 0
Регистрация: 23.09.2016
Сообщений: 41
15.10.2016, 19:01  [ТС]
Так ведь не просто элементы менять, а строки и столбцы с макс элементом. Не факт что все макс будут на диагонали, если первые три элемента диагонали заполнены, а след макс находится в первом столбце, то его не поменяешь уже и нужно искать другой максимум и тд. Сложность именно в этом
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
15.10.2016, 19:06
Условие глупое, а если все первые максимальные в одной строке или в одном столбце?
А это решение я уже делал кому-то, не ругались. Если я неправильно сделал, извиняйте, делайте сами.

Добавлено через 2 минуты
Задача на перестановку строк и столбцов тоже часто попадается, но в ней просят на заданное место переместить только 1 максимальный или минимальный элемент.
0
1 / 1 / 0
Регистрация: 23.09.2016
Сообщений: 41
15.10.2016, 20:00  [ТС]
Подобные тоже видела. В этой не могу сообразить как именно менять строки и столбцы, а если все первые максимальные в одной строке или в одном столбце, то вывести об ошибке.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.10.2016, 20:00
Помогаю со студенческими работами здесь

Дано натуральное число n, целочисленная квадратная матрица А порядка n. Получить суму чисел b1,.,bn
Дано натуральное число n, целочисленная квадратная матрица А порядка n. Получить суму чисел b1,...,bn, где bі - значение первого по порядку...

Дана целочисленная квадратная матрица порядка n (задана с клавиатуры). Проверить первую строку на выполнение признака
Дана целочисленная квадратная матрица порядка n (задана с клавиатуры). 1) Проверить первую строку на выполнение признака: элементы строки...

Дана квадратная целочисленная матрица порядка М. Уменьшить в два раза все элементы, лежащие ниже главной диагонали
Помогите пожалуйста решить задачу! Дана квадратная целочисленная матрица порядка М. Уменьшить в два раза все элементы, лежащие ниже...

Целочисленная матрица
Дана целочисленная матрица размера*M*×*N. Найти номер первой из ее строк, содержащих равное количество положительных и отрицательных ...

Дана целочисленная прямоугольная матрица
На PASCAL'е дана целочисленная прямоугольная матрица. a) Осуществить циклический сдвиг элементов прямоугольной матрицы на n элементов...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru