Wartosc bezwzgledna zmiennych z tablic
Ostatnio zmodyfikowano 2015-06-07 11:35
Hedonist Temat założony przez niniejszego użytkownika |
Wartosc bezwzgledna zmiennych z tablic » 2015-06-07 00:06:21 Na wstepie zaznaczam ze jestem zielony i stawiam pierwsze kroki. Stworzyłem program który pobiera 5 liczb, nastepnie liczy ich srednią i wartosci bezwzgledne poszczególnych liczb. Problem: W miejscu gdzie powinna byc wyswietlana wartosc bezwzgledna ostatniej zmiennej w tablicy (L[4]), program wyswietla wartosc bezwzgledną sumy wszystkich zmiennych zawartych w tablicy. Problem pojawia się po linijce: suma =( L[ 0 ] + L[ 1 ] + L[ 2 ] + L[ 3 ] + L[ 4 ] );
i nie moge=ę odszukać przyczyny Cały kod: #include <iostream>
using namespace std;
float w_bezwzg( float w ) { if( w < 0 ) return - w; else return w; }
int main() { float L[ 4 ], suma; int i, j; cout << "Podaj kolejno 5 liczb rzeczywistych!" << endl << endl; for( i = 0; i < 5; i++ ) { cout << "liczba nr " << i + 1 << ": "; cin.sync(); cin >> L[ i ]; if( cin.fail() ) { cout << "Miala byc liczba rzeczywista!" << endl; return 0; } cout << endl; } suma =( L[ 0 ] + L[ 1 ] + L[ 2 ] + L[ 3 ] + L[ 4 ] ); cout << "Srednia z podanych liczb to: " << suma / 5 << endl; for( j = 0; j <= 4; j++ ) { cout << "Wartosc bezwzgledna liczby nr " << j + 1 << " to: " << w_bezwzg( L[ j ] ) << endl; } return 0; }
|
|
michal11 |
» 2015-06-07 01:16:53 Wychodzisz poza zakres tablicy. Dodam, ze twoja tablica nie pomieści 5 elementów. |
|
Hedonist Temat założony przez niniejszego użytkownika |
» 2015-06-07 11:32:43 zwiększyłem tablice o 1 miejsce (L[5]) i rzeczywiście działa, dzieki
Ale wydaje mi się, że L[4] powinna pomiescic 5 zmiennych: L[0] L[1] L[2] L[3] L[4]
Prawdopodobnie przeoczyłem coś z teorii, naprowadzi mnie ktos?
// domyslilem sie, w nawiasach kwadratowych podajemy liczbe elementów a nie numer ostatniej zmiennej, dzieki za pomoc ;)! |
|
BadBullPL |
» 2015-06-07 11:35:07 Masz racje numeracja zaczyna się od 0 ale zawsze kończy się na liczbie o 1 mniejszej |
|
« 1 » |