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

В каждом столбце матрицы расположить элементы в заданном порядке

13.07.2022, 10:57. Показов 608. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Составить схему алгоритма решения задачи и написать программу на языке программирования высокого уровня (Pascal или C).

В каждом столбце матрицы A(K,L), K ≤ 200, L ≤ 15 элементы расположить в следующем порядке: максимальный, минимальный из оставшихся, максимальный из оставшихся, минимальный из оставшихся и т.д.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.07.2022, 10:57
Ответы с готовыми решениями:

В каждом столбце матрицы A(K,L), K <= 200, L <= 15 элементы расположить в заданном порядке
Помогите написать программу. В каждом столбце матрицы A(K,L), K &lt;= 200, L &lt;= 15 элементы расположить в следующем порядке: максимальный,...

В каждом столбце матрицы элементы расположить в следующем порядке
в каждом столбце матрицы А(200, 15) элементы расположить в следующем порядке: максимальный, минимальный из оставшихся, максимальный из...

Подпрограмма: переставить элементы в каждом столбце матрицы в обратном порядке
Дано: прямоугольная матрица А. Переставить элементы в каждом столбце матрицы в обратном порядке. Перестановку элементов столбца ...

7
3 / 2 / 1
Регистрация: 09.10.2018
Сообщений: 15
29.07.2022, 14:30
Готовая программа
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
const K=200; L=15; 
var a,a1:array[1..K,1..L] of integer;
   b:array of integer;
  i,j:integer;
begin
  setlength(b,K);
  for i:=1 to K do
  begin
    for j:=1 to L do
    begin
      a[i,j]:=random(-20,20);
      write(a[i,j]:4);
    end;
    writeln;
  end;
  for j:=1 to L do
  begin
    for i:=1 to K do
    begin
      b[i-1]:=a[i,j]; {положили столбец в отдельный массив}
    end;
    b.Sort; {отсортировали массив}
    for i:=1 to K do
    begin
      a[i,j]:=b[i-1]; {положили отсортированный столбец в столбец исходного массива}
    end;  
  end;
  writeln('Вывод массива в указанном порядке');
  for i:=1 to K div 2 do
  begin
    for j:=1 to L do
    begin
      write(a[K-i+1,j]:4);
    end;
     writeln;
    for j:=1 to L do
    begin
      write(a[i,j]:4);
    end;
    writeln;
  end;
end.
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
29.07.2022, 18:35
В PascalABC нет динамических массивов!
0
3 / 2 / 1
Регистрация: 09.10.2018
Сообщений: 15
29.07.2022, 18:57
С процедурой сортировки массива
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
const K=200; L=15; 
type mas=array [1..200] of integer;
var a:array[1..K,1..L] of integer;
    b:mas;
  i,j:integer;
procedure sort(t:integer;var m:mas);
var p,q,f:integer;
begin
  for p:=1 to t-1 do
  begin
    for q:=1 to t-p do
      if m[q]>m[q+1] then
      begin
        f:=m[q];
        m[q]:=m[q+1];
        m[q+1]:=f;
      end;
  end;
end;
begin
  for i:=1 to K do
  begin
    for j:=1 to L do
    begin
      a[i,j]:=random(-20,20);
      write(a[i,j]:4);
    end;
    writeln;
  end;
  for j:=1 to L do
  begin
    for i:=1 to K do
    begin
      b[i]:=a[i,j]; {положили столбец в отдельный массив}
    end;
    sort(K,b); {отсортировали массив}
    for i:=1 to K do
    begin
      a[i,j]:=b[i]; {положили отсортированный столбец в столбец исходного массива}
    end;  
  end;
  writeln('Вывод массива в указанном порядке');
  for i:=1 to K div 2 do
  begin
    for j:=1 to L do
    begin
      write(a[K-i+1,j]:4);
    end;
     writeln;
    for j:=1 to L do
    begin
      write(a[i,j]:4);
    end;
    writeln;
  end;
end.
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
29.07.2022, 19:01
В PascalABC не сработает
Цитата Сообщение от ciocca125 Посмотреть сообщение
random(-20,20);
0
3 / 2 / 1
Регистрация: 09.10.2018
Сообщений: 15
29.07.2022, 19:09
Цитата Сообщение от JuriiMW Посмотреть сообщение
В PascalABC не сработает
-20+random(41);

