Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

C++ - Odejmowanie liczb zapisanej w tablicy jednowymiarowej

Piotr160292 25 Maj 2013 17:56 3627 13
  • #1 25 Maj 2013 17:56
    Piotr160292
    Poziom 36  

    Witam, w jaki sposób należy przerobić ten program, aby poprawnie odejmował liczby?

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    Kombinowałem trochę z tym programem, jednak moje próby skończyły się powrotem do wyjścia, ponieważ program wyświetlał mi wyniki z kosmosu wzięte...

    0 13
  • #2 25 Maj 2013 18:06
    leoha
    Poziom 16  

    Co od czego chcesz odejmować jeżeli masz n liczb w tablicy n-wymiarowej?

    0
  • #3 25 Maj 2013 18:18
    Piotr160292
    Poziom 36  

    Czyli co, nie da rady to w ten sposób zrobić i muszę zdefinować mu tablicę o konkretnej wilekości?

    0
  • #5 25 Maj 2013 18:33
    Piotr160292
    Poziom 36  

    No tak, racja. Myślałem nad tym, aby liczby były odejmowane w kolejności ich wprowadzenia.

    0
  • #6 25 Maj 2013 18:45
    leoha
    Poziom 16  

    Dalej nie rozumiesz.... Przeczytaj posty wyżej i zastanów się nad odpowiedzią.

    0
  • #9 29 Maj 2013 22:23
    Piotr160292
    Poziom 36  

    Po prostu chodziło mi o to, że program pobierał jedną liczbę, pomimo podania, że ma pobrać klika i wywalalo mi liczbę wyssaną z palca, ale już sobie poradziłem - po prostu kapnąłem, że w pętlach for miałem licznik mniejszy od tablicy i dlatego wywalało bzdury. Mam tylko jeszcze jeden problem, ponieważ jak każę odjąć 24 od 2, to pokazuje mi -26 i nie bardzo mogę dojść gdzie jest błąd. Kod prezentuje się następująco:

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    Żeby nie spamować klikoma tematami, poruszę jeszcze jeden problem, bo niejako jest powiązany z głównym. Generalnie powyższy kod to jest zalążek tego, co tworzę, a tworzę a'la kalkulator z menu na case'ie, który dodatkowo po wykonaniu wybranego działania i zwróceniu wyniku prosi o naduszenie klawisza, czyści ekran i wraca do menu i z tym programem mam jeszcze taki problem, że zadeklarowałem sobie tak jak powinno być za namespacem funckje i za funkcjami funkcję główną i kompilator czepia się, że nie możgę zadeklarować funkcji main przed klamrą rozpoczęcia kodu, a dokładnie błąd brzmi:[Error] a function-definition is not allowed here before '{' token i dodatkowo wywala mi błąd expected } at end of input i problem jest w tym, że wszystko sprawdzałem i niby mam wszystko domknięte. Dla ułatwienia może udostęnię cały kod:
    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0
  • #10 30 Maj 2013 17:29
    beluosus
    Poziom 25  

    Piotr160292 napisał:
    jak każę odjąć 24 od 2, to pokazuje mi -26
    Nigdzie nie każesz odjąć 24 od 2:
    Piotr160292 napisał:
    Kod: cpp
    Zaloguj się, aby zobaczyć kod
    Czyli rozpisując:
    1) odejmij = 0 - 24 => -24
    2) odejmij = -24 - 2 => -26
    Błędu w programie nie ma, tylko w logice i tu Ci nie mogę pomóc, bo nie wiem co chcesz osiągnąć. Od pierwszej podanej liczby chcesz odjąć wszystkie pozostałe? Wtedy ustaw zmienną odejmij na tab1[0] i iteruj od i=1, reszta taka sama.

    Co do drugiego błędu: nie masz nawiasu zamykającego switch. Jakbyś formatował kod po ludzku to byłoby widać na pierwszy rzut oka. Pamiętaj też o dodaniu sekcji default do switch.

    0
  • #11 30 Maj 2013 17:52
    Piotr160292
    Poziom 36  

    Dokładnie, program ma działać w taki sposób, że pobiera z klawiatury ilość liczb, wpisuje do tablicy i wszystkie odejmuje.

    0
  • #12 30 Maj 2013 20:27
    leoha
    Poziom 16  

    Piotr160292 napisał:
    wszystkie odejmuje.


    Już tłumaczyliśmy ci, że musisz jednoznacznie napisać co od czego chcesz odejmować.
    To tak jakbym ci teraz powiedział: masz cztery liczby: 4,5,6,7. Odejmij wszystkie.
    O ile "dodaj wszystkie" jest w miarę jednoznacze o tyle z odejmowaniem już nie.

    0
  • #13 30 Maj 2013 21:16
    Piotr160292
    Poziom 36  

    Chodzi mi o to, że od pierwszej chcę odjąć pozostałe.

    0
  • #14 30 Maj 2013 21:24
    leoha
    Poziom 16  

    No od razu lepiej.
    Wiec pseudokod juz po zaladowaniu do tablicy n liczb to mniej wiecej tak:

    Code:
    int wynik = tablica[0];
    
    for (i = 1; i < rozmiarTablicy; ++i) {
        wynik -= tablica[i];
    }
    return wynik;

    0