0287 – Verif Ord
Cerinţa
Se dau numar_vectori şiruri cu elemente numere întregi. Să se verifice despre fiecare dacă este ordonat crescător.
Date de intrare
Programul citește de la tastatură numărul numar_vectori; iar apoi numar_vectori şiruri – pentru fiecare, se citeşte mai întâi numărul de valori numar_elemente, apoi valorile din şir.
Date de ieșire
Programul afișează pe ecran n valori 0 sau 1, separate prin spaţii. A k-a valoare este 1, dacă al k-lea şir este ordonat crescător, respectiv 0 dacă şirul nu este ordonat crescător.
Restricţii şi precizări
- numar_elemente, numar_vectori ∈ ℕ
- 1 ⩽ numar_vectori ⩽ 10
- 1 ⩽ numar_elemente ⩽ 500
- -10000 < element vector < 10000
- element vector ∈ ℤ
Exemplu
- Intrare
- 3
- 9
- 5
- -5
- 8
- -2
- -7
- 0
- -9
- 10
- 7
- -6
- -5
- -4
- 0
- 2
- 5
- 8
- 5
- 2
- 7
- 8
- 10
- 10
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 0 1 1
- Intrare
- 3
- 2
- 15
- 10
- 0
- Ieșire
- Datele introduse nu corespund restricțiilor impuse.
- Intrare
- 2
- 4
- -25
- abc
- 10
- 15
- Ieșire
- Datele introduse nu corespund restricțiilor impuse.
Rezolvare
Rezolvare ver. 1
<syntaxhighlight lang="python" line>
- 0287 - Verif Ord
def validare_date_numar_vectori(numar):
if numar.isdigit() and 1 <= int(numar) <= 10: return True else: return False
def validare_date_numar_elemente(numar):
if numar.isdigit() and 1 <= int(numar) <= 500: return True else: return False
def validare_date_vector(vector):
for numar in vector: if numar.startswith('-') and numar[1:].isdigit() and len(numar) < 6: continue elif numar.isdigit() and len(numar) < 5: continue else: return False return True
def verif_ord(numar_vectori, vector):
flag = [] for indice_vector in range(numar_vectori): if vector[indice_vector] == sorted(vector[indice_vector]): flag.append("1") else: flag.append("0") print(*flag, sep=" ")
if __name__ == "__main__":
numar_vectori = input() vector = [] if validare_date_numar_vectori(numar_vectori): numar_vectori = int(numar_vectori) for numar in range(numar_vectori): numar_elemente = input() if validare_date_numar_elemente(numar_elemente): numar_elemente = int(numar_elemente) vector_aux = [] for indice in range(numar_elemente): vector_aux.append(input()) if validare_date_vector(vector_aux): vector_aux = list(map(int, vector_aux)) vector.append(vector_aux) else: print("Datele de intrare nu corespund restricțiilor impuse.") break else: print("Datele de intrare nu corespund restricțiilor impuse.") break else: print("Datele de intrare corespund restricțiilor impuse.") verif_ord(numar_vectori, vector) else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>