Strona 1 z 1

Program sumujący liczby w C++

: 13 cze 2010, o 10:57
autor: bazilazi
Mam problem z napisaniem programu do zadania

"Napisz program sumujcy liczby zadawane przez użytkownika tak długo, aż suma liczb dodatnich nie będzie równa wartości bezwzględnej z sumy liczb ujemnych."

Domyślam się, że należałoby użyć pętli. Próbowałem podchodzić do tego zad. kilkukrotnie ale bezskutecznie.
Proszę o (może nie odrazu gotowy kod ale) jakas podpowiedź

Program sumujący liczby w C++

: 13 cze 2010, o 11:21
autor: nerdzio
Robisz sobie dwie zmienne oznaczające sumy liczb dodatnich i ujemnych. Teraz w pętli przyjmujesz liczby tak długo aż te zmienne będą równe, żeby zrobić wartość bezwzględną użyj abs() z cmath. W pętli oczywiście sprawdzasz czy liczba jest dodatnia czy ujemna i odpowiednio ją dodajesz do którejś z wcześniej wspomnianych zmiennych. powodzenia

Program sumujący liczby w C++

: 13 cze 2010, o 12:11
autor: bazilazi
Niestety dalej nie mogę sobie poradzić z problemem.
Mógłbym prosić jednak o podpowiedź w postaci kodu?

Program sumujący liczby w C++

: 13 cze 2010, o 12:42
autor: soku11
To już nie będzie podpowiedź, tylko rozwiązanie. Liczysz na gotowca? Trochę inicjatywy, bo ten program tak na oko będzie miał z 30 linii kodu max...

Pozdrawiam.

Program sumujący liczby w C++

: 13 cze 2010, o 16:55
autor: bazilazi
Od kilku dni staram się znaleźć rozwiązanie.
Rozumiem, że potrzebuję dwóch zmiennych np.

Kod: Zaznacz cały

int a, b;

oraz, że muszę napisać warunek (coś w stylu)

Kod: Zaznacz cały

if (a > 0) // jeżeli liczba jest większa od zera, to dodaj ją do dodatnich
{
 ... 
}
else // jeżeli nie, to do ujemnych
{
 ...
}
W którymś miejscu musiałbym także porównać obie zmienne

Kod: Zaznacz cały

a = b
// lub
a + b == 0
Nie mam innej koncepcji na napisanie tego programu. Może źle do tego podchodzę i dlatego sprawia mi to tyle trudności.
Proszę o jakieś wskazówki.

Program sumujący liczby w C++

: 13 cze 2010, o 17:12
autor: Althorion
Program w Pythonie. Spróbuj zrozumieć i przepisać do C:

Program sumujący liczby w C++

: 14 cze 2010, o 00:38
autor: kadiii
bazilazi pisze:Może źle do tego podchodzę i dlatego sprawia mi to tyle trudności.
Trafiłeś w sedno. Nie znasz podstaw składni a chcesz pisac programy. NIe tędy droga. najpierw przerób jakiś krótki kurs programowania a potem dopiero programuj. To tak jakbyś miał do zrobienia program Hello world i powiedział: no wiem mniej więcej jak to ma być, gdzies musi być miejsce gdzie napiszę Hello world. Podstawy, podstawy, podstawy....

Program sumujący liczby w C++

: 14 cze 2010, o 19:58
autor: bazilazi
Znam podstawy składni.
Nie potrafiłem ich jednak w odpowiedni sposób wykorzystać.

Kod: Zaznacz cały

#include <iostream>

using namespace std;

int main ()
{
	int dodatnia = 0, ujemna = 0, liczba = 0;

	cout << "Program sumujacy liczby zadawane przez uzytkownika tak dlugo, " << endl;
	cout << "az suma liczb dodatnich nie bedzie rowna wartosci bezwzglednej ";
	cout << "z sumy liczb ujemnych.
" << endl;

	cout << "Podaj liczbe (dodatnia lub ujemna): ";
		cin >> liczba;
	
	if(liczba > 0)
	{
		dodatnia = dodatnia + liczba;
	}
	else
	{
		ujemna = ujemna + liczba;
	}

	while(dodatnia != ujemna * -1)
	{
		cout << "Podaj liczbe (dodatnia lub ujemna) ponownie: ";
			cin >> liczba;
		
		if(liczba > 0)
		{
			dodatnia = dodatnia + liczba;
		}
		else
		{
			ujemna = ujemna + liczba;
		}
			
			if(dodatnia == ujemna * -1)
			{
				cout << dodatnia << " = " << ujemna * -1 << endl;
			}
			else
			{
				cout << dodatnia << " != " << ujemna * -1 << endl;
			}
	}

	cout << "Wcisnij dowolny klawisz i ENTER aby zamknac. 
";
	
char koniecProgramu;
cin >> koniecProgramu;
return 0;
}

