0 / 0 / 0
Регистрация: 15.11.2017
Сообщений: 3
1

Сортировка матрицы в паскале

14.02.2018, 23:07. Показов 496. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана прямоугольная матрица B
a)сформировать из строк матрицы B матрицу C расположить строки так, чтобы количество положительных элементов в строке возрастало с увеличением номера строки
Я сформировал матрицу B, определил где какое число отрицательных чисел, определил в каком порядке должны стоять строки матрицы C, но я никак не могу понять, каким образом указать, что бы строки в матрице С были именно в таком порядке

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
program b;
var
 dm:array [1..4] of integer;
 im:array [1..4] of integer;
 B: array [1..4,1..5] of integer;
 C: array [0..4,1..5] of integer;
 i,j,x: integer;
begin
 for i:=1 to 4 do
 for j:=1 to 5 do
 B[i,j]:=random(100)-random(100);
 writeln('матрица B');
 for i:=1 to 4 do
 begin
 for j:=1 to 5 do
 write(B[i,j]:4);
 writeln;
 end;            //Сформировал матрицу
  
  for i:=1 to 5 do
 for j:=1 to 4 do
 begin
  if B[j,i]<0 then dm[j]:=dm[j]+1;
  end;
  writeln(dm); // Определить в какой строке какое количество отрицательных чисел, что бы потом эти строки поднять наверх
 
 for i:=1 to 5 do 
 for j:=1 to 4 do
 begin
  if B[j,i]<0 then im[j]:=im[j]+1;
  end;
  
 for i:=1 to 3 do
  for j:=1 to 3 do
   if (im[j]< im[j+1]) then 
    begin
     x:= im[j];
     im[j]:= im[j+1];
     im[j+1]:=x;
     end;
 write(im); //определил в каком порядке должны стоять строки 
end.
0
14.02.2018, 23:07
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.02.2018, 23:07
Ответы с готовыми решениями:

Сортировка массивов(?) в паскале
Ничего не понимаю, уже два часа думаю Ввести 3 записи (книга-автор-колво страниц), Вывести это в файл, упорядоченное по колву...

Сортировка выбором в Паскале!
Привет! Мне нужно сделать работу, а я в этом полный НОЛЬ! Нужно сформировать при помощи генератора псевдослучайных чисел линейный...

Сортировка записи в Паскале
Люди, помогите. уже не знаю куда написать. Никак не могу разобраться своими силами в сортировке записей при решении данных заданий: У...

4
Почетный модератор
 Аватар для Puporev
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
15.02.2018, 13:02 2
4х5 очень маленький размер, возьму больше.
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
const m=8;
      n=12;
var b,c: array [1..m,1..n] of integer;
    dm,im:array [1..m] of integer;
    i,j,x: integer;
begin
randomize;
writeln('Матрица B');
writeln('Кол. положительных':n*4+15);
for i:=1 to m do
 begin
  dm[i]:=0; //массив количеств положительных
  for j:=1 to n do
   begin
    b[i,j]:=-50+random(101);
    write(b[i,j]:4);
    if b[i,j]>0 then inc(dm[i]);
   end;
  writeln(dm[i]:6);
 end;
for i:=1 to m do
im[i]:=i; //массив номеров строк
for i:=1 to m-1 do
for j:=1 to m-1 do
if (dm[j]>dm[j+1]) then
 begin
  x:=dm[j];
  dm[j]:=dm[j+1];//сортируем массив количеств
  dm[j+1]:=x;
  x:=im[j];
  im[j]:=im[j+1]; //и массив номеров
  im[j+1]:=x;
 end;
writeln('Матрица С');
writeln('Кол. положительных':n*4+15);
for i:=1 to m do
 begin
  for j:=1 to n do
   begin
    c[i,j]:=b[im[i],j];
    write(c[i,j]:4);
   end;
  writeln(dm[i]:6);
 end;
end.
1
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7800 / 4622 / 2832
Регистрация: 22.11.2013
Сообщений: 13,129
Записей в блоге: 1
15.02.2018, 14:16 3
Если не использовать массив номеров (более дорогой алгоритм, вариант с im лучше), можно делать так:
Pascal
21
22
23
24
25
26
27
28
  c:=b;
  for i:=1 to m-1 do for j:=1 to m-1 do
    if dm[j]>dm[j+1] then begin
      x:=dm[j]; dm[j]:=dm[j+1]; dm[j+1]:=x; //сортируем массив количеств
      for k:=1 to m do begin
        x:=c[j,k]; c[j,k]:=c[j+1,k]; c[j+1,k]:=x; //и массив C
      end;
    end;
