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

Zadanie domowe z kursu Zelenta - odcinek 11

VPS Starter Arubacloud
0 głosów
850 wizyt
pytanie zadane 20 marca 2016 w C i C++ przez Eliro Stary wyjadacz (12,160 p.)

#include <iostream>

using namespace std;

float a,b,c,d,e,x,m,w;
float a1,b1,d1,c1,e1;

int main()
{
    cout << "Podaj 5 liczby rozdzielone spacja: ";
    cin>>a>>b>>c>>d>>e;
    x = (a+b+c+d+e)/5;
    cout << x <<endl;
    a1=x-a;
    b1=x-b;
    c1=x-c;
    d1=x-d;
    e1=x-e;
    cout << "liczba:" <<endl;
    if(a1<0) a1=-a1;
    if(b1<0) b1=-b1;
    if(c1<0) c1=-c1;
    if(d1<0) d1=-d1;
    if(e1<0) e1=-e1;
    m=a1;
    if(m>b1) w=b; m=b1;
    if(m>c1) w=c; m=c1;
    if(m>d1) w=d; m=d1;
    if(m>e1) w=e; m=e1;
    cout << w;
    return 0;
}

Co myślicie o takim rozwiązaniu? Program szuka najbliższej liczby do średniej wszystkich podanych 5. Pisałem to 2h, zastanawiając się nad rozwiązaniem.

4 odpowiedzi

0 głosów
odpowiedź 20 marca 2016 przez Porcupine Nałogowiec (31,560 p.)
wybrane 17 października 2018 przez Eliro
 
Najlepsza
1) Nie używaj zmiennych globalnych, zmienne powinieneś zadeklarować wewnątrz maina

2) 5 liczb to już wystarczająco żeby użyć tablic i pętli - będzie krótsze

3) Zamiast jakichś zmian znaków w C++ jest funkcja fabs(), która zwraca moduł z liczby zmiennoprzecinkowej
komentarz 20 marca 2016 przez Eryk Andrzejewski Mędrzec (164,260 p.)

"Nie używaj zmiennych lokalnych" Chyba globalnych laugh

komentarz 20 marca 2016 przez Porcupine Nałogowiec (31,560 p.)
Tfu! Już edytuje! Taki skrót myślowy mi się wkradł :D jako "nie używaj globalnych, używaj lokalnych"
0 głosów
odpowiedź 20 marca 2016 przez jeremus Maniak (59,720 p.)
1. użyj funkcji abs

2. użyj tablicy i pętli

będzie prościej i uniwersalniej ( a co jak 100 licz , albo 1000 ktoś zażyczy ? )
komentarz 20 marca 2016 przez Porcupine Nałogowiec (31,560 p.)
W tym przypadku fabs(), abs() jest dla liczb całkowitych :)
0 głosów
odpowiedź 20 marca 2016 przez Boshi VIP (100,240 p.)
Każde rozwiązanie oparte na masie warunków jest złe. Myślę, że można to sprawdzić w pęli na spokojnie.
0 głosów
odpowiedź 20 marca 2016 przez Eliro Stary wyjadacz (12,160 p.)
1. Nie znam jeszcze funkcji fabs z odcinków Zelenta, więc chyba logiczne, że miało się obyć bez nich.

2. Pokażcie mi jak to wygląda z tablicami

3. Jak jest różnica między tym rozwiązaniem a z tablicami? Szybkość, czy tylko kwestia czytelności kodu?

Podobne pytania

0 głosów
1 odpowiedź 559 wizyt
0 głosów
1 odpowiedź 275 wizyt
pytanie zadane 7 października 2016 w Nasze projekty przez unbearable Początkujący (450 p.)
+1 głos
1 odpowiedź 809 wizyt

93,006 zapytań

141,972 odpowiedzi

321,254 komentarzy

62,345 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...