|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
31.10.2010, 12:58 | #1 (permalink) |
Новичок
Регистрация: 31.10.2010
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Преобразовать матрицу
Дана матрица размера 5 x 10. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой столбце (Оформить процедурами основное решение задачи, ввод-вывод оформить в главной программе) |
31.10.2010, 12:58 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Сейчас вам самое время посмотреть на эти темы Где купить матрицу для ноутбука? Как преобразовать BMP в doc? Как преобразовать файлы PDF? |
31.10.2010, 17:12 | #4 (permalink) |
一步一步地会到目的
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,939
Записей в дневнике: 10
Сказал(а) спасибо: 140
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
|
Сами пробовали что-либо делать? Задача элементарная, учиться на чем-то надо. Предлагаю вам сделать процедуру по поиску минимального и максимального элемента в столбце, и смене их местами. В теле программы вводите матрицу, в цикле вызываете процедуру для каждого столбца и затем выводите результат. Вот вам краткий алгоритм, действуйте. Если что непонятно - с радостью подскажем. Это и будет называться ПОМОЩЬЮ в написании программы.
|
31.10.2010, 20:15 | #5 (permalink) |
Новичок
Регистрация: 31.10.2010
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
uses
CRT; const n = 5; m = 10; var mas: array [1..n, 1..m] of integer; j, i, s, min, imin, imax, max, temp: integer; begin Clrscr; randomize; writeln('Исходная матрица: '); for i := 1 TO n DO begin for j := 1 TO m DO begin MAS[i, j] := random(10) - 3; write(' ',mas[i, j]:2); end; writeln; end; writeln; for j := 1 to m do begin max := mas[1, j]; imax := 1; min := mas[1, j]; imin := 1; for i := 1 to n do if MAS[i, j] < max THEN begin max := mas[i, j]; imax := i; end else if MAS[i, j] > min THEN begin min := mas[i, j]; imin := i; end; begin temp := mas[imin,j]; mas[imin,j] := mas[imax,j]; mas[imax,j] := temp; end; end; writeln; WRITELN('Результирующая матрица: '); for i := 1 to n do begin for j := 1 to m do begin write(' ', mas[i, j]:2); end; writeln; end; end. А как в процедуре сделать? |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
31.10.2010, 20:53 | #6 (permalink) |
一步一步地会到目的
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,939
Записей в дневнике: 10
Сказал(а) спасибо: 140
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
|
procedure [имя] ([список параметров]);
begin [список операторов] end; В программе вызываете процедуру по имени. Список параметров необязателен. Если у вас все хранится в глобальных переменных, то можно обойтись без параметров |
31.10.2010, 21:09 | #7 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
uses CRT; const n = 5; m = 10; type Matrix = array [1..n, 1..m] of integer; var mas1, mas2: Matrix; j, i: integer; procedure Change_Matr(M_in:Matrix; var M_out:Matrix); var ic, jc, min, imin, imax, max : integer; begin M_out:=M_in; for jc := 1 to m do begin max := M_in[1, jc]; imax := 1; min := M_in[1, jc]; imin := 1; for ic := 1 to n do begin if M_in[ic, jc] > max THEN begin max := M_in[ic, jc]; imax := ic; end; if M_in[ic, jc] < min THEN begin min := M_in[ic, jc]; imin := ic; end; end; M_out[imin,jc] := M_in[imax,jc]; M_out[imax,jc] := M_in[imin,jc]; end; end; begin Clrscr; randomize; writeln('Исходная матрица: '); for i := 1 TO n DO begin for j := 1 TO m DO begin MAS1[i, j] := random(10) - 3; write(' ',mas1[i, j]:2); end; writeln; end; writeln; Change_Matr(Mas1,Mas2); writeln; WRITELN('Результирующая матрица: '); for i := 1 to n do begin for j := 1 to m do begin write(' ', mas2[i, j]:2); end; writeln; end; ReadKey; end. |
|
31.10.2010, 23:47 | #9 (permalink) |
Новичок
Регистрация: 31.10.2010
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
cпс чуваки)))
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|