Problem z tablicami
Ostatnio zmodyfikowano 2019-05-22 21:41
Panniikt Temat założony przez niniejszego użytkownika |
Problem z tablicami » 2019-05-20 21:01:33 Witajcie Mam takie zadanie a właściwie jego część. e. następnie wczytuje jeszcze N liczb całkowitych (N – stała całkowita) i drukuje, ile z nich różniło się co najwyżej o stałą rzeczywistą G od średniej tych N liczb (to wymaga zastosowania tablicy jednowymiarowej). Rozumiem że mam tutaj sprawdzic ile liczb jest różnych od średniej o wartość nie większą od stałej rzeczywistej g. Stałą wczytuję cin'em. Ale za cholerę nie mogę dojść jak porównać te liczby z tablicy oto co udało mi się wymyślić, niestety nie dział to poprawnie #include <iostream> #include <cstdlib>
using namespace std;
int main( int argc, char * argv[] ) { int a; int naj; int b; int c = 0; int d; double srednia = 0; int tab[ 5 ]; int z_pomocnicza = 0; double roznica; cout << "No i czas na czwarta czesc. Zaczynamy" << endl; cout << "Podaj stala ktorej uzyjemy do porownania ze srednia wczytanych liczb " << endl; cin >> d; cout << endl; cout << "Wczytaj 5 liczb calkowitych do tablicy " << endl; for( int i = 0; i <= 4; i++ ) { cin >> tab[ i ]; srednia += tab[ i ]; } srednia = srednia / 5; cout << "srednia " << srednia << endl; for( int i = 0; i <= 4; i++ ) { if( tab[ i ] != srednia ) roznica = tab[ i ] - srednia; if( roznica < d ) { z_pomocnicza++; } } cout << z_pomocnicza << endl; system( "pause" ); return 0; }
|
|
pekfos |
» 2019-05-20 21:30:29 for( int i = 0; i <= 4; i++ ) { if( tab[ i ] != srednia ) roznica = tab[ i ] - srednia; if( roznica < d ) { z_pomocnicza++; } } cout << z_pomocnicza << endl; |
Po do obliczasz różnicę warunkowo? Jeśli jej nie obliczysz, porównujesz niezwiązane rzeczy. Do tego chcesz porównywać wartość bezwzględną różnicy, a nie o samą różnicę. |
|
Panniikt Temat założony przez niniejszego użytkownika |
» 2019-05-21 22:29:33 A możesz mi to trochę bardziej patologicznie wytłumaczyć lub podpowiedzieć bo dalej z tym leżę. |
|
Jacob99 |
» 2019-05-22 08:03:52 Usuń if-a. Zamiast if( tab[ i ] != srednia ) roznica = tab[ i ] - srednia napisz samo roznica = tab[ i ] - srednia |
|
Panniikt Temat założony przez niniejszego użytkownika |
» 2019-05-22 21:41:31 Czasami rozwiązanie przychodzi samo. Zrobione. Temat do zamkniecia. |
|
« 1 » |