Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

[Zadatak] C++ polje zadatak.

[es] :: C/C++ programiranje :: [Zadatak] C++ polje zadatak.

[ Pregleda: 1983 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Topnik_15
Pokusavam

Član broj: 172528
Poruke: 83
92.36.242.*



Profil

icon [Zadatak] C++ polje zadatak.08.12.2011. u 14:59 - pre 149 meseci
Dobar dan.
Zadatak je da iscitam 10 brojeva, nadjem njihovu artimeticku sredinu i da na izlazu dobijem koji je od unesenih brojeva najblizi artimetickoj sredini.
Za sad imam ovo:

Code:
for ( int i = 1; i <= 10; i++){
        cout << "Unesi " << i << " broj polja:";
        cin >> polje[i];
        zbir += polje[i];
        brojac++;
}

float AS = static_cast<float>(zbir)/brojac;
cout << "Ukupan zbir brojeva: " << zbir << endl;
cout << "Artimeticka sredina: " << AS << endl;
float broj = round(AS);

for ( int i = 1; i <= 10; i++){
        if ( polje[i] == broj ){
                cout <<" Polje[" << i << "] = " << polje[i] << " a taj broj je ujedno i najblizi artimetickoj sredini." << endl;
        }
}


Da li moze netko dopuniti ili objasnuti kako da dobijem na izlazu broj koji je od uneseni brojeva najblizi artimetickoj sredini ?
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: [Zadatak] C++ polje zadatak.08.12.2011. u 15:24 - pre 149 meseci
Moraš da nađeš broj koji je najbliži datom broju, a ne koji je jednak datom broju. Ne zna se koji je broj najbliži sve dok ne prođeš kroz celu listu. Ako je dat broj N onda je njemu najbliži onaj broj X koji čini da je abs(N - X) najmanje. Znači, imaš petlju i tražiš minimalan float min_diff = abs(N - X). Kad god nađeš abs(N - X) koji je manji od postojećeg min_diff onda zapamtiš novi min_diff, a zapamtiš i X. Na kraju, to jest posle petlje ispiši X. Pre petlje postavi min_diff na neki jako veliki broj. Može recimo konstanta FLT_MAX koja je definisana u #include <cfloat>, odnosno #include <float.h>.
 
Odgovor na temu

[es] :: C/C++ programiranje :: [Zadatak] C++ polje zadatak.

[ Pregleda: 1983 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.