Начало
• Объявление целочисленной переменной со значением 1
• Объявление переменной с плавающей точкой со значением 1.4
• Присвоение значения переменной а равное 1.4 * 1 + (1/1.4) [2.1142857142857143]
• k?
• Вывод а (2.1142857142857143)
Конец
<u>PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
var n:=ReadInteger('Количество строк/столбцов в таблице:');
var a:=MatrRandom(n,n,0,1);
a.Println(2); Writeln(2*a.ColCount*'-');
// 1
var k:=0;
for var i:=0 to a.RowCount-1 do
for var j:=0 to a.ColCount-3 do
if (a[i,j]=0) and (a[i,j+1]=0) and (a[i,j+2]=0) then begin
k+=1; break
end;
Writeln('1: ',k);
// 2
k:=0;
for var j:=0 to a.ColCount-1 do
if (a[0,j]=0) and (a[1,j]=1) then begin
var (i,flag):=(2,True);
while i<=a.RowCount-2 do begin
if not ((a[i,j]=0) and (a[i+1,j]=1)) then
begin flag:=False; break end
else i+=2
end;
if flag then k+=1
end
else
if (a[0,j]=1) and (a[1,j]=0) then begin
var (i,flag):=(2,True);
while i<=a.RowCount-2 do begin
if not ((a[i,j]=1) and (a[i+1,j]=0)) then
begin flag:=False; break end
else i+=2
end;
if flag then k+=1
end;
Writeln('2: ',k);
// 3
var r0:=a.Rows.Where(row->row.All(t->t=0)).Count;
var c1:=a.Cols.Where(col->col.All(t->t=1)).Count;
Writeln('3: Нулевых строк ',r0,', единичных колонок ',c1)
end.
<u>Пример</u>
Количество строк/столбцов в таблице: 4
1 1 0 1
0 0 0 1
1 1 1 1
0 1 1 1
--------
1: 1
2: 1
3: Нулевых строк 0, единичных колонок 1
Задача № 1)
Код программы получился довольно таки большой , но можно сам файл *.pas Закинуть в интернет и оттуда скачать.
Задача №2)
uses crt;
var m:array[1..100,1..100] of integer;
i,i1,j,str,stb,temp:integer;
begin
clrscr;
writeln('Пожалуйста введите число строк массива: '); readln(str);
writeln('Пожалуйста введите число Столбцов массива: '); readln(stb);
clrscr;
writeln('Массиа из ',str,' строк, и из ',stb,' столбцов успешно создан!');
<span>writeln;
for i:=1 to str do
begin
for j:=1 to stb do
begin
m[i,j]:=random(80)+1;
write(m[i,j]:3,' ');
end;
writeln;
end;
writeln;
writeln(' отсортирован по убыванию');
writeln;
for i1:=1 to str do
for i:=1 to str-1 do
for j:=i+1 to str do
if m[i1,i]<m[i1,j] then begin temp:=m[i1,i]; m[i1,i]:=m[i1,j]; m[i1,j]:=temp;end;
writeln;
for i:=1 to str do
begin
for j:=1 to stb do
begin
write(m[i,j]:3,' ');
end;
writeln;
end;
readkey;
<span>end.
Запускаешь водишь строк и столбцов после нажимаешь Enter программы сделает своё дело</span></span>