Program sumujący liczby w C++

: 15 cze 2010, o 14:42
autor: soku11

Kod: Zaznacz cały

#include <iostream>
#include <cstdlib>
using namespace std;


int main()
{
  int sumaDodatnich=0;
  int sumaUjemnych=0;

  int liczba=0;
  do
  {
    cout<<"Podaj liczbe: ";
    cin>>liczba;
    if(liczba%2==0)
      sumaDodatnich+=liczba;
    else
      sumaUjemnych+=liczba;
  }
  while(sumaDodatnich!=abs(sumaUjemnych));

  return EXIT_SUCCESS;
}

Rzeczywiście strasznie trudne...
Pozdrawiam.

Program sumujący liczby w C++

: 15 cze 2010, o 17:22
autor: nerdzio
soku11 w ifie chyba powinno być >0, bo tego modulo to nie rozumiem , ale pewnie ci się tak machnęło z rozpędu

Program sumujący liczby w C++

: 15 cze 2010, o 20:25
autor: bazilazi
Rzeczywiście strasznie trudne...
Jestem początkującym, każdy od czegoś zaczynał.
Nie rozumiem skąd to wywyższanie się.
Znam podstawową składnię C++ ale nie potrafiłem przełożyć treści zadania na kod.
(Jestem nowy na tym forum i może dlatego dziwi mnie takie podejście.)

Mimo wszystko wielkie dzięki za pomoc.

Program sumujący liczby w C++

: 16 cze 2010, o 14:47
autor: kadiii
NIe ma sie co dąsać czy obrażać - nikt raczej nie ma tu takiego zamiaru. Jeżeli masz takie problemy a znasz składnie to proponuję wykonywać zawsze na kartce kroki swojego programu - kolejne wartości daej zmiennej w danym obiegu. Będziesz widział czy twój program zmierza do poprawnego wyniku czy moze niekoniecznie. Gwarantuję, że jak troche poćwiczysz i nabierzesz wprawy to nie będziesz miał problemu z takimi zadaniami. Sam sie będziesz śmiał i mówił : Ale to było strasznie łatwe". Pozdrawiam i życzę owocnej pracy(i zabawy) z programowaniem.

Program sumujący liczby w C++

: 17 cze 2010, o 10:53
autor: soku11
Rzeczywiście powinno być:

Kod: Zaznacz cały

    if(liczba>0)
      sumaDodatnich+=liczba;
    else
      sumaUjemnych+=liczba;
Jak pisałem jakimś cudem ubzdurałem sobie, że liczba ma być parzysta i nieparzysta (mimo poprawnego nazwania zmiennych - dziwne). Dzięki za poprawkę

Nie chciałem się wywyższać. Po prostu gdybyś sobie to rozpisał, to byś otrzymał taki sam kod bez pytania na forum (no ewentualnie oprócz pytania o jakąś funkcję do liczenia modułu - chociaż ją też można napisać samemu).

Pozdrawiam.

Program sumujący liczby w C++

: 2 lip 2010, o 17:26
autor: Laurearel
"Napisz program sumujcy liczby zadawane przez użytkownika tak długo, aż suma liczb dodatnich nie będzie równa wartości bezwzględnej z sumy liczb ujemnych."

1. stwórz zmienne i zainicjuj : sum_dod = 0 ,sum_uj = 0
2. Rób :
{
3. wczytaj a
4. sprawdź czy a jest większe od zera, jeśli jest to sum_dod = sum_dod +a , w przeciwnym razie sum_uj = sum_uj + a
} dopóki sum_dod różne od abs(sum_uj) , gdzie abs jest funkcją zwrającą wartość bezwzględną (to jest chyba banalne)

A kod napisz se sam ; ]