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

Дописать программу для ручного ввода размерности матрицы с клавиатуры вместо константы в паскале

11.05.2014, 09:39. Показов 1106. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Дана матрица размером n х m в программе фиксированная 4*3. Переставляя ее строки и столбцы, добиться того, чтобы наибольший элемент (или один из них) оказался в верхнем левом углу. Все работает, но нужно, чтоб размерность вводилась с клавиатуры, помогите подправить.
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
uses crt;
Const m=3;n=4;
Type Matrica=array[1..m,1..n] of integer;
var  Mas:Matrica;
 
Procedure Vvod(var Massiv:Matrica);
var i,j:integer;
begin
 for i:=1 to m do
  for j:=1 to n do
   begin
    write('Введите ',i,j,' элемент: ');
    readln(Massiv[i,j]);
   end;
 
writeln('Начальная матрица: ');
 for i:=1 to m do
  begin
    write('|');
    for j:=1 to n do
     write(Massiv[i,j],' ');
    writeln('|');
  end;
 
end;
 
Procedure Sortirovka(var Massiv:Matrica);
var stroka,stolbec,max,i,j:integer;
    masStolbec:array[1..m] of integer; {Столбец с мах элементом}
    masStroka:array[1..n] of integer;   {Строка с мах элементом}
begin
max:=Massiv[1,1];
stroka:=1;
stolbec:=1;
 for i:=1 to m do
  for j:=1 to n do
    if Massiv[i,j]>max then
      begin
       max:=Massiv[i,j];
       stroka:=i;  {Столбец в котором находится мах элемент}
       stolbec:=j;  {Строка в котором находится мах элемент}
      end;
 
{=======================Сортировка по столбцам===============================}
 
If stolbec<>1 then
  begin
  for i:=1 to m do
    masStolbec[i]:=Massiv[i,stolbec]; {Запоминаем столбец с мах элементом}
 
 
 
 for i:=stolbec downto 2 do  {Сдвигаем столбцы}
   for j:=1 to m do
     Massiv[j,i]:=Massiv[j,i-1];
 
 
 for i:=1 to m do {Первому столбцу присваиваем знач. столбца с мах элементом}
  Massiv[i,1]:=masStolbec[i];
 
 end; {if}
 
{=========================Сортировка по строкам==============================}
 
if stroka<>1 then
begin
 
 for i:=1 to n do               {Запоминаем стороку с мах элементом}
  masStroka[i]:=Massiv[stroka,i];
 
 for i:=stroka downto 2 do   {Сдвигаем строки}
  for j:=1 to n do
   Massiv[i,j]:=Massiv[i-1,j];
 
 for i:=1 to n do     {Первой стороке присваиваем знач. строки с мах элемен.}
  Massiv[1,i]:=masStroka[i];
 
 
end; {if}
 
{============================================================================}
 
end;
 
Procedure Vivod(Massiv:Matrica);
var i,j:integer;
begin
writeln('Итоговая матрица: ');
 for i:=1 to m do
  begin
    write('|');
    for j:=1 to n do
     write(Massiv[i,j],' ');
    writeln('|');
  end;
 
end;
 
 
 
begin
clrscr;
Vvod(Mas); {Ввод матрицы}
sortirovka(Mas);  {Сортировка}
Vivod(Mas);  {Вывод матрицы}
readln;
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.05.2014, 09:39
Ответы с готовыми решениями:

Разработать программу ручного ввода с клавиатуры произвольной траектории с изображением вводимой траектории на экране
Разработать программу ручного ввода с клавиатуры произвольной траектории с изображением вводимой траектории на экране. Точки траектории...

Составить программу для ввода матрицы с клавиатуры в буфер и вывод этой измененной матрицы на экран
Привет обитателям киберфорума! Уже где-то месяц я никак не могу найти информации по данной теме. Задача ввести матрицу, перемножить ее...

Написать программу в С++ для ввода с клавиатуры матрицы
Написать программу в С++ для ввода с клавиатуры матрицы размера k*n (k&lt;=20, n&lt;=25) и ее обработки: записать в новый массив все строки,...

