• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Program, który masz liczyć sumę liczb, których suma cyfr jest parzysta

Object Storage Arubacloud
0 głosów
1,377 wizyt
pytanie zadane 26 listopada 2017 w Java przez must Bywalec (2,980 p.)

Witam, postanowiłem napisać sobie program, który będzie zliczał te liczby, których suma cyfr jest parzysta, dopoki nie wpiszemy liczby "stoper", ktora zatrzyma program.

Mam bardzo dziwny problem, otóż gdy wpiszemy jakies najpierw jakąś liczbe, ktorych suma cyfr jest parzysta, pozniej kolejna i tak dalej, to program wszystko ladnie zlicza, jednak gdy najpierw wpiszemy nieparzysta, pozniej parzysta to program zaczyna wariować i suma wychodzi 0 nie wiedzieć czemu(badz parzysta, parzysta pozniej nieparzysta i znow parzysta i znow mu odwala). Nie mam już pomysłu co tutaj zmienić.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        int stoper;
        int suma = 0;
        int wprowadzanaLiczba;
        int sumacyfr = 0;
        int liczba = 0;
        Scanner get = new Scanner(System.in);
        System.out.println("podaj stoper");
        stoper = get.nextInt();
        do {

            System.out.println("Podaj liczbe, ktora chcesz zsumować");
            int x = get.nextInt();
            wprowadzanaLiczba = x;
            while (x != 0) {
                liczba = x % 10;
                sumacyfr = sumacyfr + liczba;
                x = x / 10;
            }

            if (wprowadzanaLiczba != stoper && sumacyfr % 2 == 0) {
                suma += wprowadzanaLiczba;

            }


        }
        while (stoper != wprowadzanaLiczba);
        System.out.println(suma);

    }
}

Dziekuje za kazda odpowiedz. 

3 odpowiedzi

+1 głos
odpowiedź 26 listopada 2017 przez LockeLamora Użytkownik (740 p.)

Spróbuj dodać do tej pętli while (x != 0)
 

System.out.println("SUMA CYFR ="+sumacyfr);

i zobacz co tam się dzieje :)

komentarz 26 listopada 2017 przez must Bywalec (2,980 p.)
kurcze, myslalem ze to sie zeruje za kazdym razem ;p
+1 głos
odpowiedź 26 listopada 2017 przez Mateusz51 Nałogowiec (28,180 p.)
Nie zerujesz suma cyfr przed kazdym czytaniem nowej
komentarz 26 listopada 2017 przez must Bywalec (2,980 p.)

myslalem, ze to sie jakos automatycznie zeruje, dodalem warunek 

do {
            sumacyfr = 0;

i teraz działa :D

komentarz 26 listopada 2017 przez must Bywalec (2,980 p.)
jezeli dasz rade zerknac tam jeszcze na moje inne pytanie w tym temacie, to bylbym wdzieczny;p
0 głosów
odpowiedź 26 listopada 2017 przez must Bywalec (2,980 p.)

W takim razie, jezeli tam sie niezeruje, to dlaczego tutaj sie zeruje :P To jest moj inny program, tyle ze w C i zrobilem go za pomoca petli while a nie do while


#include <stdio.h>
#include <stdlib.h>

int main()
{
    int stoper,x;
    int sumacyfr = 0;
    int cyfra=0;
    int suma= 0 ;
    int liczba=0;
    double srednia=0;
    int wprowadzonaLiczba =0;
    printf("Podaj stoper\n");
    scanf("%d",&stoper);
    printf("Podaj liczbe\n");
    scanf("%d",&wprowadzonaLiczba);
    x = wprowadzonaLiczba;
    while(x!=stoper)
    {

        while(x!=0)
        {

            cyfra = x % 10;
            sumacyfr  = sumacyfr+cyfra;
            x = x/ 10;
            if(x==0)
            {
                if(sumacyfr%2==0)
                {
                    suma = suma + wprowadzonaLiczba;
                    liczba++;
                }
            }
        }


        printf("Podaj nastepna liczbe\n");
        scanf("%d",&wprowadzonaLiczba);
        x = wprowadzonaLiczba;
    }


    if(liczba==0)
        printf("Nie ma sredniej");
    else
    {
        double srednia = ((double)suma/(double)liczba);
        printf("%lf", srednia);
    }
    return 0;
}

Podobne pytania

0 głosów
2 odpowiedzi 808 wizyt
pytanie zadane 20 marca 2019 w C i C++ przez abcd Początkujący (290 p.)
0 głosów
1 odpowiedź 578 wizyt
pytanie zadane 19 lutego 2020 w Java przez lucyliu Początkujący (370 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...