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

Kurs C++ odc.11 zadanie - prosiłbym o ocenę kodu 2 .

Object Storage Arubacloud
+1 głos
187 wizyt
pytanie zadane 15 września 2017 w C i C++ przez qlucha Obywatel (1,790 p.)

Dla osób które mają czas .  Przepisałem kod wcześniejszy który poddałem krytyce na forum .Oto on proszę o konstruktywną krytykę osób które mają troche doświadczenia i wolnego czasu . wink 

(Zadanie polega na wpisanu 5 Liczb do tablicy , obliczyć ich średnią i podać Liczby najbliżej średniej)

#include <iostream>

void menu();
float insertNumbers  (float *pointer1, int x);
float doTheMath  (float *pointer1, float *pointer2, int x, float average);
void  checkAndPrintNumbers  (float *pointer1, int x, float average, float smallestDistance);

int main()
{
        float tab[5], subtraction[5], average, difference;

        menu();
        average = insertNumbers(tab, 5);

        std::cout << "\n  srednia = " << average << "\n\n";

        difference = doTheMath(tab, subtraction, 5, average) ;

        checkAndPrintNumbers(tab, 5 , average, difference);


    return 0;
}
/**wyswietlMenu;*/
void menu()
{
    std::cout << "----------------------------------------------------\n" ;
    std::cout << "-- Zadanie : Znajdz Liczbe Najblisza Ich Sredniej --\n" ;
    std::cout << "----------------------------------------------------\n\n";
}
/** wprowadzLiczbyDoTablicyZaPomocaWskaznikaiZwrocSrednia;*/
float insertNumbers (float *pointer1, int x)
{
    float average=0;
    for (int i = 0; i < x; i++) {
        std::cout <<"  Wprowadz " << i+1 << " Liczbe : ";
        std::cin >> *pointer1;
        average += *pointer1;
        pointer1++;
    }
    return average / x;
}
/**przekazOryginalTablicJednaWykorzystajDoObliczenDoDrugiejDokonajZapisu*/
/**iZwrocNajmniejszaWartoscRoznicyDoSredniej*/
float doTheMath (float *pointer1, float *pointer2, int x, float average)
{
     float theSmallestDifference;
     for (int i = 0; i < x; i++) {

            *pointer2 = average - *pointer1;
            if (*pointer2 < 0) *pointer2 *= (-1);

            if (i == 0) theSmallestDifference = *pointer2;
            else if (theSmallestDifference > *pointer2) {
                 theSmallestDifference = *pointer2;
            }
            pointer1++;
            pointer2++;
        }
     return theSmallestDifference;
}
/** koncowaFazaSprawdzajacaRozniceWzgledemSredniejDoJejLiczbSkladowychFiuuu*/
void  checkAndPrintNumbers (float *pointer1, int x, float average, float smallestDistance)
{
        float check;
        int counter = 1;
        for (int i = 0; i < x; i++) {

                if ((*pointer1 + smallestDistance == average)||(*pointer1 - smallestDistance == average)) {

                    if (counter == 1) {

                     std::cout<<"  Liczba najblisza sredniej to " << *pointer1;
                     check = *pointer1;
                     counter++;
                    }

                    if ((counter > 1)&&(check != *pointer1)) std::cout << " i " << *pointer1;

                }
                pointer1++;

        }

        std::cin.get();
        std::cin.get();
}

 

komentarz 16 września 2017 przez QizmoPL Stary wyjadacz (11,440 p.)
komnetarze zbedne, kazda nowa zmienna w nowej lini nie int x, v, a, e; tylko int a; int b; itd

1 odpowiedź

+1 głos
odpowiedź 15 września 2017 przez Ehlert Ekspert (212,670 p.)

Fajnie, że bierzesz sobie rady do serca. Widać mocną poprawę w porównaniu do poprzedniego kodu. Nazewnictwo super (z wyjątkiem doTheMath pointer​​​​​​). Zainteresuj się tym co dobrego jest w std. Array, vector, unique_ptr. 

komentarz 16 września 2017 przez qlucha Obywatel (1,790 p.)

Dzięki za poświęcony czas i ocenę kodu . Doceniam i poszukam nowych informacji odnośnie  , smileyyes         enlightened (Array,  vector,  unique_ptr 

Podobne pytania

0 głosów
1 odpowiedź 523 wizyt
pytanie zadane 22 stycznia 2016 w Rozwój zawodowy, nauka, praca przez Eraos Nowicjusz (140 p.)
0 głosów
1 odpowiedź 188 wizyt
0 głosów
1 odpowiedź 143 wizyt
pytanie zadane 21 listopada 2017 w C i C++ przez Malkow Początkujący (330 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 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!

...