int main() { float x[ 10 ]; int i, n, w, w2, min, max, p, p1; float srednia; printf( "podaj rozmiar\n" ); scanf( "%i", & n ); printf( "podaj %i liczb\n", n ); for( i = 0; i < n; i = i + 1 ) { printf( "x[%i]=", i ); scanf( "%f", & x[ i ] ); } printf( "wczytano tablice\n" ); for( i = 0; i < n; i = i + 1 ) { printf( "\n[%i]=%.1f", i, x[ i ] );
} w = 0; w2 = 0; srednia = 0;
for( i = 0; i < n; i = i + 1 ) { //liczy srednia w += x[ i ];
srednia = w / n; } printf( "\n wynik srednia %f", srednia );
for( i = 0; i < n; i = i + 1 ) {
if( x[ i ] > srednia ) w2 = w2 + 1; // ilość elementów , które są większe od średniej
@qwertyc: W C? Trzeba zrobić nową tablicę, i pamiętać numer, pod którym ostatnio zapisałeś jakiś element. W C++ wystarczy zadeklarować vector i użyć funkcji push_back
@qwertyc przed pętla for ja bym zrobił tablica[j]=null, j=0, a w pętli for szukał wyrazów i wtedy tablica j+1 = tablica j , nowy element. Trochę pseudokod ale mam nadzieję że zrozumiałe i chyba powinno działać, jak nie to w kolejnej pętli trzeba by elementy posklejac.
@progressive @qwertyc a jednak inaczej tablica j = tablica j-1 , nowy element; j++ w pętli i chyba if dla j = 0, bo nie wiem co się stanie jak dasz tablice [-1]
W jaki sposób ilość elementów , które są większe od średniej zapisać do nowej tablicy?
#include
#include
int main()
{
float x[ 10 ];
int i, n, w, w2, min, max, p, p1;
float srednia;
printf( "podaj rozmiar\n" );
scanf( "%i", & n );
printf( "podaj %i liczb\n", n );
for( i = 0; i < n; i = i + 1 ) {
printf( "x[%i]=", i );
scanf( "%f", & x[ i ] );
}
printf( "wczytano tablice\n" );
for( i = 0; i < n; i = i + 1 ) {
printf( "\n[%i]=%.1f", i, x[ i ] );
}
w = 0;
w2 = 0;
srednia = 0;
for( i = 0; i < n; i = i + 1 ) {
//liczy srednia
w += x[ i ];
srednia = w / n;
}
printf( "\n wynik srednia %f", srednia );
for( i = 0; i < n; i = i + 1 )
{
if( x[ i ] > srednia )
w2 = w2 + 1;
// ilość elementów , które są większe od średniej
}
printf( "\n wynik %i ", w2 );
return 0;
}
#programowanie
@qwertyc a jednak inaczej tablica j = tablica j-1 , nowy element; j++ w pętli i chyba if dla j = 0, bo nie wiem co się stanie jak dasz tablice [-1]
Nie wiem, na ile znasz C, więc nie chciałem się bawić w strukturę dla tablicy i jej długości, aby uprościć listę argumentów funkcji
filter_values_above_average.