или, слегка изменив объявление массивов:
Pascal
1
2
3
4
5
6
7
8
9
10
11
type TRow = array [1..n] of Integer;
var
  b, c: array [1..m] of TRow;
  t: TRow;
...
  c:=b;
  for i:=1 to m-1 do for j:=1 to m-1 do
    if dm[j]>dm[j+1] then begin
      x:=dm[j]; dm[j]:=dm[j+1]; dm[j+1]:=x; //сортируем массив количеств
      t:=c[j];  c[j]:=c[j+1];   c[j+1]:=t; //и массив C
    end;
Добавлено через 3 минуты
Пузырек мог быть таким: Сортировки
0
0 / 0 / 0
Регистрация: 15.11.2017
Сообщений: 3
25.02.2018, 16:21  [ТС] 4
Тут метод сортировки пузырьком?

Добавлено через 11 минут
Puporev, Puporev, какой тут метод сортировки?
0
Почетный модератор
 Аватар для Puporev
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
25.02.2018, 16:48 5
Цитата Сообщение от OgrGogr Посмотреть сообщение
Тут метод сортировки пузырьком?
Да..Да..Да...
1
25.02.2018, 16:48
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.02.2018, 16:48
Помогаю со студенческими работами здесь

Шейкерная сортировка в паскале
Применяя шейкерную сортировку, отсортитровать файл, элементами которого является совокупность строковых величин. Сравнить время работы для...

Плавная сортировка на Паскале
Дайте пример реализации плавной сортировки на Паскале :gconfusion:

сортировка двумерного массива в паскале
Помогите, пожалуйста! Вот такое задание! В двумерном массиве хранится информация о результатах ЕГЭ десяти абитуриентов по 5-ти...

Сортировка множества букв в алфавитном порядке с использованием ASCII кода на Паскале.
Сортировка множества букв в алфавитном порядке с использованием ASCII кода на Паскале Заранее спасибо! Добавлено через 6...

Матрицы в паскале
Дана матрица A оценки по трем дисциплинам. 1)Вести и распечатать матрицу. 2)Определить и ввести числа 2 и 5 и средний балл по каждому...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Ключевые слова Python
hw_wired 15.02.2025
Ключевые слова в Python - это специальные зарезервированные слова, которые имеют особое значение и функции в языке. В настоящее время Python включает 35 ключевых слов и 4 мягких ключевых слова. Эти. . .
Отличия изменяемых и неизменяемых типов в Python
hw_wired 15.02.2025
В Python существует принципиальное различие между изменяемыми (mutable) и неизменяемыми (immutable) типами данных, которое оказывает существенное влияние на работу программ. Это различие часто. . .
Python: сравнение списков и кортежей
hw_wired 15.02.2025
В Python последовательности являются одними из самых важных и часто используемых типов данных. Они позволяют хранить упорядоченные наборы элементов, к которым можно обращаться по индексу. Среди всех. . .
Как скачивать файлы с URL с помощью Python
hw_wired 15.02.2025
Для скачивания файлов Python предлагает как встроенные средства, так и сторонние библиотеки. Встроенный модуль urllib из стандартной библиотеки обеспечивает базовую функциональность для работы с URL. . .
Использование SQLAlchemy в Python
hw_wired 15.02.2025
SQLAlchemy - мощная библиотека для работы с базами данных в Python, которая предоставляет полноценный набор средств для объектно-реляционного отображения (ORM) и обширные возможности для работы с. . .
Взаимодействие с REST API в Python
hw_wired 15.02.2025
В современном мире разработки программного обеспечения REST API стал неотъемлемой частью архитектуры веб-приложений. API (Application Programming Interface) - это набор правил и протоколов,. . .
Разделение строк в Python
hw_wired 15.02.2025
Python предлагает богатый набор возможностей для работы со строками, и среди них разделение строк занимает особое место. Этот процесс позволяет разбивать текст на отдельные компоненты, что критично. . .
Объединение строк в Python
hw_wired 15.02.2025
При работе с текстовыми данными в Python нередко возникает необходимость объединять несколько строк в одну. Это может потребоваться при форматировании вывода, обработке текстовых файлов или создании. . .
Лучшие игровые движки на Python
hw_wired 15.02.2025
В последнее время разработка игр стала одним из самых популярных направлений программирования, и Python не остался в стороне от этого тренда. Несмотря на то, что Python обычно не ассоциируется с. . .
Декоратор jit в Python
hw_wired 15.02.2025
Если вы достаточно долго изучаете программы и пакеты на Python для машинного обучения, то наверняка замечали, что паттерн "JIT-декоратор" довольно популярен. Этот подход позволяет превратить обычные. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru