Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Program nie chce sumować wartości tablicy

Ostatnio zmodyfikowano 2011-11-16 22:29
Autor Wiadomość
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??
C/C++
#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 //TU WSZYSTKO JEST OK
    {
        liczba[ index ] = wylosuj( 4, 10 );
        cout << "Index to: " << index << " liczba to " << liczba[ index ] << endl;
        index++;
    } while( index < 10 );
   
    do //GDZIEŚ TU JEST PROBLEM!
    {
        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:
C/C++
int main()
{
    srand( time( NULL ) );
    int liczba = 0;
    int tablica[ 10 ];
    int suma = 0;
   
    tablica[ 0 ] = 5;
    tablica[ 1 ] = 10;
   
    suma = suma + tablica[ liczba ]; //TEN SAM KOD CO WCZEŚNIEJ, A TU DZIAŁA PRAWIDŁOWO
    liczba++;
   
    suma = suma + tablica[ liczba ];
    cout << suma << endl;
    return 0;
}
Patrze, patrze i nie widzę w czym tkwi problem.
P-44136
malan
» 2011-11-15 23:30:40
C/C++
std::cout << "AKTUALNY index = " << index << std::endl;

do //GDZIEŚ TU JEST PROBLEM!
{
    suma = suma + liczba[ index ];
    index++;
} while( index < 10 );
P-44137
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.
P-44183
« 1 »
  Strona 1 z 1