Przykładowe dane:
Macierz wczytana z pliku:

10 50 0 0
50 97 0 0
0 0 92 0
0 0 0 21
Liczba elementów niezerowych:6
Macierz jest przechowywana w 3ch wektorach:
Wartosci niezerowe:
war =[ 10 50 50 97 92 21 ]
Kolumny w ktorych sie znajduja:
kol = [ 0 1 0 1 2 3 ]
Indeks pierwszego elementu w kolejnych wierszach:
w = [ 0 2 4 5 6 ]

tab1= [0 1 2 3]

chcialbym zrobić mnożenie macierzy przez wektor, a maciez przetrzymuje w postaci 3 wektorów.
znaczy musze znalezc sume mnożenia i-tego elementu z wektora war i wektora tab1[kol] i tak dla kazedego wiersza.
no i oczywiscie nie wychodzi.
w tym wypadku lw=4

 int i, j, h;
  double mnozenie[lw];
  for (i = 0; i < lw; i++)
    {
      for (h = 0; h <= lw+1 ; h++)
	{
	  for (j = w[h]; w[h + 1] - w[h]; j++)
	    {

	      mnozenie[i] += (war[j] * tab1[kol[j]]);

	    }
	}

    }

wynikiem jest: segmentation fault.
kiedy zmienie na h <= el, wynik to dziwne liczby.

z gory dziekuje za pomoc.