Program nie chce sumować wartości tablicy
Ostatnio zmodyfikowano 2011-11-16 22:29
Slonzok Temat założony przez niniejszego użytkownika |
Program nie chce sumować wartości tablicy » 2011-11-15 23:15:40 Witam, program zamiast wypisywać sumę wartości tablicy, wypisuje max index tablicy. Dlaczego?? #include <iostream> #include <ctime> #include <cstdlib> using namespace std;
int wylosuj( int start, int stop ) { stop = stop - start + 1; int liczba =( rand() % stop ) + start; return liczba; }
int main() { srand( time( NULL ) ); int liczba[ 10 ]; int index = 0; int suma = 0; do { liczba[ index ] = wylosuj( 4, 10 ); cout << "Index to: " << index << " liczba to " << liczba[ index ] << endl; index++; } while( index < 10 ); do { suma = suma + liczba[ index ]; index++; } while( index < 10 ); cout << "Wynik to: " << suma << endl; return 0; }
Rezultat działania programu: Index to: 0 liczba to: 6 Index to: 1 liczba to: 6 Index to: 2 liczba to: 9 Index to: 3 liczba to: 5 Index to: 4 liczba to: 9 Index to: 5 liczba to: 4 Index to: 6 liczba to: 6 Index to: 7 liczba to: 4 Index to: 8 liczba to: 6 Index to: 9 liczba to: 8 Wynik to: 10
Próbowałem znaleźć błąd, pisząc taki kod: int main() { srand( time( NULL ) ); int liczba = 0; int tablica[ 10 ]; int suma = 0; tablica[ 0 ] = 5; tablica[ 1 ] = 10; suma = suma + tablica[ liczba ]; liczba++; suma = suma + tablica[ liczba ]; cout << suma << endl; return 0; }
Patrze, patrze i nie widzę w czym tkwi problem. |
|
malan |
» 2011-11-15 23:30:40 std::cout << "AKTUALNY index = " << index << std::endl;
do { suma = suma + liczba[ index ]; index++; } while( index < 10 ); |
|
Slonzok Temat założony przez niniejszego użytkownika |
» 2011-11-16 22:29:22 Aaa, teraz wszystko jasne, wystarczy ustawić index = 0; to takie oczywiste że aż wstyd. Moim zdaniem najtrudniejszym zadaniem programisty to znalezienie błędów logicznych. Dzięki. Zamykam temat. |
|
« 1 » |