Program p1;
uses crt;
var a:array[1..30] of integer;
sr,s:real;
i:integer;
begin
for i:=1 to 30 do begin
read(a[i]);
s:=s+a[i];
end;
sr:=s/30;
write(sr);
end.
<em>MS DOS QBasic 1.0</em>
DIM n AS INTEGER, m AS INTEGER
CLS
INPUT "n,m=", n, m
IF n < 3 THEN
PRINT "n<3"
SYSTEM
END IF
REDIM a(1 TO n, 1 TO m) AS INTEGER
RANDOMIZE TIMER
FOR i = 1 TO n
FOR j = 1 TO m
a(i, j) = INT(50 * RND)
PRINT USING "###"; a(i, j);
NEXT j
PRINT
NEXT i
PRINT
FOR i = 4 TO n
FOR j = 1 TO m
a(i - 1, j) = a(i, j)
NEXT j
NEXT i
FOR i = 1 TO n - 1
FOR j = 1 TO m
PRINT USING "###"; a(i, j);
NEXT j
PRINT
NEXT i
<u>Пример
</u>n,m=5,8
43 6 19 48 44 6 28 10
5 48 44 1 31 30 25 33
19 30 46 27 29 34 45 8
17 37 43 1 37 46 25 45
48 48 27 21 36 48 44 37
43 6 19 48 44 6 28 10
5 48 44 1 31 30 25 33
17 37 43 1 37 46 25 45
48 48 27 21 36 48 44 37
<u>Замечание</u>
Поскольку QBasic не поддерживает сохранение содержимого при изменении размеров динамического массива, для упрощения было решено не заниматься созданием вспомогательного массива, копирования в него всех строк, кроме последней, затем изменение размера исходного массива и обратное копирование в него. Просто считается, что n уменьшилось на 1.
Тут нужно объяснить: каждое слово представляет собой некоторое непустое множество документов, а значки "I" и "&" означают следующее:
I -это объединение двух множеств,
& -это пересечение двух множеств.
Еще возможны скобки, которые, как и обычной арифметике, указывают порядок действий.
Отношения больше или меньше - это вложенность множеств друг в друга (то есть одно из множеств является подмножеством другого), это не всегда выполняется, но в данном случае выполняется.
Самое большое множество это второе, потом первое - его подмножество, затем третье - подмножество первого, а четвертое - подмножество третьего. В порядке возрастания количества документов - это 4) 3) 1) 2).
Может что не ясно?
| -это логическое "ИЛИ",
& -это логическое "И".
Может (5,14)? покажи задание, я скажу точно