Polecenie
Wylosować elementy do tablicy prostokątnej X na Y. Obliczyć sumę wszystkich elementów dodatnich, ujemnych i zliczyć ile ich jest. Zliczyć ile jest elementów równych zero. Na koniec zapytać czy powtórzyć całość, dopuszczalne znaki to T/t/n/N. Program zabezpieczyć hasłem.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
PROGRAM macierz;
USES crt;
CONST
X=5;
Y=2;
VAR
t: ARRAY[1..X,1..Y] OF Integer;
ix, iy, id,iu,sd, su, sz :integer;
pass : string;
k :char;
BEGIN
 
CLRSCR;
 REPEAT
  WRITELN('Podaj haslo:');
  READLN(pass);
 UNTIL pass = 'lol';
 
REPEAT 
 RANDOMIZE;
 FOR iy:=1 TO Y DO
  FOR ix:=1 TO X DO
  	t[ix,iy]:=RANDOM(9)-RANDOM(4);
	iu:=0;
	id:=0;
	sz:=0;
	su:=0;
	sd:=0;	
FOR iy:=1 TO Y DO
  FOR ix:=1 TO X DO
  BEGIN
  IF t[ix,iy] >= 0 THEN
   BEGIN
    IF t[ix,iy] > 0 THEN
     	BEGIN
    	sd:=sd+1;
	id:=id+t[ix,iy];
	END
    ELSE
     sz:=sz+1;
   END
   ELSE
   BEGIN
    su:=su+1;
    iu:=iu+t[ix,iy];
    END;
  WRITE(t[ix,iy],', ');
  END;
  WRITELN;
  WRITELN('Ilosc dodatnich: ',sd,'. Ich suma: ',id);
  WRITELN('Ilosc zer: ',sz);
  WRITELN('Ilosc ujemnych: ', su,'. Ich suma: ',iu);
 WRITELN;
 REPEAT
  WRITELN('Kontynuowac T/N? ');
  k:=UPCASE(READKEY());
   IF (k <> 'N') AND (k <> 'T') THEN
    WRITELN('Zly klawisz!');
   UNTIL (k='N') OR (k='T');
  UNTIL (k='N') ;
   END.
Pozostaw odpowiedź

(c) 2007 by Michał Terbert