1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
11.05.2014, 11:27
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
uses crt;
Type Matrica=array[1..50,1..50] of integer;
 
Procedure Vvod(var Massiv:Matrica;var m,n:integer);
var i,j:integer;
begin
writeln('Введите размеры матрицы');
readln(m,n);
 for i:=1 to m do
  for j:=1 to n do
   begin
    write('Введите ',i,',',j,' элемент: ');
    readln(Massiv[i,j]);
   end;
 
writeln('Начальная матрица: ');
 for i:=1 to m do
  begin
    write('|');
    for j:=1 to n do
     write(Massiv[i,j],' ');
    writeln('|');
  end;
 
end;
 
Procedure Sortirovka(var Massiv:Matrica;m,n:integer);
var stroka,stolbec,max,i,j:integer;
    masStolbec:array[1..50] of integer; {Столбец с мах элементом}
    masStroka:array[1..50] of integer;   {Строка с мах элементом}
begin
max:=Massiv[1,1];
stroka:=1;
stolbec:=1;
 for i:=1 to m do
  for j:=1 to n do
    if Massiv[i,j]>max then
      begin
       max:=Massiv[i,j];
       stroka:=i;  {Столбец в котором находится мах элемент}
       stolbec:=j;  {Строка в котором находится мах элемент}
      end;
 
{=======================Сортировка по столбцам===============================}
 
If stolbec<>1 then
  begin
  for i:=1 to m do
    masStolbec[i]:=Massiv[i,stolbec]; {Запоминаем столбец с мах элементом}
 
 
 
 for i:=stolbec downto 2 do  {Сдвигаем столбцы}
   for j:=1 to m do
     Massiv[j,i]:=Massiv[j,i-1];
 
 
 for i:=1 to m do {Первому столбцу присваиваем знач. столбца с мах элементом}
  Massiv[i,1]:=masStolbec[i];
 
 end; {if}
 
{=========================Сортировка по строкам==============================}
 
if stroka<>1 then
begin
 
 for i:=1 to n do               {Запоминаем стороку с мах элементом}
  masStroka[i]:=Massiv[stroka,i];
 
 for i:=stroka downto 2 do   {Сдвигаем строки}
  for j:=1 to n do
   Massiv[i,j]:=Massiv[i-1,j];
 
 for i:=1 to n do     {Первой стороке присваиваем знач. строки с мах элемен.}
  Massiv[1,i]:=masStroka[i];
 
 
end; {if}
 
{============================================================================}
 
end;
 
Procedure Vivod(Massiv:Matrica;m,n:integer);
var i,j:integer;
begin
writeln('Итоговая матрица: ');
 for i:=1 to m do
  begin
    write('|');
    for j:=1 to n do
     write(Massiv[i,j],' ');
    writeln('|');
  end;
 
end;
 
 
var  Mas:Matrica;
     m,n:integer;
begin
clrscr;
Vvod(Mas,m,n); {Ввод матрицы}
sortirovka(Mas,m,n);  {Сортировка}
Vivod(Mas,m,n);  {Вывод матрицы}
readln;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.05.2014, 11:27
Помогаю со студенческими работами здесь

Замена ручного ввода элементов матрицы на автоматическое
Помогите пожалуйста сделать в программе так чтобы вместо того чтобы самому вводить элементы массива программа делала автоматический массив ...

Замена ручного ввода элементов матрицы на автоматический
Помогите пожалуйста сделать в программе так чтобы вместо того чтобы самому вводить элементы массива программа делала автоматический массив ...

Библиотеки для удобного ввода формул и ручного построения графиков
Доброго времени суток. Стоит задача разработать обучающую компьютерную программу по физике для школьников. В требованиях указано, что в...

Как можно бы создать метод для ввода размерности (т.е. для ввода private переменных n,m)?
Как можно бы создать метод для ввода размерности (т.е. для ввода private переменных n,m)? ( что только я не пробывал: то переменные...

Составить программу для ввода с клавиатуры несколько слов
Составить программу для ввода с клавиатуры несколько слов и расположения их в возрастающем порядке по длине слова. результат вывести на...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru