[C++] Sumowanie liczb parzystych
    Zaloguj FAQ  •  Szukaj    


Obecny czas: 09 Lut 2012, 15:14

Pomysł na Biznes to tylko krok do Twojego sukcesu. Sprawdź jak łatwo zostać milionerem.




Napisz nowy temat Odpowiedz  [ 2 posty(ów) ] 
Autor Wiadomość
 
PostWysłany: 19 Gru 2009, 14:22 
Offline

Dołączenie: 24 Mar 2009, 19:30
Posty: 29
Witam, co tutaj jest źle? Program ma działać w ten sposób, że ma sumować liczby parzyste. Ja podaje ilość liczb, które chce zsumować i liczby do zsumowania (sumować ma tylko parzyste, nieparzyste pomijać).

Czyli ja deklaruje, że chce podać 5 liczb;
Podaje 1,2,7,3,4
Sumowane są tylko parzyste 2+4=6

Kod:
#include <cstdlib>
#include <iostream>

using namespace std;

int main()

{
int a;
int b;
int suma;


cout<<"Podaj ilosc liczb ktore chcesz zsumowac";
cin>>a;

for (int i=0; i<a; i++)
{
cout<<"Podaj liczbe";
cin>>b;
}
suma=0;

if (b%=2)
{
suma=suma+b;
cout<<"Suma podanych liczb wynosi";
cout<<suma;
}
else
cout<<"Liczba nie jest parzysta";

    system("PAUSE");
    return EXIT_SUCCESS;
}


 Profil E-mail  
    WindowsVistaFirefox

   
 
PostWysłany: 20 Gru 2009, 11:01 
Offline
Awatar użytkownika

Dołączenie: 13 Kwi 2009, 19:58
Posty: 28
Miejscowość: Kwidzyn
Cóż, trochę pokombinowałem, ale wydaje mi się, że znalazłem rozwiązanie. :-) Oto twój kod z moimi modyfikacjami:

Kod:
#include <conio.h> // umożliwia użycie funkcji getch() która zamknie program po nacisnieciu dowolnego klawisza
#include <iostream>

using namespace std;

int main()

{
int a;
int b;
int suma;


cout<<"Podaj ilosc liczb ktore chcesz zsumowac: ";
cin>>a;
suma=0;
for (int i=0; i<a; i++)
{
cout<<"Podaj liczbe: ";
cin>>b;

if (b % 2 != 1) // Jeżeli reszta z dzielenia liczby b przez 2 jest różna od 1 wtedy liczba jest parzysta
{
suma=suma+b;
}
else
cout<<"Liczba nie jest parzysta\n";
}
    cout<<"\nSuma podanych liczb wynosi: ";
    cout<<suma;
    getch();
}


Po pierwsze problem tyczył się twojego sposobu sprawdzania, czy liczba jest parzysta, czy nie. Ja zastosowałem sposób "Jeżeli reszta z dzielenia podanej przez użytkownika liczby "b" przez 2 jest różna od 1 wtedy liczba jest parzysta. W przeciwnym wypadku nieparzysta". Poza tym warunek if który sprawdza parzystość liczby wstawiłem w pętle for. Kiedy użytkownik poda już wszystkie liczby wtedy już poza for'em pokarze się suma liczb parzystych. Zmieniłem także sposób zamknięcia programu. Zastosowałem bibliotekę conio.h i funkcję getch() która nie pokazuje tego głupiego napisu o zamknięciu programu. ;-P

W sumie to by było na tyle. :-D Wstępnie zacząłem testować program i działał jak należy. Jeżeli pojawią się jakieś problemy proszę mnie poinformować. Ostatnio ze względu na brak czasu spowodowanym obowiązkami szkolnymi nie programowałem w C++ a na co dzień w szkole mam Pacala więc możliwe, że takie problemy się pojawią. ;]

Aha i na przyszłość zanim wrzucisz kod popracuj nad jego estetyką tzn. przerzucaj komunikaty do nowych wierszy itp. bo przez to był bardzo nieczytelny i miałem początkowo problemy z połapaniem się o co biega.


 Profil E-mail  
    WindowsXPFirefox
Wyświetl posty z poprzednich:  Sortuj według  
Napisz nowy temat Odpowiedz  [ 2 posty(ów) ] 

Ciekawe tematy: Biznes reklamowy:D oraz Logistyka światowych przedsiębiorstw.






Suknie Ślubne na tę wyjątkową chwilę. Zapraszamy!

phpBB skin developed by: John Olson Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group