Ввод данных заменен на инициализацию от датчика псевдослучайных чисел на интервале [-45;45]. Если нужен именно ввод, строку A(I)=RND... замените на INPUT(A(I))
CONST n = 10 DIM a(1 TO n, 1 TO n) AS INTEGER RANDOMIZE TIMER CLS PRINT "Матрица A" FOR i = 1 TO n FOR j = 1 TO n a(i, j) = INT(90 * RND - 45) PRINT USING ""; a(i, j); NEXT j PRINT NEXT i k = 0 FOR i = 1 TO n IF a(i, i) > 0 THEN k = k + 1 NEXT i PRINT PRINT "Количество положительных на ГД равно "; k
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк в массиве:'); var m:=ReadInteger('Количество столбцов в массиве:'); Writeln('*** Исходный массив [',n,',',m,'] ***'); var a:=MatrRandom(n,m,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); Writeln('Кол-во положительных: ',a.ElementsByRow.Where(x->x>1).Count) end.
program sam;
uses crt;
type tmasi=array[1..50]of integer;
var ch:integer;
ss,s,k,i:byte;
z:tmasi;
begin
write('Ââåäè ÷èñëî:'); readln(ch);
i:=0;
s:=0;
ss:=0;
while ch <>0 do
begin
inc(i);
z[i]:=ch mod 10;
ch:=ch div 10;
end;
k:=i;
for i:=1 to k do
if z[i]=4 then inc(s)else
if z[i]=7 then inc(ss);
if (s=0)and(ss=0)then writeln(' ÷èñëå íåò ÷èñåë 4 è 7') else
if (s<>0)and(ss<>0)then writeln(' ÷èñëå ïðèñóòñâóþò ÷èñëà 4 è 7');
if ((s<>0)and(ss=0))or((s=0)and(ss<>0))then writeln(' ÷èñëå ïðèñóòñòâóþò ëèáî òîëüêî 4 ëèáî òîëüêî 7');
end.
Объяснение: