Strona 1 z 1
[C++] Prawe do lewego, lewe do prawego, czyli...
: 17 lis 2013, o 14:22
autor: Ceplusplusik
Witam. Stworzyłem dzisiaj prosty program na wyciąganie wartości największej, minimalnej i tak dalej. Co mnie zaintrygowało?
Kod: Zaznacz cały
int const maxLiczba=10e8;
int const minLiczba=-10e8;
double max = minLiczba;
double min = maxLiczba;
for (i; i<n; i++)
{
cout << "Wprowadz wartosc liczby w danej petli: ";cin>>liczba;
if (liczba>max)
max = liczba;
if (min>liczba)
min = liczba;
suma = suma + liczba;
}
Że gdy wpiszemy zamiast
odwrotnie, czyli
to program totalnie nie orientuje się, co ma w danej chwili zrobić. Wiadomo, od razu poprawka, ale zostaje pytanie: z czego to wynika?
[C++] Prawe do lewego, lewe do prawego, czyli...
: 17 lis 2013, o 15:46
autor: pawel_wr
Trudno cokolwiek rzeczowego powiedzieć,gdy nie ma całości kodu.
Jakiego typu jest zmienna "liczba" albo "suma" ?
Ile wynosi n ?
Popatrz na swój kod,czy twoja pętla for ( w siódmym wierszu ) jest prawidłowa ?
[C++] Prawe do lewego, lewe do prawego, czyli...
: 17 lis 2013, o 17:23
autor: Ceplusplusik
Zamieszczam cały kod. Delikatnie inny od wypisanego powyżej, ale wszystko na tej samej zasadzie, jedynie inny rodzaj pętli i nazwy licznika ("licznik" zamiast "i"):
Kod: Zaznacz cały
#include <iostream>
#include <cmath>
using namespace std;
int main ()
{
int licznik = 0;
int n;
cout << "Wprowadz liczbe okreslajaca, ile razy petla ma sie wykonac: ";cin>>n;
double liczba;
double suma = 0;
const double maxLiczba = 1e8; //stala 10^8
const double minLiczba = -1e8; // -10^8
double max= minLiczba;
double min = maxLiczba;
do
{
cout << "Podaj liczbe: ";
cin >>liczba;
if (liczba==0)
{
break;
}
if (liczba>max)
max=liczba;
if (liczba<min)
min=liczba;
suma += liczba;
licznik++;
} while (licznik<n);
cout << endl << "Suma = " << suma << endl;
cout << endl << "Srednia = " << suma/licznik << endl;
cout << endl << "Max = " << max << endl;
cout << endl << "Min = " << min << endl;
}
[C++] Prawe do lewego, lewe do prawego, czyli...
: 17 lis 2013, o 17:39
autor: Afish
Ceplusplusik pisze:to program totalnie nie orientuje się, co ma w danej chwili zrobić. Wiadomo, od razu poprawka, ale zostaje pytanie: z czego to wynika?
Co znaczy "nie orientuje się"? Jak zrobisz przypisanie na odwrót, to raczej zmieniasz logikę programu, więc trudno oczekiwać braku zmiany działania.
[C++] Prawe do lewego, lewe do prawego, czyli...
: 17 lis 2013, o 18:37
autor: Ceplusplusik
W porządku - więc przypisywanie nie jest przemienne, a do tej pory postępowałem zupełnie na to nie patrząc. Pozdrawiam.