Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Pobieranie elementów większych od średniej z tablicy statycznej do tablicy dynamicznej.

Ostatnio zmodyfikowano 2017-01-12 21:07
Autor Wiadomość
joshmx
Temat założony przez niniejszego użytkownika
[C++] Pobieranie elementów większych od średniej z tablicy statycznej do tablicy dynamicznej.
» 2017-01-12 19:24:16
Witam,

Tak jak pisałem w temacie, mam problem z przesłaniem elementów większych od średniej z wcześniej utworzonej tablicy statycznej do tablicy dynamicznej.
C/C++
#include <iostream>
#include <ctime>
#include <cmath>
#include <cstdlib>

using namespace std;

int main()
#include <iostream>
#include <ctime>
#include <cmath>
#include <cstdlib>

using namespace std;

int main()
{
    const int N = 10;
    const int G = 50;
    const int D = 1;
    const int K = 2;
    int srednia;
    int suma = 0;
    int q;
   
   
    srand( time( 0 ) );
    int tab[ N ];
    for( int i = 0; i < N; i++ )
    {
        tab[ i ] = D + rand() %( G - D + 1 );
    }
   
    for( int i = 0; i < N; i++ )
    {
        if( i % K == 0 )
        {
            cout << tab[ i ] << ' ';
        }
        else
        {
            cout << tab[ i ] << '\n';
        }
    }
    suma = suma + tab[ i ];
    srednia = suma / N;
    cout << "srednia wynosi " << srednia << endl;
   
    for( i = 0; i > srednia; i++ )
    {
        int * tablica = new int[ 10 ];
       
       
       
       
       
       
       
       
        delete[] tablica;
    }

Prosiłbym o jakiekolwiek wskazówki bądź porady
Pozdrawiam,
joshmx
P-156365
mokrowski
» 2017-01-12 20:57:23
Dostałeś dobre rozwiązanie w poprzednim poście. Wystarczyło je rozbudować:
C/C++
#include <iostream>
#include <ctime>
#include <cmath>
#include <cstdlib>

int main() {
    const int N = 10;
    const int G = 50;
    const int D = 1;
    const int K = 2;
   
    srand( time( 0 ) );
    int tab[ N ];
   
    // Wypełnienie tablicy wartościami.
    for( int i = 0; i < N; ++i ) {
        tab[ i ] = D + rand() %( G - D + 1 );
    }
   
    // Wyświelenie zawartości tablicy po K w linii.
    for( int i = 0; i < N; ++i ) {
        std::cout << tab[ i ]
        <<(( i % K ) ==( K - 1 ) ? '\n'
            : ' ' );
    }
   
    // Obliczenie średniej.
    int suma = 0;
    for( int i = 0; i < N; ++i ) {
        // Tu liczenie średniej
    }
    int srednia = suma / N;
   
    // Wyświetlenie wartości z tablicy większej niż średnia.
    for( int i = 0; i < N; ++i ) {
        // Sprawdzenie czy wartość jest większa niż średnia i jej wyświetlenie.
    }
}
P-156368
karambaHZP
» 2017-01-12 21:07:11
C/C++
suma = suma + tab[ i ];
Ta część powinna być w pętli, bo teraz na pewno nie liczy sumy elementów tablicy.
Obecnie jest błąd: zmienna
i
 jest niezadeklarowana.

C/C++
for( i = 0; i > srednia; i++ )
{
    int * tablica = new int[ 10 ];
    delete[] tablica;
}
Ten kod nie ma sensu. W kółko alokować i zwalniać pamięć.
Gdyby nawet coś było do tablicy wstawiane i tak po wyjściu z pętli tego już nie będzie.

Do poczytania.
» Kurs C++ » Poziom 2Tablice jednowymiarowe lekcja
» Kurs C++Dynamiczne zarządzanie pamięcią new i delete lekcja
» Kurs C++ » Poziom 2Przekazywanie tablic jednowymiarowych do funkcji lekcja
» Kurs C++ » Poziom 1Pojęcie zmiennej i podstawowe typy danych lekcja
P-156369
« 1 »
  Strona 1 z 1