Помогите, пожалуйста, соединить две программы в Паскале
Задание звучит следующим образом:
Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик (оформить в виде процедуры). Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент (оформить в виде функции). Нашла в интернете решение, НО как две разные программы. А мне очень нужно, чтобы все было в одной программе. Помогите пожалуйста!!!tehnoangel Программа 1: program aaa; Var a:array[1..5, 1..5] of integer; s:array[1..5]of integer; j,k,m, min, pr, w,z:integer; Procedure obmen(Var x,y:integer); Var prom:integer; begin prom:=x; x:=y; y:=prom; end; begin for j:=1 to 5 do for k:=1 to 5 do a[j,k]:=Random(20)-10; writeln('Исходный массив '); for j:=1 to 5 do begin for k:=1 to 5 do write( a[j,k]:3,' '); writeln; end; for k:=1 to 5 do begin s[k]:=0; for j:=1 to 5 do if (a[j,k]<0) and (a[j,k] mod 2<>0) then s[k]:=s[k]+abs(a[j,k]); end; writeln('массив характеристик столбцов: '); for k:=1 to 5 do write(s[k]:3, ' '); writeln; for k:=1 to 4 do begin min:=s[k]; m:=k; for j:=k+1 to 5 do if s[j]< min then begin min:=s[j]; m:=j end; obmen(s[k],s[m]); for w:=1 to 5 do obmen(a[w,k],a[w,m]); end; writeln('отсортированный массив характеристик: '); for k:=1 to 5 do write(s[k]:3, ' '); writeln; writeln('матрица с переставленными столбцами в соответствии с ростом характеристик: '); for j:=1 to 5 do begin for k:=1 to 5 do write( a[j,k]:3,' '); writeln; end; end. Программа 2: program zadacha2; Type mas=array[1..5, 1..5] of integer; Var a:mas ; j, sum,k, fl: integer; function summa(b:mas; n:integer):integer; Var s, x:integer; begin s:=0; for x:=1 to 5 do s:=s+b[x,n] ; summa:=s; end; begin writeln('Исходный массив'); for j:=1 to 5 do begin for k:=1 to 5 do begin a[j,k]:=Random(10)-3; write (a[j, k]:4, ' ') end; writeln; end; for k:=1 to 5 do begin fl:=0; for j:=1 to 5 do if a[j,k]<0 then fl:=1; if fl=1 then begin sum:= summa(a,k); writeln('Сумма элементов ', k, '-го столбца=', sum);end; end; end. |
Часовой пояс GMT +4, время: 05:02. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.