Opublikowano 13.05.2018 na ten temat Informatyka from Guest

Proste zadanie z c++, proszę o pomoc:)

Mały Przemek kocha prezenty. Jego mama kupiła mu na urodziny dwa łańcuchy tego samego rozmiaru
złożone z łacińskich małych i wielkich liter. Teraz Przemek chce porównać te dwa łańcuchy leksykograficznie.
Wielkości liter nie mają znaczenia, a to znaczy, że litery wielkie i małe są traktowane jednakowo i nie mają
wpływu na porządek. Pomóż Przemkowi zaimplementować algorytm porównujący dwa łańcuchy.

Porządek leksykograficzny (definicja nieformalna)
Oznaczmy:
x1, x2 – prefiksy ciągów
y1, y2 – sufiksy ciągów
(x1, y1) – ciąg pierwszy składający się z prefiksu x1 i sufiksu y1
(x2, y2) – ciąg drugi składający się z prefiksu x2 i sufiksu y2

(x1, y1) ≤ (x2, y2) ⇔ x1 < x2 ∨ (x1 = x2 ∧ y1 ≤ y2)

Można więc powiedzieć, że jakiś ciąg znaków jest mniejszy leksykograficznie:
- gdy jakiś jego prefiks (być może 1-literowy) jest mniejszy niż taki sam prefiks innego ciągu,
- gdy dwa ciągi mają takie same prefiksy, a kolejna litera w pierwszym ciągu jest mniejsza leksykograficznie
niż kolejna litera w ciągu drugim.

Wejście
Każda z dwóch linii wejścia zawiera opis kupionego łańcucha. Opis każdego łańcuchów nie przekracza 100
znaków. Jest pewne, ze oba łańcuchy mają tę samą długość oraz to, że składają się jedynie z małych i wielkich
liter łacińskich.

Wyjście
Jeśli pierwszy łańcuch jest mniejszy leksykograficznie, to na wyjście należy wypisać wartość „-1”. Jeśli oba
łańcuchy są jednakowe, to należy wypisać „0”. Jeśli łańcuch drugi jest mniejszy leksykograficznie, to należy
wypisać „1”.

Przykład 1
Dla danych wejściowych:
aaaa
aaaA
poprawnym wynikiem jest:
0

Przykład 2
Dla danych wejściowych:
abs
Abz
poprawnym wynikiem jest:
-1

Przykład 3
Dla danych wejściowych:
abcdefg
AbCdEfF
poprawnym wynikiem jest:
1

Odpowiedź Guest

Cały kod jest w załączniku