![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 09.01.2013
Сообщений: 3
|
![]()
Дан массив Х(4,6) . Определить имеются ли в массиве элементы с
противоположными значениями среди элементов , расположенных выше главной диагонали матрицы. Выполнить сортировку по убыванию элементов, расположенных выше главной диагонали матрицы. помогите пожалуйста ничего не получается(( program DomRab; uses crt; type strmenu=record x:integer; s:string[14]; end; const kol=4; mas:array[1..kol] of strmenu= ((x:6;s:'Ввод данных'), (x:20; s: 'Сортировка'), (x:35; s:'Вывод данных'), (x:50; s:' Выход')); var i:integer; n:integer; ch:char; pv:byte; {признак ввода} M:array [1..4,1..6] of integer; procedure inputDan; var n:byte;{пункт меню} i,j:byte; label M1; begin clrscr; writeln ('1.ручной ввод'); writeln ('2.автоматический ввод'); writeln ('3.выход в меню'); M1: writeln ('введите пункт меню'); readln (n); case n of 1:begin writeln ('введите элементы массива'); for i:=1 to 4 do for j:=1 to 6 do begin write ('M[',i,',',j,']='); readln( M [i,j]); end; pv:=1; end; 2: begin writeln('автоматический ввод элементов массива'); randomize; for i:=1 to 4 do for j:=1 to 6 do M [i,j]:=random (100); pv:=1; end; 3:Exit; else goto M1 end; end; procedure sortDan; var x:array[1..4,1..6] of integer; x1:array[1..14] of integer; k:byte; k:=1; for i:=1 to 4 do; for j:=1 to 6 do; begin if i<j then x1[k]:x[i,j]; k:= k+1; end; end; procedure outputDan; begin for i:=1 to 13 do for j:=i to 13 do if x1[j]<>0 then end; begin n:=1; repeat textattr:=7; clrscr; for i:=1 to kol do begin gotoxy (mas[i].x,3); write (mas[i].s); end; textattr:=87; gotoxy (mas[n].x,3); write (mas[n].s); ch:=readkey; case ch of #13:case n of 1:inputDan; 2:sortDan; 3 ![]() end; #0:begin ch:=readkey; case ch of #77: if n<kol then n:=n+1 else n:=1; #75: if n>1 then n:=n-1 else n:=kol; end; end; end; until (ch=#13)and (n=4)or(ch=#27); textattr:=7; clrscr; end. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
![]()
У неквадратной матрицы нет понятия "главная диагональ"
но если считать главной диаганалью элементы где порядковый номер строки равен порядковому номеру столбца, до стольки, сколько можно то можно сделать так: в данном случае элементов расположенных выше "главной диаганали" всего 6 создадим одномерный массив. размерностью 6 и накидаем в него значения этих элементов Код:
Писано по д'Эльфийски
Последний раз редактировалось Лубышев; 09.01.2013 в 23:17. |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 09.01.2013
Сообщений: 3
|
![]()
мне сказали взять 14 элементов
и это и сортировка и нахождение отр. элемента? |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
![]()
нет это только нахождение тех элементов которые отличаются по знаку и находятся выше "псевдоглавной диагонали"
уточните как сортировать элементы. сортировать по вертикали или горизонтали. все ли столбцы и строки двигать или только элементы
Писано по д'Эльфийски
Последний раз редактировалось Лубышев; 10.01.2013 в 09:24. |
![]() |
![]() |
![]() |
#5 |
Новичок
Джуниор
Регистрация: 09.01.2013
Сообщений: 3
|
![]()
сортировать можно любым способом
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дан одномерный массив, сформировать новый массив по заданному правилу {Delphi} | Nickolai47 | Помощь студентам | 5 | 16.12.2012 14:51 |
Дан массив из 9 байт расматривая его как массив 72 бит подсчитать число нулей в этом массиве. | noob asm | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 6 | 16.04.2012 19:04 |
Дан массив чисел В[0:N]. Записать подряд в массив А элементы массива В, имеющие четные индексы,(язык си++) | yury.zanilov | Помощь студентам | 9 | 15.03.2012 21:55 |