• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Kurs c++ odc.11 Praca domowa kod

Object Storage Arubacloud
–3 głosów
469 wizyt
pytanie zadane 1 marca 2016 w C i C++ przez Nowicjusz89 Obywatel (1,050 p.)

Witam ,mam problem z zadaniem w pracy domowej.Na początek robię 3 liczby a potem dopiero 5.

Mój algorytm a raczej pomysł na niego to :

 

Każdą liczbę podziel przez średnią,i tak która jest bliżej 1 to będzie najbliższa.

Brakuję mi głowy jak napisać aby tą liczbę wyświetlić teraz.

 

 

#include <iostream>

using namespace std;

float a,b,c,g,m,a1,b1,c1;
float srednia,wynik_najblizszej;
int main()
{
    cout <<"Podaj 3 liczb po spacji :";
    cin >>a>>b>>c;

srednia=(a+b+c)/3;
m=srednia;


   cout<<"srednia wynosi :"<<srednia<<endl;

a1=a/srednia; // 
b1=b/srednia;
c1=c/srednia;


g=a1;
if (b1<1)g=b1;
if (c1<1)g=c1;


  cout<<"Tyle wynosi najblizsza liczba :" <<g;


  return 0;
}

 

2 odpowiedzi

0 głosów
odpowiedź 2 marca 2016 przez PietaS Bywalec (2,570 p.)
Proszę podaj dokładną treść zadania.
komentarz 5 kwietnia 2016 przez Gravity Nowicjusz (150 p.)
edycja 5 kwietnia 2016 przez Gravity

Witam.

Nie chce tworzyć nowego tematu, więc pozwolę sobie, odkopać stary.
Polecenie do zadania wyglądała tak:
Trzeba wprowadzić 5 liczb
Wyliczyć z nich średnią
Podać która z liczb jest najbliższa średniej

Mimo że było trzeba było zrobić program dla 5 liczb chciałem zrobić taki który można by łatwo edytować dla innej ilości liczb więc skorzystałem z tablic.


Stworzyłem cuś takiego.

#include <iostream>

using namespace std;

float l[5];
float srednia=0, sr, blis;
float r[5];

int main()
{
    cout << "Wpisz 5 liczb oddzielonych spacja: ";
    cin>>l[0]>>l[1]>>l[2]>>l[3]>>l[4];
        for (int i=0; i<=4; i++)
    {
        srednia=srednia+l[i];
        if(i==4)
        srednia=srednia/(i+1);
    }
    cout<<"Srednia wynosi: "<<srednia<<endl;
    for (int i=0; i<=4; i++)
    {
        r[i]=srednia-l[i];
        if (r[i]<0) r[i]=-r[i];
    }
    sr=r[0];
    blis=l[0];
for (int i=1; i<=4; i++)
{
    if (r[i]<sr)
    {
        r[i]=sr;
        l[i]=blis;
    }
}
cout<<"Liczba najblizej sredniej wynosi: "<<blis;
    return 0;
}

Zamysł jest taki żeby policzyć różnicę danych liczb od średniej a potem sprawdzić którą różnica jest najmniejsza i tą liczbę wybrać. Program dobrze liczby średnią i różnicę ale ostatnia pętla nie chce działać poprawnie. Wykonuje ją teoretycznie tyle razy ile trzeba. To znaczy 4 razy dla pętli for i teoretycznie odpowiednią ilość razy dla pętli if (tak mi się wydaje przynajmniej) ale mimo że warunek jest spełniony to nie wprowadza nowych liczb do zmiennych sr i blis

Mam nadzieję że pomożecie rozwiązać mi mój problem

0 głosów
odpowiedź 2 marca 2016 przez Tomekku Bywalec (2,830 p.)
Bez treści zadania to ciężko, ale z tego, co tu widzę to chcesz wypisać liczbę najbliższą 1, to teraz pomyśl na której liczbie Ci zależało, którą sprawdzałeś i którą wczytałeś (chyba już za bardzo poszedłem) :D

i potem tę liczbę wypisz

Podobne pytania

+1 głos
1 odpowiedź 979 wizyt
0 głosów
2 odpowiedzi 622 wizyt
pytanie zadane 15 listopada 2015 w C i C++ przez Zangariev Początkujący (290 p.)
0 głosów
1 odpowiedź 341 wizyt
pytanie zadane 29 stycznia 2021 w C i C++ przez PoProstuAndrzej Nowicjusz (170 p.)

92,573 zapytań

141,423 odpowiedzi

319,647 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...