var a, b: integer; begin readln(a, b); writeln(System.Math.Sign(a) = System.Math.Sign(b) ? 'Да' : 'Нет'); end.
Или ̶п̶р̶и̶м̶и̶т̶и̶в̶н̶е̶е̶ проще: var a, b: integer; begin readln(a, b); if (a > 0) then a := 1; if (a = 0) then a := 0; if (a < 0) then a := -1; if (b > 0) then b := 1; if (b = 0) then b := 0; if (b < 0) then b := -1; if (a = b) then writeln('Yes') else writeln('No'); end.
Немного ̶у̶п̶р̶о̶̶щ̶̶ё̶н̶н̶ы̶й̶ оптимизированный вариант: var a, b: integer; begin readln(a, b); if (a > 0) then a := 1 else if (a = 0) then a := 0 else a := -1; if (b > 0) then b := 1 else if (b = 0) then b := 0 else b := -1; if (a = b) then writeln('Yes') else writeln('No'); end.
PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018 Внимание! Если программа не работает, обновите версию!
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.
Пример Количество строк/столбцов в таблице: 4 1 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1
1: 1 2: 1 3: Нулевых строк 0, единичных колонок 1
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку