0 / 0 / 0
Регистрация: 01.11.2014
Сообщений: 18

Переставить столбцы матрицы по росту количества отрицательных элементов в столбцах

01.11.2014, 20:24. Показов 2220. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Для матрицы С (m, n), 1 <m, n <10 переставить столбцы
по росту количества отрицательных элементов в столбцах.
Помогите пожалуйста, или решением или советом, уже много вариантов перебробовал, но толкового решения не получил.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.11.2014, 20:24
Ответы с готовыми решениями:

Переставить столбцы матрицы по возрастанию количества отрицательных элементов в столбцах
Переставить столбцы по возрастанию количества отрицательных элементов в столбцах.

Переставить колонки матрицы согласно росту максимальных элементов в столбцах
Заданная матрица целых чисел размером (M, N). Переставить колонки матрицы согласно росту максимальных элементов в столбцах. Все входные...

Переставить колонки матрицы согласно росту максимальных элементов в столбцах
Заданная матрица целых чисел размером (M, N). Переставить колонки матрицы согласно росту максимальных элементов в столбцах.

15
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
01.11.2014, 20:27
Двумерный массив перестановка столбцов
0
0 / 0 / 0
Регистрация: 01.11.2014
Сообщений: 18
01.11.2014, 21:11  [ТС]
Почти то что мне нужно, но там строки, а мне нужно перестановки в столбцах.
0
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
01.11.2014, 21:20
Таки вроде я как столбцы переставлял.
Не?
1
0 / 0 / 0
Регистрация: 01.11.2014
Сообщений: 18
01.11.2014, 21:35  [ТС]
Тут ты прав, но там сортировка по количеству отрицательных в строках, а не столбцах.
0
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
01.11.2014, 21:52
scalder, я сейчас с тлф. Могу завтра глянуть, что там не так. Ок?
0
0 / 0 / 0
Регистрация: 01.11.2014
Сообщений: 18
01.11.2014, 21:55  [ТС]
Да, конечно, мне не очень срочно. И если не сложно, ты мог бы поподробнее обьяснить перенос стобцов?
0
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
02.11.2014, 09:46
Завтра гляну и в комментах все распишу.

Добавлено через 11 часов 33 минуты
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
{Помогите решить задачу. Дано двумерный массив С[m,n], 1<m,n<10,
найти суму элементов >3,2 и переставить столбцы в порядки возрастания
количества отрицательных элементов.}
 
var
  b: array [1..100,1..100] of integer;
  a: array [1..100] of integer;
  n,m,i,j,ko,sc,buf: integer;
begin
  writeln('n,m=');
  readln(n,m);
  writeln('Исходный массив');
  for j:=1 to n do
    begin
      ko:=0;
      for i:=1 to m do
        begin
          b[i,j]:=random(19)-9;
          write(b[i,j]:4);
          if b[i,j]<0 then
            begin
              inc(ko);
              a[i]:=ko;
            end;
        end;
      writeln;
    end;
  writeln('Отрицательные');
  for i:=1 to n do
    write(a[i]:4);
  sc:=0;
  while sc<=n do
    begin
      for i:=2 to n do
        if a[i]<a[i-1] then
          begin
            buf:=a[i];
            a[i]:=a[i-1];
            a[i-1]:=buf;
            for j:=1 to m do
              begin
                buf:=b[i,j];
                b[i,j]:=b[i-1,j];
                b[i-1,j]:=buf;
              end;
          end;
      inc(sc);
    end;
  writeln;
  writeln('Итоговый массив');
  for i:=1 to n do
    begin
      for j:=1 to m do
        write(b[i,j]:4);
      writeln;
    end;
  writeln('Отрицательные');
  for i:=1 to n do
    write(a[i]:4);
  readln;
