Valgrind i błędy

0

Siema!
Na ostatnich zajęciach na labach z cpp do napisania program który robił kilka rzeczy. Niestety mój program został wyzerowany ponieważ prowadzącemu valgrind zwrócił jakieś błędy, no i dwie godziny roboty poszły do piachu. Wtedy pisałem na windowsie i nie miałem dostępu do valgrinda. Sam program działa i nie zwraca żadnych błędów. Może mógłby ktoś pomóc rozszyfrować co zawaliłem? Jeżeli ktoś ma jeszcze jakieś uwagi do kodu to chętnie przyjmę. :)

Tutaj kod:
https://pastebin.com/gb6tLQHT

A tu valgrind:
https://scr.hu/Gwq4L9

2

no i dwie godziny roboty poszły do piachu

Całe studia poszły do piachu sądząc po kodzie.

double bubble(double *t,int el){
    double tmp;
    for(int i=0; i<el; i++){
        for(int j=0; j<el-i; j++){
            if(t[j-1]>t[j])
                swapp(t,j-1,j);
        }
   
    }
}

Tutaj: if(t[j-1]>t[j]) masz czytanie -1 offsetu tablicy (czyli wyjście poza zakres tablicy) - ze względu na to, że j w pierwszej iteracji jest równe 0, a po odjęciu 1 - wiadomo. Valgrind ładnie ci pokazał gdzie jest błąd.

1 użytkowników online, w tym zalogowanych: 0, gości: 1