Part of the series

Several example codes

~2 min read • Updated Oct 13, 2025

Program Overview

This Python program reads a 2D array and checks whether the sign of each row's elements is sorted in ascending order.
If all rows satisfy this condition, it prints "Yes"; otherwise, it prints "No".


Sign Definition:

  • Negative → -1
  • Zero → 0
  • Positive → +1

Python Code:


def sign(x: int) -> int:
    return -1 if x < 0 else (1 if x > 0 else 0)

def is_sign_sorted(row: list[int]) -> bool:
    signs = [sign(x) for x in row]
    return signs == sorted(signs)

def check_all_rows(matrix: list[list[int]]) -> str:
    for row in matrix:
        if not is_sign_sorted(row):
            return "No"
    return "Yes"

def read_matrix(rows: int, cols: int) -> list[list[int]]:
    print(f"Enter elements for a {rows}×{cols} array:")
    matrix = []
    for i in range(rows):
        row = list(map(int, input(f"Row {i+1}: ").strip().split()))
        if len(row) != cols:
            print("Each row must contain exactly the number of columns.")
            exit()
        matrix.append(row)
    return matrix

# Read dimensions
r = int(input("Number of rows: "))
c = int(input("Number of columns: "))

# Read and check
x = read_matrix(r, c)
result = check_all_rows(x)
print(f"\nCheck result: {result}")

Sample Output:


Input:  
-5 0 3  
-1 1 2  
0 0 1  

Output:  
Check result: Yes

Written & researched by Dr. Shahin Siami