1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
| jarded |
6.10.2006 15:32
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: max Репутация: 0 |
прога работает только при одинаковых n и m, (квадратный массив)
А как заставить ее работать в прямоугольном массиве? Код PROGRAM KR1; CONST n=5; m=5; k=100; r=100; VAR B:array[1..r] of integer; A:array[1..n,1..m] of real; i,j,c,mm,nn,mmm,nnn:integer; Procedure FINDINT; begin B[c]:=Trunc(A[i,j]); write(B[c],' '); c:=c+1; end; BEGIN Writeln; write('-------------------------------------------------'); Writeln; Write('generatsiya massiva'); begin {nachalo generatsii massiva} randomize; for i:=1 to n do for j:=1 to m do A[i,j]:=random(k); end;{konets generatsii massiva} i:=1; j:=1; Writeln; Writeln('-------------------------------------------------'); while i<=m do begin writeln; while j<=n do begin write(A[i,j]:1:2,' '); j:=j+1 end; i:=i+1; j:=1; end; Writeln; write('-------------------------------------------------'); Writeln; write('massiv sgenerirovan'); Writeln; write('-------------------------------------------------'); writeln; i:=1; j:=1; c:=1; mmm:=1; nnn:=1; mm:=m; nn:=n; while mmm<=mm do {glavniy cikl} begin while nnn<=nn do begin while j<=mm do {vpravo} begin FINDINT; j:=j+1; end; j:=mm; nnn:=nnn+1; i:=nnn; while i<=nn do {vniz} begin FINDINT; i:=i+1; end; i:=nn; mm:=mm-1; j:=mm; while j>=mmm do {vlevo} begin FINDINT; j:=j-1; end; j:=mmm; nn:=nn-1; i:=nn; while i>=nnn do {vverh} begin FINDINT; i:=i-1; end; i:=nnn; mmm:=mmm+1; j:=mmm; end; end; Writeln; write ('SUMMA CHLENOV=',c-1); ReadLn; END. |
| volvo |
6.10.2006 15:38
Сообщение
#2
|
|
Гость |
Цитата А как заставить ее работать в прямоугольном массиве? Воспользоваться поиском:ДВУХМЕРНЫЕ МАССИВЫ (насколько я вижу, в той программе надо изменить 4 символа, чтобы она корректно работала, как тебе нужно... Дерзай! |
| jarded |
9.10.2006 11:12
Сообщение
#3
|
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: max Репутация: 0 |
|
| volvo |
9.10.2006 16:45
Сообщение
#4
|
|
Гость |
Цитата(jarded @ 9.10.2006 10:12) Что ж тут может не получиться? const |
![]() ![]() |
|
Текстовая версия | 8.12.2025 8:27 |