и можно еще в начало программы дописать randomize, чтоб уж наверняка)
0
Модератор
10442 / 5734 / 3406
Регистрация: 17.08.2012
Сообщений: 17,446
29.07.2022, 21:52
ciocca125,
  • по заданию нужно не вывести элементы в указанном порядке, а расположить элементы в указанном порядке;
  • алгоритмическая ошибка: при нечётном K не выводится последняя строка отсортированной матрицы;
  • объявлять глобальные переменные до подпрограмм следует только тогда, когда это действительно необходимо, поскольку такое объявление может порождать трудно локализуемые ошибки из-за перекрытия областей видимости глобальных и локальных переменных;
  • Pascal ABC и Pascal ABC.NET - совершенно разные диалекты паскаля.
Без проверки корректности вводимых значений:
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
const
  mk = 200;
  ml = 15;
var
  a: array[1..mk, 1..ml] of integer;
  i, j, K, L, n, p, t: integer;
begin
  randomize;
  write('K = ');
  readln(K);
  write('L = ');
  readln(L);
  writeln('Исходый массив:');
  for i := 1 to K do
    begin
      for j := 1 to L do
        begin
          a[i,j] := -99 + random(199);
          write(a[i,j]:4)
        end;
      writeln
    end;
  for j := 1 to L do
    for i := 1 to K - 1 do
      begin
        p := i;
        for n := i + 1 to K do
          if odd(i) and (a[n,j] > a[p,j]) or not odd(i) and (a[n,j] < a[p,j]) then p := n;
        if p > i then
          begin
            t := a[i,j];
            a[i,j] := a[p,j];
            a[p,j] := t
          end
      end;
  writeln('Отсортированный массив:');
  for i := 1 to K do
    begin
      for j := 1 to L do write(a[i,j]:4);
      writeln
    end
end.
0
3 / 2 / 1
Регистрация: 09.10.2018
Сообщений: 15
30.07.2022, 00:29
Другой вариант программы.
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 K1=200; L1=15; 
type mas=array[1..K1,1..L1] of integer;
procedure in_out(S,Q:integer;d:boolean;var m:mas);
var x,y:integer;
begin
  randomize;
  for x:=1 to S do
    for y:=1 to Q do
      if d then m[x,y]:=-50+random(101)
           else
               if y=Q then writeln(m[x,y]:4)
                      else write(m[x,y]:4);
end;
procedure change(var c,d:integer);
var buf:integer;
begin
  buf:=c; c:=d; d:=buf;
end;
var a:mas;
    i,j,t,ik,K,L:integer;
begin
  writeln('Введите кол-во строк и столбцов массива:');
  readln(K,L);
  writeln('Исходный массив: ');
  in_out(K,L,true,a);
  in_out(K,L,false,a);
  for j:=1 to L do
  begin
    t:=1;
    while t<=K-1 do
      begin
       ik:=t;
       for i:=t to K do 
         if a[i,j]>a[ik,j] then ik:=i;
       change(a[t,j],a[ik,j]);
       ik:=t+1;
       for i:=t to K do 
         if a[i,j]<a[ik,j] then ik:=i;
       change(a[t+1,j],a[ik,j]);
       t:=t+2;
      end;
  end; 
  writeln('Измененный массив:');
  in_out(K,L,false,a);
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.07.2022, 00:29
Помогаю со студенческими работами здесь

Расположить числа в каждом столбце в порядке их убывания
Дан двумерный массив a, содержащий m строк и n столбцов, где m, n&lt;=50. Элементы массива - целые числа. Расположить числа в каждом столбце в...

Расположить элементы массива в заданном порядке
1. В одномерном массиве Х состоящем из N целых чисел (0&lt;N&lt;100;-10000&lt;z&lt;1000) расположить элементы в следующем порядке: - отрицательные...

В заданном массиве расположить элементы в порядке возрастания
В заданном массиве расположить элементы массива в порядке возрастания. Вывести на экран заданный и новый массив. аля рандомный...

Расположить элементы целочисленного массива в заданном порядке
Расположить элементы целочисленного массива в следующем порядке: Первым располагается наименьший элемент, вторым – наибольший, затем...

Расположить элементы в новом массиве в заданном порядке
Даны действительные числа a1...a20. получить новый массив, в котором числа нового массива следуют в данном порядке: a20,...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru