Obliczanie sumy elementów tablicy z przedziału.
Ostatnio zmodyfikowano 2014-01-22 10:48
ppp47676 Temat założony przez niniejszego użytkownika |
Obliczanie sumy elementów tablicy z przedziału. » 2014-01-20 14:45:27 Siema! Mam napisać program, który wczytuje tablicę 8 liczb rzeczywistych i wypisuje jej elementy na ekranie monitora. Następnie program oblicza sumę elementów tablicy, które należą do przedziału [-5,10] oraz wypisuje ją na ekranie. I dlaczego cały czas wyświetla mi się suma 44? #include <cstdlib> #include <iostream>
using namespace std;
int main( int argc, char * argv[] ) { int tab1[ 8 ]; int i; cout << "Podaj 8 liczb rzeczywistych" << endl; for( i = 0; i < 8; i++ ) { cin >> tab1[ i ]; } system( "cls" ); cout << "Wpisales elementy: "; for( i = 0; i < 8; i++ ) { cout << tab1[ i ] << ","; } cout << "\n" << endl; int suma = 0; if( i >=- 5 && i <= 10 ) { suma += suma + tab1[ i ]; } cout << "Suma liczb z przedzialu [-5,10] wynosi: " << suma << endl; system( "PAUSE" ); return EXIT_SUCCESS; }
|
|
pekfos |
» 2014-01-20 15:12:00 int nie jest do liczb rzeczywistych, wychodzisz poza tablicę i sumujesz jeden element. |
|
ppp47676 Temat założony przez niniejszego użytkownika |
» 2014-01-20 15:13:01 właśnie też tak myslałem ale nie wiem co dać zamiast int |
|
SeaMonster131 |
» 2014-01-20 15:27:01 suma += suma + tab1[ i ];
Oprócz tego, że sumujesz jeden element, musisz zrobić albo suma = suma + tab1[ i ]; albo suma += tab1[ i ]; . |
|
ppp47676 Temat założony przez niniejszego użytkownika |
» 2014-01-21 11:58:42 dalej wychodzi 44 |
|
leon_w |
» 2014-01-21 15:39:20 if( i >=- 5 && i <= 10 ) { suma += suma + tab1[ i ]; }
|
1. Odwołujesz się do licznika, a nie do liczb w tablicy. 2. Musisz to zrobić w pętli. 3. Popraw sumę, tak jak napisał @SeaMonster1314. Możesz użyć typu float lub double. |
|
ppp47676 Temat założony przez niniejszego użytkownika |
» 2014-01-22 10:48:00 ok dzięki wszystkim
|
|
« 1 » |