Массивы процедуры функции |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Массивы процедуры функции |
Алекс 94 |
10.05.2015 20:19
Сообщение
#1
|
Группа: Пользователи Сообщений: 1 Пол: Мужской Репутация: 0 |
Пжл, кто может объяснить программу(расписать что означает каждая строчка).
В массиве 10х10 целого типа отсортировать главную диагональ (процедура), вычислить ее сумму (функция), поменять местами строки, номера которых укажет пользователь. Вывод массива (процедура). Написать эту задачу: 1. все процедуры в одном файле 2. процедуры/файлы в библиотечном файле 3. вывод результатов в текстовый файл Паскаль абс var p:array[1..10,1..10] of byte; i,j,n1,n2,z:byte; procedure vyvod; var i,j:byte; begin For i:=1 to 10 do begin For j:=1 to 10 do Write(p[i,j],' '); Writeln; end; Writeln; end; procedure sort; var i,z:byte; b:boolean; begin Repeat b:=true; For i:=1 to 9 do If p[i,i]>p[i+1,i+1] then begin b:=false; z:=p[i,i]; p[i,i]:=p[i+1,i+1]; p[i+1,i+1]:=z; end; Until b; end; function summ:integer; var i:byte; begin Result:=0; For i:=1 to 10 do Result:=Result+p[i,i]; end; begin Randomize; For i:=1 to 10 do For j:=1 to 10 do p[i,j]:=Random(21); vyvod; sort; vyvod; Writeln(summ); Writeln; Writeln('Nomera strok: '); Repeat Write(' n1 = '); Readln(n1); Write(' n2 = '); Readln(n2); If n1=n2 then Writeln('n1 = n2 = ',n1); If n1>10 then Writeln(n1,' > 10'); If n2>10 then Writeln(n2,' > 10'); If n1<1 then Writeln(n1,' < 1'); If n2<1 then Writeln(n2,' < 1'); Until (n1<>n2) and (n1>=1) and (n1<=10) and (n2>=1) and (n2<=10); For j:=1 to 10 do begin z:=p[n1,j]; p[n1,j]:=p[n2,j]; p[n2,j]:=z; end; vyvod; Readln; end. |
Текстовая версия | 10.11.2024 2:26 |