Prosty programik, prosba o pomoc

0

Witam, przychodzę do Was z prośba o pomoc w napisaniu tego programu. Poklikalbym cos samemu, niestety zepsuł mi się komputer a na telefonie byłoby to bardzo uciążliwe. Dziekuje za pomoc

0

Spoko napisz kod na kartce zrob zdjecie i wklej na forum to moze ktos Cie poratuje.

0

Wlasnie problem w tym, ze dopiero sie ucze, wiec gdybym to robil na komputerze to byloby to metoda prob i błędów, wiec wątpię, ze ktokolwiek by sie w tym połapal 😑

0

Spróbuj na kompie, jak ci nie będzie działać to daj go w znaczniku dostępnym pod guzikiem z </>. Ktoś ci na pewno napisze gdzie są błędy. Obecnie wygląda to raczej tak jakbyś chciał żeby ktoś zrobił za ciebie zadanie domowe, a takim za darmo nie pomagamy (a jak nie za darmo to pisz w dziale ogłoszenia drobne)

8

To nie te czasy, że bez komputera nic nie zrobisz. Dla takiego prostego programu możesz odpalić jakiś kompilator online na komórce, np.:
https://repl.it/languages/python3

0

A = [2, 3, 4, 5, 7, 9]
B = [1, 3, 3, 6, 9]
C = [1, 3, 3, 6, 99]

def merge(list_a, list_b):
  
    max_iterator = get_max_iterator(len(list_a), len(list_b))
    
    merged_lists = get_merged_lists(list_a, list_b, max_iterator)
    bubble_sort(merged_lists)

    return merged_lists


def get_max_iterator(length_a, length_b):
    if length_a > length_b:
        return length_a
    else:
        return length_b

def get_merged_lists(list_a, list_b, max_iterator):
    i = 0
  
    merged_lists = [] * len(list_a * len(list_b))
    while i < max_iterator:
        if is_iterator_in_list_index_range(i, len(list_a)):
            merged_lists.append(list_a[i])
        if is_iterator_in_list_index_range(i, len(list_b)):
            merged_lists.append(list_b[i])
        i = i + 1
    return merged_lists

def is_iterator_in_list_index_range(iterator, index_range):
    if iterator >= index_range:
        return False
    else:
        return True

def bubble_sort(sortable_list):
    for pass_num in range(len(sortable_list)-1, 0, -1):
        for i in range(pass_num):
            if sortable_list[i] > sortable_list[i+1]:
                temp = sortable_list[i]
                sortable_list[i] = sortable_list[i+1]
                sortable_list[i+1] = temp

print(merge(A, B))
print(merge(B, A))
print(merge(A, C))

Pewnie mozna 3 razy krócej, prawda? Ale tak jak mówiłem, nie umiem tego jezyka

2

??? przecież te listy już są posortowane.

A = [2, 3, 4, 5, 7, 9]
B = [1, 3, 3, 6, 9]
C = [1, 3, 3, 6, 99]


def merge(a, b):
    wynik = []
    while len(a) > 0 and len(b) > 0:
        if a[0] <= b[0]:
            wynik.append(a[0])
            a = a[1::]
        else:
            wynik.append(b[0])
            b = b[1::]
    if len(a) > 0:
        for x in a:
            wynik.append(x)
    if len(b) > 0:
        for x in b:
            wynik.append(x)
    return wynik


print(merge(A, B))
print(merge(B, A))
print(merge(A, C))

1 użytkowników online, w tym zalogowanych: 0, gości: 1