在尝试计算表中元素总和时,我的C ++代码崩溃了

时间:2017-02-17 13:08:54

标签: c++ arrays function sum

我试图使用int函数计算表中元素的总和。这是我的代码

#include <iostream>
#include <cstdlib>
#include <ctime>

void wylosujLiczby ( int tablica[], int iRozmiar, int pocz, int kon )
{
    int i = 0;
    do
    {
        srand( time ( NULL ) );
        tablica [ i ] = ( ( std::rand() % ( kon - pocz ) ) + pocz );
        i++;
    } while ( i < iRozmiar );
}

void wypiszLiczby ( int tablica[], int iRozmiar )
{
    int i = 0;
    do
    {
        std::cout << "Liczba nr " << i << ": " << tablica [ i ] << std::endl;
        i++;
    } while ( i < iRozmiar );
}

int obliczSume ( int tablica[], int iRozmiar )
{
    int i, suma = 0;
    do
    {
        suma += tablica[ i ];
        i++;
    } while ( i < iRozmiar );

    return suma;
}

int main()
{
    int tablica[ 999 ];
    wylosujLiczby( tablica, 999, 4, 10 );
    wypiszLiczby( tablica, 999 );
    int iSuma = obliczSume( tablica, 999 );
    std::cout << "Suma liczb wynosi: " << iSuma << std::endl;
    std::cout << tablica[ 991 ];
    return 0;
}

使用Codeblocks,它可以正确编译,但是在打印完所有值后应用程序崩溃。我犯了什么错误?

1 个答案:

答案 0 :(得分:1)

问题在于:

int i, suma = 0;

您还需要设置i = 0:

int i = 0, suma = 0;