end.
0
0 / 0 / 0
Регистрация: 01.11.2014
Сообщений: 18
02.11.2014, 11:07  [ТС]
В исходной матрице происходит замена строк со столбцами, так и должно быть?
0
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
02.11.2014, 12:12
не-а
Тут я запутамшись сам и тебя запутал.
Ближе к вечеру поработаю
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
02.11.2014, 12:25
Лучший ответ Сообщение было отмечено scalder как решение

Решение

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
const
  mmax=9; nmax=9; LLIM=-9; ILIM=19; W=3;
var
  a: array [1..mmax,1..nmax] of Integer;
  c: array [1..nmax] of Integer;
  i, j, k, m, n, p, t: Integer;
begin
  repeat
    Write('Введите m [2..',mmax,'], n [2..',nmax,']: '); ReadLn(m,n);
  until (m in [2..mmax]) and (n in [2..nmax]);
  WriteLn('A=');
  for i:=1 to m do begin
    for j:=1 to n do begin
      a[i,j]:=LLIM+Random(ILIM); Write(a[i,j]:W);
      if a[i,j]<0 then Inc(c[j]);
    end; WriteLn;
  end; 
  for j:=1 to n-1 do begin
    p:=j;
    for k:=j+1 to n do if c[k]<c[p] then p:=k;
    if p>j then begin
      for i:=1 to m do begin
        t:=a[i,j]; a[i,j]:=a[i,p]; a[i,p]:=t;
      end;
      t:=c[j]; c[j]:=c[p]; c[p]:=t;
    end;
  end;
  WriteLn('A''=');
  for i:=1 to m do begin
    for j:=1 to n do Write(a[i,j]:W); WriteLn;
  end; 
end.
2
0 / 0 / 0
Регистрация: 01.11.2014
Сообщений: 18
02.11.2014, 12:53  [ТС]
Спасибо, надеюсь я разберусь в том как она работает.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
02.11.2014, 18:07
scalder,
код весьма несложный, построчно:
8-10 -- ввод размерности матрицы;
11-17 -- генерация и вывод матрицы,
в т.ч. 15 -- подсчет количества отрицательных в j-й колонке;
18-27 -- сортировка столбцов по возрастанию количества отрицательных
в т.ч. 19-20 -- поиск мин. справа от текущего, 22-25 -- перестановка
28-31 -- вывод матрицы.

Будет что-то непонятно, обращайтесь.
0
0 / 0 / 0
Регистрация: 01.11.2014
Сообщений: 18
02.11.2014, 20:42  [ТС]
единственная сложность в строках 18-27, но надеюсь что сам пойму.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
02.11.2014, 21:58
scalder,
сортируется массив c (его j-й элемент содержит количество отрицательных в j-м столбце матрицы a) по возрастанию, в случае перестановки его элементов, также переставляются и соответствующие столбцы матрицы a.
Здесь использована сортировка выбором (selection sort), для подробного описания алгоритма можете воспользоваться поиском.
Использование того или иного алгоритма сортировки не принципиально до тех пор пока сохраняется синхронность перестановок в c и a.
2
0 / 0 / 0
Регистрация: 01.11.2014
Сообщений: 18
03.11.2014, 00:32  [ТС]
очень вам благодарен, но надеюсь что больше не потребуется ваша помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.11.2014, 00:32
Помогаю со студенческими работами здесь

Переставить все столбцы матрицы по возрастанию количества нулей в столбцах
для матрицы В(м,н) переставить все столбцы по возростанию количества нулей в столбцах.

Отсортировать столбцы матрицы по невозрастанию количества отрицательных чисел в столбцах (простыми вставками)
немогу реализовать сортировку методом прстых вставок ((паскаль)) нужно отсортировать столбцы задание такое\ отсортировать...

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

Отсортировать столбцы матрицы в порядке невозрастания количества отрицательных элементов
подскажите пожалуйста с чего начать ЗАДАЧА 26. Отсортировать столбцы матрицы в по-рядке невозрастания количества отрицательных...

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


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

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

Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru