Массив, файлы, подпрограммы. Pascal
1)Пeрeписать в файл по столбцам матрицу, у которой меньше положительных элементов в нижнем треугольнике(в случае равенства, переписать обе). - помогите с реализацией.в подпрограммах желательно
2)Упорядочить главную диагональ матрицы по возрастанию подпрограммой.(матрица- квадратная естестна) (главное - вот так объявлены матрицы в основной программе, чтоб путаницы не было const nmax=10; type matr1=array[1..nmax,1..nmax] of integer; type matr2=array[1..nmax,1..nmax] of integer; var x1,x2:matr1; ) вот пытался сделать, но чот не пашет( procedure Sort(var x:matr1;maxx:integer); var aa:array [1..nmax,1..nmax] of real; k,a:integer; temp:real; begin for k:=1 to nmax do begin aa[k,k]:=x[k,k]; for i:=1 to (nmax-1) do for j:=i+1 to (nmax) do if a[i]>a[j] the begin for k:=1 to nmax do begin temp:=x[i,k]; x[i,k]:=x[j,k]; x[j,k]:=temp end; end; end; |
Цитата:
type matr=array[1..nmax,1..nmax] of integer; Что касается процедуры, то там какая-то жуть несусветная. Сейчас попробую привести в божеский вид. |
Ну вот Вам полное решение второй задачи:
Код:
const |
Цитата:
|
Цитата:
Цитата:
Внутри процедуры мы вводим вспомогательный массив ХХ того же типа, что и входной (и выходной) массивы X1s и X2s. В начале процедуры мы копируем в этот ХХ входной массив X1s (тут Вы абсолютно правы), а потом начинаем этот самый ХХ всяко-разно курочить, в данном случае, заменять в нем диагональ. А уже преобразовав его к нужному виду, мы копируем его в выходной массив X2s. Возникает вопрос: можно ли обойтись без вспомогательного массива и работать непосредственно с выходным? А пёс его знает, может быть и можно, просто я нарывался на глюки некоторых трансляторов, и во избежание предпочитаю работать со вспомогательными параметрами, а выходным присваивать значения только в самом конце. |
Цитата:
|
А по методу пузырька - эссе накатал, где постарался объяснить как можно более доходчиво:
http://www.tehnari.ru/f41/t72821/ |
Цитата:
|
Часовой пояс GMT +4, время: 13:36. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.