Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var A : array[1..100,1..100] of integer;
- i, j, k, n, m, sum, sumNT, sumCP, sumHH, max, temp, count : integer;
- function checkNT(n : integer): boolean;
- var i, m: integer;
- begin
- m := round(sqrt(n));
- for i:=2 to m do
- if n mod i = 0 then
- begin
- checkNT := false;
- exit;
- end;
- checkNT := true;
- end;
- function checkCP(n : integer) : boolean;
- var i: integer;
- begin
- checkCP := false;
- if n = 1 then
- begin
- checkCP := true;
- exit;
- end;
- for i:=1 to n div 2 do
- if i*i = n then
- begin
- checkCP := true;
- exit;
- end;
- end;
- function checkHH(n : integer): boolean;
- var i, s : integer;
- begin
- s := 1;
- for i:= 2 to n-1 do
- if n mod i = 0 then s := s + i;
- if s = n then checkHH := true
- else checkHH := false;
- end;
- BEGIN
- writeln('Nhap so hang va so cot: ');
- readln(n, m);
- writeln('Nhap cac phan tu cua ma tran: ');
- for i:=1 to n do
- begin
- for j:=1 to m do
- begin
- write('A[',i,', ', j,'] = ');
- readln(A[i,j]);
- end;
- end;
- writeln('Ma tran da nhap:');
- for i:=1 to n do
- begin
- for j:=1 to m do
- write(A[i,j]);
- writeln;
- end;
- sum := 0;
- sumNT := 0;
- sumHH := 0;
- sumCP := 0;
- max := A[1,1];
- count := 0;
- for i:=1 to n do
- begin
- for j:=1 to m do
- begin
- {tinh tong cac so chan tren hang le}
- if i mod 2 = 1 then
- begin
- if A[i,j] mod 2 = 0 then
- begin
- sum := sum + A[i,j];
- inc(count);
- end;
- end;
- {tinh tong cac so nguyen to}
- if checkNT(A[i,j]) then sumNT := sumNT + A[i,j];
- {tinh tong cac so chinh phuong}
- if checkCP(A[i,j]) then sumCP := sumCP + A[i,j];
- {tinh tong cac so hoan hao}
- if checkHH(A[i,j]) then sumHH := sumHH + A[i,j];
- {tim so lon nhat cua ma tran}
- if max < A[i,j] then max := A[i,j];
- end;
- end;
- writeln('TB cac so chan tren cac hang le la: ', sum/count);
- writeln('Tong cac so nguyen to la: ', sumNT);
- writeln('Tong cac so chinh phuong la: ', sumCP);
- writeln('Tong cac so hoan hao la: ', sumHH);
- {in ra cac so max}
- writeln('So lon nhat trong ma tran la ', max, ' o cac vi tri:');
- for i:=1 to n do
- for j:=1 to m do
- if A[i,j] = max then writeln('A[', i , ',', j , ']');
- writeln;
- {sap xep ma tran theo chieu tang dan cua moi hang}
- for i:=1 to n do
- begin
- for j:=1 to m-1 do
- for k:= j+1 to m do
- if A[i,j] > A[i,k] then
- begin
- temp := A[i,j];
- A[i,j] := A[i,k];
- A[i,k] := temp;
- end;
- end;
- writeln('Ma tran sap xep theo chieu tang cua moi hang:');
- for i:=1 to n do
- begin
- for j:=1 to m do
- write(A[i,j]);
- writeln;
- end;
- readln;
- END.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement