• 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

0 głosów
997 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,220 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 382 wizyt
pytanie zadane 20 marca 2019 w C i C++ przez abcd Początkujący (290 p.)
0 głosów
1 odpowiedź 168 wizyt
pytanie zadane 19 lutego 2020 w Java przez lucyliu Początkujący (350 p.)

86,427 zapytań

135,187 odpowiedzi

300,309 komentarzy

57,184 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...