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

Program obliczający medianę i dominantę w języku C++ ?

–1 głos
11,282 wizyt
pytanie zadane 3 czerwca 2015 w C i C++ przez Serdelek Nowicjusz (120 p.)
Witam, pilnie potrzebuję 2 programów, pierwszy na liczenie mediany z tablicy liczb losowych, a drugi liczący dominantę. Wczytane liczby losowe pierw trzeba posortować dowolnym sposobem, a potem wyliczyć mediane i dominante. Program musi byc w jak najprostszej formie. Z góry dzięki za wszystkie wskazówki i pomoc ! :)

2 odpowiedzi

+8 głosów
odpowiedź 3 czerwca 2015 przez Kuba Stary wyjadacz (12,460 p.)
30 złotych.

No, chyba że że ruszysz tyłek i zaczniesz działać sam, to pomożemy.
komentarz 3 czerwca 2015 przez Pan Kulomb Pasjonat (18,630 p.)
Nie rób za darmowego informatyka, 100zł to minimum.
komentarz 3 czerwca 2015 przez Eryk Andrzejewski Mędrzec (165,260 p.)
100zł za napisanie programu?! Ludzie, ze 250 to okej, ale 100?!
komentarz 3 czerwca 2015 przez Pan Kulomb Pasjonat (18,630 p.)
250zł też ok :D
0 głosów
odpowiedź 3 czerwca 2015 przez PgK Obywatel (1,380 p.)

Nie jestem ekspertem i program ten może zawierać jakieś błędy. Użyłem sortowania bąbelkowego z dwoma odbijaczami (akurat taki miałem pod ręką), a ty możesz użyć czego sobie zapragniesz.

 

#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;

void uzupelnienie (int*tab, int n);
void wypisanie (int*tab, int n);
void bouble_sort(int *tab, int n)

void mediana (int *tab, int n)
{
    float mediana;
    if (n%2 == 0)
    {
        mediana = tab[(n-1)/2]+tab[n/2];
        mediana = mediana/2;
    }
    else
    {
        mediana = tab [n/2];
    }
    cout << "Mediana wynosi: " << mediana << endl;
}
void dominanta (int *tab, int n)
{
    int dominanta_ilosc = 0;
    int dominanta_wartosc = 0;
    int licznik = 0;
    int i = 0;
    while (i < n)
    {
        while ((tab[i] == tab [i+1]) && (i < n))
        {
            i++;
            licznik++;
        }
        if (licznik > dominanta_ilosc)
        {
            dominanta_ilosc = licznik;
            dominanta_wartosc = tab[i-1];
        }
     licznik = 0;
     i++;
    }
    cout << "Dominanta: " << dominanta_wartosc << endl;
}
//*******************************MAIN***********************************
int main()
{
    int n;
    cout << "Ile elementow ma zawierac tablica ";
    cin >> n;

    int *tab = new int [n];
    srand(time(NULL));
    uzupelnienie(tab,n);
    wypisanie (tab,n);
    bouble_sort(tab,n);
    
    mediana (tab,n);
    dominanta (tab,n);
    
    cout << endl;
    wypisanie(tab,n);

    return 0;
}
//**********************************************************
void uzupelnienie (int*tab, int n)
{
    for (int i = 0 ; i < n ; i++)
    {
        tab [i] = rand()%100 + 1;
    }
    cout << endl;
}
//**********************************************************
void wypisanie (int*tab, int n)
{
    for (int i = 0 ; i < n ; i++)
    {
        cout << "[" << tab[i] << "] ";
    }
    cout << endl;
}
//*********************************************************************
void bouble_sort(int *tab, int n)
{   int k = 0;
    int j = 0;
    int pom;
    for (int i = 0 ; i < n ; i++)
    {
        for (j = k ; j < n - (i+1) ; j++)
        {
            if (tab[j+1] < tab [j])
            {
                pom = tab [j+1];
                tab [j+1] = tab [j];
                tab [j] = pom;
            }
        }
        for (k = j - 1 ; k > i ; k--)
        {
            if (tab [k] < tab [k-1])
            {
                pom = tab [k];
                tab [k] = tab [k-1];
                tab [k-1] = pom;
            }
        }
        k++;
    }
}

Podobne pytania

0 głosów
1 odpowiedź 599 wizyt
pytanie zadane 30 grudnia 2015 w C i C++ przez Ciri Gaduła (3,380 p.)
0 głosów
1 odpowiedź 345 wizyt
pytanie zadane 15 kwietnia 2021 w C i C++ przez Monika02 Początkujący (270 p.)
0 głosów
1 odpowiedź 352 wizyt
pytanie zadane 21 stycznia 2021 w C i C++ przez qwerty2021 Nowicjusz (210 p.)

88,724 zapytań

137,336 odpowiedzi

306,832 komentarzy

58,909 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...