Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Tablice elementy większe od danej liczby. C++


Rekomendowane odpowiedzi

Opublikowano

Witam. 

Mam napisany program i chcę do niego dodać aby wyświetlał ilość i jakie elementy są większe od "srednia". Najlepiej żeby był zrobiony tak jak reszta programu czyli we funkcji void,int czy innej :)

 

Kod programu:

#include <iostream>
#include <iomanip>
using namespace std;

void wczytaj (int *T, int n)
{
 cout<<"Podaj elementy tablicy:"<<endl;
 for (int i=0;i<n;i++)
 {
  cout<<"T["<<i<<"] = ";
  cin>>T[i];
 }
}

void wypisz (int T[], int n)
{
 cout << "\n----------------------------------------\n\n"<<"wczytana tablica:"<<endl;
 for (int i=0;i<n;i++) cout<<setw(7)<<T[i];
}

void wypiszOdwrotnie (int T[], int n)
{
 cout << "\n----------------------------------------\n\n"<<"wczytana tablica w odwrotnej kolejnosci:"<<endl;
 for (int i=n-1;i>=0;i--) cout<<setw(7)<<T[i];
}

int suma (int T[], int n)
{
    int x=0;
    for(int i=0; i<=n-1;i++)
    {
        x+=T[i];
    }
    return x;
}

int maks (int T[], int n)
{
    int maks=T[0];


    for(int i=1; i<n; i++)
    {
    if(T[i]>maks)
        maks=T[i];
    }
    return maks;
}

int mini (int T[], int n)
{
    int mini=T[0];

    for(int i=1; i<n; i++)
    {
    if(T[i]<mini)
        mini=T[i];
    }
    cout << endl;
    return mini;
}

float srednia (int T[], int n)
{
    int x;
    for(int i=0;i<n;i++)
    {
        x+=T[i];
    }
    return x/n;
}
main()
{
 int n;
 cout << "Ile ma byc elementow tablicy?: ";
 cin >> n;
 cout << endl;
 if(n<=0)
    {
    cout << "Nie ma zadnych elementow";
    cout << endl;
    }
 else{
 int T[n];
 wczytaj(T,n);
 wypisz(T,n);
 wypiszOdwrotnie(T,n);
 cout << "\n----------------------------------------\n\n" << "Suma wszystkich elementow wynosi: " << suma(T,n);
 cout << "\n----------------------------------------\n\n" << "Najwieksza liczba: "<<maks(T,n)<<endl;
 cout << "\n----------------------------------------\n\n" << "Najmniejsza liczba: " << mini(T,n)<<endl;
 cout << "\n----------------------------------------\n\n" << "Srednia: " << srednia(T,n)<<endl;
 }
 return 0;
}

Opublikowano

 

Witam. 

 jakie elementy są większe od "srednia". 

 

if(t[i] > srednia)
  cout<<t[i];

Zrobiłeś tyle programu, a nie wiesz, jak wypisać elementy większe od średniej?

Wyświetlał ilość czego?


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Opublikowano

No właśnie jest problem bo pod srednia podstawia mi 1. Chciałem aby również wyświetlało ile ich elementów jest większych od średniej.


Jakby ktoś mógł mi napisać gotową funkcję to byłbym bardzo wdzięczny


Jak próbuję po wykonaniu funkcji srednia wyświetlić ją w innym miejscu np cout << srednia; to pokazuje że jest równa 1

Opublikowano

Nie zauważyłeś, że w funkcji srednia nie nadajesz wartości początkowej zmiennej x? To może być jest przyczyną błędów.

W funkcji wypisujące liczby powyżej średniej utwórz zmienną przechowującą średnią z funkcji średnia i po prostu ją porównuj do liczb z tablicy, tak jak to pokazałem wyżej :).

 

Powiem szczerze, siedziałem przy tym programie chwilę zanim zauważyłem ten drobny mankament, no cóż, nie wszystko jest takie jasne na pierwszy rzut oka :).


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Opublikowano

Sprawdzanie ile elementów jest większych od średniej to możesz zrobić sobie jakiś licznik=0 i w funkcji sprawdzającej czy dany element w tablicy jest większy od średniej dodać inkrementacje licznika.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...